|On this page|
In USD, a value clip is a way of storing data sets in separate files.
This allows you to split large data across multiple files. For example, simulations or other animated data where the size of each time sample is so large that authoring all time samples to a single file is unwieldy (such as in terms of required network bandwidth).
Value clips are also useful in situations where you may have a library of animation clips which need to be run in a sequence or a loop. Often different primitives can share animation clips, but assemble the clips in different ways to create the appearance of variation.
Value clips allow flexibility in composing layer overrides. USD value resolution stipulates that the first (strongest) layer that contains any
timeSamplefor an attribute is the source of all
timeSamplesfor the attribute. This is often fine, but for huge numbers of timeSamples you may need more flexibility.
You should read the USD documentation for value clips to understand how they work and how you can use them:
This node provides a way of authoring a value clip composition arc in USD. Future versions of Solaris may have more tools for working with and using value clips at a higher level.
An alternative to using the Value Clip LOP is to use the USD Stitch Clips ROP to author a USD layer file containing a value clip definition that you can reference into a scene. This approach has the benefit that it also creates a topology layer and a manifest layer, which can improve the performance of the value clip composition.
A sequence of '.bgeo' or similar non-native USD files can be loaded directly as value clips, however you must ensure that each geometry file generate its USD attribute data with the correct time sample. This can be achieved by writing the time value into the geometry file as a detail attribute created by the USD Configure SOP. Or, the time value can be specified by appending arguments to the geometry file path with the suffix '/tmp/file.$F4.bgeo.sc:SDF_FORMAT_ARGS:sampleframe=$F'.
The scene graph path of the prim on which to author a reference to the value clip. If the specified primitive does not exist, the node will create it with no primitive type (the primitive type will come from the value clip file).
If the prim at Primitive path didn’t already exist so this node has to create it, the node sets this as the new prim’s kind.
Parent Primitive Type
If any parents of the path in Primitive path do not exist, this node will automatically create them. In this case, it will create parent nodes of this type.
The name of the “clip set” the value clip belongs to (multiple “clip sets” can exist on a single prim).
Clip Primitive Path
The path of a prim within the value clip file that should be mapped onto Primitive path when accessing values.
The file path to an optional manifest file that specifies exactly which primitives and values should be brought in from the value clip files. Providing this file helps the USD framework optimize value clip resolution. See the USD documentation for more information about the manifest file.
The frame on the current stage at which the value clip resolution should start.
First Clip Start Frame
When this is turned on, it sets a different start time within the value
clip files. When this is turned off, the nodes uses the Start frame parameter as the clip start time.
Clip Time Scale
A scale factor applied to the time samples read in from the clip files.
Loop Until Frame
To create a repeating loop of the specified clip files, turn on this parameter and set it to the end frame of the loop. (USD does not natively support looping of animation or value clips, so this node explicitly authors all provided clips repeatedly until the requested loop end time is reached.)
Number of Clips
You can add references to multiple clip files in one node. Set this to the number of clips to reference, or click the plus and minus buttons to add or remove clips.
Clip File or Sequence
The file path to this value clip file. This path can include number-sign (
#) characters to perform numeric substitutions in a loop. For example, on disk there may be multiple files named
sim_0002.usd and so on, each containing one frame of animation. In this case you could use
sim_####.usd. Numeric substitution only happens if File sequence count is turned on. See File sequence count, File index start, and File index step below.
For example, if you turn on File sequence count and set Clip file or sequence to
sim_####.usd, File index start to
10, File index step to
2, and File sequence count to
3, the node will try to load
If you use numeric substitution, each file must have the same number of
frames of animation (File duration).
The number of frames for which this clip file is active. If the Clip file or sequence path matched multiple files through numeric substitution, each clip file will get this same duration.
File Sequence Count
If you turn this on, the node evaluates the Clip file or sequence filename with numeric substitution this many times, starting the number at File index start and increasing the number each time by File index step.
File Index Start
When File sequence count is turned on, the node evaluates the Clip file or sequence multiple times with numeric substitution, starting at this number.
File Index Step
When File sequence count is turned on, the node evaluates the Clip file or sequence multiple times with numeric substitution, incrementing the number by this many each time.