PixarAnimationStudios / OpenUSD

Universal Scene Description
http://www.openusd.org
Other
6.18k stars 1.23k forks source link

ValueClips do not play when using implicit instancing #3295

Open nanderson-cinesite opened 2 months ago

nanderson-cinesite commented 2 months ago

Description of Issue

We have encountered an issue when attempting to use implicit instancing with value clips. We are not certain if this is a bug or something we are doing wrong.

It appears that when a prim with a reference is set instanceable the value clips no longer playback.

The evidence that supports this being a bug is that the same value clip works if:

Included in the example:

Steps to Reproduce

  1. Apply a value clip to a reference that is set instanceable=true

System Information (OS, Hardware)

Package Versions

Build Flags

value_clip_example.zip

spiffmon commented 2 months ago

Hi Nicholas, without having looked at the repro yet, I can confirm that if value clips are applied on the same prim that is the instance root prim, that should absolutely work. If clips are applied on an ancestor prim of the instance root, we do expect them to “fall off” of the instance, just as data from a referenced layer on an ancestor would.

--spiffiPhone

On Tue, Sep 17, 2024 at 11:54 AM Nicholas Anderson @.***> wrote:

Description of Issue

We have encountered an issue when attempting to use implicit instancing with value clips. We are not certain if this is a bug or something we are doing wrong.

It appears that when a prim with a reference is set instanceable the value clips no longer playback.

The evidence that supports this being a bug is that the same value clip works if:

  • applied to a prototype of a point instancer
  • applied to a primitive that is set not instanceable
  • an explicit prototype local reference setup is used to compose the reference prim under (not sure is there is a name for this)

Included in the example:

  • "explicit_prototype_reference": prim using a local prototype that has variant selection set. This works but it seems hacky.
  • "implicit_instance": Asset with instanceable set to true that doesn't animate
  • "not_instanced": Asset with value clip variant set selection. Works as expected
  • "local_value_clip_instanced": value clip applied directly to a prim that is set instanceable. This doesn't work
  • "local_value_clip_not_instanced": Value clip applied directly to a prim that is not instanceable.
  • "Instancer": The same asset with value clips variant selection works when prototype of instancer.

Steps to Reproduce

  1. Apply a value clip to a reference that is set instanceable=true

System Information (OS, Hardware) Package Versions Build Flags

value_clip_example.zip https://github.com/user-attachments/files/17033595/value_clip_example.zip

— Reply to this email directly, view it on GitHub https://github.com/PixarAnimationStudios/OpenUSD/issues/3295, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPOU2HMOB7RC4TRAF4FHOTZXB3F7AVCNFSM6AAAAABOMDBDFWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGUZTCOBWGQ4TSNA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

jesschimein commented 2 months ago

Filed as internal issue #USD-10141