354 lines
16 KiB
Plaintext
354 lines
16 KiB
Plaintext
|
|
#usda 1.0
|
||
|
|
(
|
||
|
|
"WARNING: THIS FILE IS GENERATED BY usdGenSchema. DO NOT EDIT."
|
||
|
|
)
|
||
|
|
|
||
|
|
class SkelRoot "SkelRoot" (
|
||
|
|
doc = '''Boundable prim type used to identify a scope beneath which
|
||
|
|
skeletally-posed primitives are defined.
|
||
|
|
|
||
|
|
A SkelRoot must be defined at or above a skinned primitive for any skinning
|
||
|
|
behaviors in UsdSkel.
|
||
|
|
|
||
|
|
See the extended "Skel Root Schema" documentation for
|
||
|
|
more information.'''
|
||
|
|
)
|
||
|
|
{
|
||
|
|
float3[] extent (
|
||
|
|
doc = """Extent is a three dimensional range measuring the geometric
|
||
|
|
extent of the authored gprim in its own local space (i.e. its own
|
||
|
|
transform not applied), without accounting for any shader-induced
|
||
|
|
displacement. Whenever any geometry-affecting attribute is authored
|
||
|
|
for any gprim in a layer, extent must also be authored at the same
|
||
|
|
timesample; failure to do so will result in incorrect bounds-computation.
|
||
|
|
\\sa \\ref UsdGeom_Boundable_Extent.
|
||
|
|
|
||
|
|
An authored extent on a prim which has children is expected to include
|
||
|
|
the extent of all children, as they will be pruned from BBox computation
|
||
|
|
during traversal."""
|
||
|
|
)
|
||
|
|
rel proxyPrim (
|
||
|
|
doc = '''The proxyPrim relationship allows us to link a
|
||
|
|
prim whose purpose is "render" to its (single target)
|
||
|
|
purpose="proxy" prim. This is entirely optional, but can be
|
||
|
|
useful in several scenarios:
|
||
|
|
|
||
|
|
- In a pipeline that does pruning (for complexity management)
|
||
|
|
by deactivating prims composed from asset references, when we
|
||
|
|
deactivate a purpose="render" prim, we will be able to discover
|
||
|
|
and additionally deactivate its associated purpose="proxy" prim,
|
||
|
|
so that preview renders reflect the pruning accurately.
|
||
|
|
|
||
|
|
- DCC importers may be able to make more aggressive optimizations
|
||
|
|
for interactive processing and display if they can discover the proxy
|
||
|
|
for a given render prim.
|
||
|
|
|
||
|
|
- With a little more work, a Hydra-based application will be able
|
||
|
|
to map a picked proxy prim back to its render geometry for selection.
|
||
|
|
|
||
|
|
\\note It is only valid to author the proxyPrim relationship on
|
||
|
|
prims whose purpose is "render".'''
|
||
|
|
)
|
||
|
|
uniform token purpose = "default" (
|
||
|
|
allowedTokens = ["default", "render", "proxy", "guide"]
|
||
|
|
doc = """Purpose is a classification of geometry into categories that
|
||
|
|
can each be independently included or excluded from traversals of prims
|
||
|
|
on a stage, such as rendering or bounding-box computation traversals.
|
||
|
|
|
||
|
|
See for more detail about how
|
||
|
|
purpose is computed and used."""
|
||
|
|
)
|
||
|
|
token visibility = "inherited" (
|
||
|
|
allowedTokens = ["inherited", "invisible"]
|
||
|
|
doc = '''Visibility is meant to be the simplest form of "pruning"
|
||
|
|
visibility that is supported by most DCC apps. Visibility is
|
||
|
|
animatable, allowing a sub-tree of geometry to be present for some
|
||
|
|
segment of a shot, and absent from others; unlike the action of
|
||
|
|
deactivating geometry prims, invisible geometry is still
|
||
|
|
available for inspection, for positioning, for defining volumes, etc.'''
|
||
|
|
)
|
||
|
|
uniform token[] xformOpOrder (
|
||
|
|
doc = """Encodes the sequence of transformation operations in the
|
||
|
|
order in which they should be pushed onto a transform stack while
|
||
|
|
visiting a UsdStage's prims in a graph traversal that will effect
|
||
|
|
the desired positioning for this prim and its descendant prims.
|
||
|
|
|
||
|
|
You should rarely, if ever, need to manipulate this attribute directly.
|
||
|
|
It is managed by the AddXformOp(), SetResetXformStack(), and
|
||
|
|
SetXformOpOrder(), and consulted by GetOrderedXformOps() and
|
||
|
|
GetLocalTransformation()."""
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
class Skeleton "Skeleton" (
|
||
|
|
doc = '''Describes a skeleton.
|
||
|
|
|
||
|
|
See the extended "Skeleton Schema" documentation for
|
||
|
|
more information.
|
||
|
|
'''
|
||
|
|
)
|
||
|
|
{
|
||
|
|
uniform matrix4d[] bindTransforms (
|
||
|
|
doc = """Specifies the bind-pose transforms of each joint in
|
||
|
|
**world space**, in the ordering imposed by *joints*."""
|
||
|
|
)
|
||
|
|
float3[] extent (
|
||
|
|
doc = """Extent is a three dimensional range measuring the geometric
|
||
|
|
extent of the authored gprim in its own local space (i.e. its own
|
||
|
|
transform not applied), without accounting for any shader-induced
|
||
|
|
displacement. Whenever any geometry-affecting attribute is authored
|
||
|
|
for any gprim in a layer, extent must also be authored at the same
|
||
|
|
timesample; failure to do so will result in incorrect bounds-computation.
|
||
|
|
\\sa \\ref UsdGeom_Boundable_Extent.
|
||
|
|
|
||
|
|
An authored extent on a prim which has children is expected to include
|
||
|
|
the extent of all children, as they will be pruned from BBox computation
|
||
|
|
during traversal."""
|
||
|
|
)
|
||
|
|
uniform token[] jointNames (
|
||
|
|
doc = """If authored, provides a unique name per joint. This may be
|
||
|
|
optionally set to provide better names when translating to DCC apps
|
||
|
|
that require unique joint names."""
|
||
|
|
)
|
||
|
|
uniform token[] joints (
|
||
|
|
doc = """An array of path tokens identifying the set of joints that make
|
||
|
|
up the skeleton, and their order. Each token in the array must be valid
|
||
|
|
when parsed as an SdfPath. The parent-child relationships of the
|
||
|
|
corresponding paths determine the parent-child relationships of each
|
||
|
|
joint. It is not required that the name at the end of each path be
|
||
|
|
unique, but rather only that the paths themselves be unique."""
|
||
|
|
)
|
||
|
|
rel proxyPrim (
|
||
|
|
doc = '''The proxyPrim relationship allows us to link a
|
||
|
|
prim whose purpose is "render" to its (single target)
|
||
|
|
purpose="proxy" prim. This is entirely optional, but can be
|
||
|
|
useful in several scenarios:
|
||
|
|
|
||
|
|
- In a pipeline that does pruning (for complexity management)
|
||
|
|
by deactivating prims composed from asset references, when we
|
||
|
|
deactivate a purpose="render" prim, we will be able to discover
|
||
|
|
and additionally deactivate its associated purpose="proxy" prim,
|
||
|
|
so that preview renders reflect the pruning accurately.
|
||
|
|
|
||
|
|
- DCC importers may be able to make more aggressive optimizations
|
||
|
|
for interactive processing and display if they can discover the proxy
|
||
|
|
for a given render prim.
|
||
|
|
|
||
|
|
- With a little more work, a Hydra-based application will be able
|
||
|
|
to map a picked proxy prim back to its render geometry for selection.
|
||
|
|
|
||
|
|
\\note It is only valid to author the proxyPrim relationship on
|
||
|
|
prims whose purpose is "render".'''
|
||
|
|
)
|
||
|
|
uniform token purpose = "default" (
|
||
|
|
allowedTokens = ["default", "render", "proxy", "guide"]
|
||
|
|
doc = """Purpose is a classification of geometry into categories that
|
||
|
|
can each be independently included or excluded from traversals of prims
|
||
|
|
on a stage, such as rendering or bounding-box computation traversals.
|
||
|
|
|
||
|
|
See for more detail about how
|
||
|
|
purpose is computed and used."""
|
||
|
|
)
|
||
|
|
uniform matrix4d[] restTransforms (
|
||
|
|
doc = """Specifies the rest-pose transforms of each joint in
|
||
|
|
**local space**, in the ordering imposed by *joints*. This provides
|
||
|
|
fallback values for joint transforms when a Skeleton either has no
|
||
|
|
bound animation source, or when that animation source only contains
|
||
|
|
animation for a subset of a Skeleton's joints."""
|
||
|
|
)
|
||
|
|
token visibility = "inherited" (
|
||
|
|
allowedTokens = ["inherited", "invisible"]
|
||
|
|
doc = '''Visibility is meant to be the simplest form of "pruning"
|
||
|
|
visibility that is supported by most DCC apps. Visibility is
|
||
|
|
animatable, allowing a sub-tree of geometry to be present for some
|
||
|
|
segment of a shot, and absent from others; unlike the action of
|
||
|
|
deactivating geometry prims, invisible geometry is still
|
||
|
|
available for inspection, for positioning, for defining volumes, etc.'''
|
||
|
|
)
|
||
|
|
uniform token[] xformOpOrder (
|
||
|
|
doc = """Encodes the sequence of transformation operations in the
|
||
|
|
order in which they should be pushed onto a transform stack while
|
||
|
|
visiting a UsdStage's prims in a graph traversal that will effect
|
||
|
|
the desired positioning for this prim and its descendant prims.
|
||
|
|
|
||
|
|
You should rarely, if ever, need to manipulate this attribute directly.
|
||
|
|
It is managed by the AddXformOp(), SetResetXformStack(), and
|
||
|
|
SetXformOpOrder(), and consulted by GetOrderedXformOps() and
|
||
|
|
GetLocalTransformation()."""
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
class SkelAnimation "SkelAnimation" (
|
||
|
|
doc = '''Describes a skel animation, where joint animation is stored in a
|
||
|
|
vectorized form.
|
||
|
|
|
||
|
|
See the extended "Skel Animation"
|
||
|
|
documentation for more information.
|
||
|
|
'''
|
||
|
|
)
|
||
|
|
{
|
||
|
|
uniform token[] blendShapes (
|
||
|
|
doc = """Array of tokens identifying which blend shapes this
|
||
|
|
animation's data applies to. The tokens for blendShapes correspond to
|
||
|
|
the tokens set in the *skel:blendShapes* binding property of the
|
||
|
|
UsdSkelBindingAPI."""
|
||
|
|
)
|
||
|
|
float[] blendShapeWeights (
|
||
|
|
doc = """Array of weight values for each blend shape. Each weight value
|
||
|
|
is associated with the corresponding blend shape identified within the
|
||
|
|
*blendShapes* token array, and therefore must have the same length as
|
||
|
|
*blendShapes."""
|
||
|
|
)
|
||
|
|
uniform token[] joints (
|
||
|
|
doc = """Array of tokens identifying which joints this animation's
|
||
|
|
data applies to. The tokens for joints correspond to the tokens of
|
||
|
|
Skeleton primitives. The order of the joints as listed here may
|
||
|
|
vary from the order of joints on the Skeleton itself."""
|
||
|
|
)
|
||
|
|
quatf[] rotations (
|
||
|
|
doc = """Joint-local unit quaternion rotations of all affected joints,
|
||
|
|
in 32-bit precision. Array length should match the size of the
|
||
|
|
*joints* attribute."""
|
||
|
|
)
|
||
|
|
half3[] scales (
|
||
|
|
doc = """Joint-local scales of all affected joints, in
|
||
|
|
16 bit precision. Array length should match the size of the *joints*
|
||
|
|
attribute."""
|
||
|
|
)
|
||
|
|
float3[] translations (
|
||
|
|
doc = """Joint-local translations of all affected joints. Array length
|
||
|
|
should match the size of the *joints* attribute."""
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
class PackedJointAnimation "PackedJointAnimation" (
|
||
|
|
doc = "Deprecated. Please use SkelAnimation instead."
|
||
|
|
)
|
||
|
|
{
|
||
|
|
uniform token[] blendShapes (
|
||
|
|
doc = """Array of tokens identifying which blend shapes this
|
||
|
|
animation's data applies to. The tokens for blendShapes correspond to
|
||
|
|
the tokens set in the *skel:blendShapes* binding property of the
|
||
|
|
UsdSkelBindingAPI."""
|
||
|
|
)
|
||
|
|
float[] blendShapeWeights (
|
||
|
|
doc = """Array of weight values for each blend shape. Each weight value
|
||
|
|
is associated with the corresponding blend shape identified within the
|
||
|
|
*blendShapes* token array, and therefore must have the same length as
|
||
|
|
*blendShapes."""
|
||
|
|
)
|
||
|
|
uniform token[] joints (
|
||
|
|
doc = """Array of tokens identifying which joints this animation's
|
||
|
|
data applies to. The tokens for joints correspond to the tokens of
|
||
|
|
Skeleton primitives. The order of the joints as listed here may
|
||
|
|
vary from the order of joints on the Skeleton itself."""
|
||
|
|
)
|
||
|
|
quatf[] rotations (
|
||
|
|
doc = """Joint-local unit quaternion rotations of all affected joints,
|
||
|
|
in 32-bit precision. Array length should match the size of the
|
||
|
|
*joints* attribute."""
|
||
|
|
)
|
||
|
|
half3[] scales (
|
||
|
|
doc = """Joint-local scales of all affected joints, in
|
||
|
|
16 bit precision. Array length should match the size of the *joints*
|
||
|
|
attribute."""
|
||
|
|
)
|
||
|
|
float3[] translations (
|
||
|
|
doc = """Joint-local translations of all affected joints. Array length
|
||
|
|
should match the size of the *joints* attribute."""
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
class "SkelBindingAPI" (
|
||
|
|
doc = '''Provides API for authoring and extracting all the skinning-related
|
||
|
|
data that lives in the "geometry hierarchy" of prims and models that want
|
||
|
|
to be skeletally deformed.
|
||
|
|
|
||
|
|
See the extended "UsdSkelBindingAPI schema"
|
||
|
|
documentation for more about bindings and how they apply in a scene graph.
|
||
|
|
'''
|
||
|
|
)
|
||
|
|
{
|
||
|
|
matrix4d primvars:skel:geomBindTransform (
|
||
|
|
doc = '''Encodes the bind-time world space transforms of the prim.
|
||
|
|
If the transform is identical for a group of gprims that share a common
|
||
|
|
ancestor, the transform may be authored on the ancestor, to "inherit"
|
||
|
|
down to all the leaf gprims. If this transform is unset, an identity
|
||
|
|
transform is used instead.'''
|
||
|
|
)
|
||
|
|
int[] primvars:skel:jointIndices (
|
||
|
|
doc = """Indices into the *joints* attribute of the closest
|
||
|
|
(in namespace) bound Skeleton that affect each point of a PointBased
|
||
|
|
gprim. The primvar can have either *constant* or *vertex* interpolation.
|
||
|
|
This primvar's *elementSize* will determine how many joint influences
|
||
|
|
apply to each point. Indices must point be valid. Null influences should
|
||
|
|
be defined by setting values in jointWeights to zero.
|
||
|
|
See UsdGeomPrimvar for more information on interpolation and
|
||
|
|
elementSize."""
|
||
|
|
)
|
||
|
|
float[] primvars:skel:jointWeights (
|
||
|
|
doc = """Weights for the joints that affect each point of a PointBased
|
||
|
|
gprim. The primvar can have either *constant* or *vertex* interpolation.
|
||
|
|
This primvar's *elementSize* will determine how many joints influences
|
||
|
|
apply to each point. The length, interpolation, and elementSize of
|
||
|
|
*jointWeights* must match that of *jointIndices*. See UsdGeomPrimvar
|
||
|
|
for more information on interpolation and elementSize."""
|
||
|
|
)
|
||
|
|
rel skel:animationSource (
|
||
|
|
doc = """Animation source to be bound to Skeleton primitives at or
|
||
|
|
beneath the location at which this property is defined.
|
||
|
|
"""
|
||
|
|
)
|
||
|
|
uniform token[] skel:blendShapes (
|
||
|
|
doc = """An array of tokens defining the order onto which blend shape
|
||
|
|
weights from an animation source map onto the *skel:blendShapeTargets*
|
||
|
|
rel of a binding site. If authored, the number of elements must be equal
|
||
|
|
to the number of targets in the _blendShapeTargets_ rel. This property
|
||
|
|
is not inherited hierarchically, and is expected to be authored directly
|
||
|
|
on the skinnable primitive to which the blend shapes apply."""
|
||
|
|
)
|
||
|
|
rel skel:blendShapeTargets (
|
||
|
|
doc = """Ordered list of all target blend shapes. This property is not
|
||
|
|
inherited hierarchically, and is expected to be authored directly on
|
||
|
|
the skinnable primitive to which the the blend shapes apply."""
|
||
|
|
)
|
||
|
|
uniform token[] skel:joints (
|
||
|
|
doc = """An (optional) array of tokens defining the list of
|
||
|
|
joints to which jointIndices apply. If not defined, jointIndices applies
|
||
|
|
to the ordered list of joints defined in the bound Skeleton's *joints*
|
||
|
|
attribute. If undefined on a primitive, the primitive inherits the
|
||
|
|
value of the nearest ancestor prim, if any."""
|
||
|
|
)
|
||
|
|
rel skel:skeleton (
|
||
|
|
doc = """Skeleton to be bound to this prim and its descendents that
|
||
|
|
possess a mapping and weighting to the joints of the identified
|
||
|
|
Skeleton."""
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
class BlendShape "BlendShape" (
|
||
|
|
doc = '''Describes a target blend shape, possibly containing inbetween
|
||
|
|
shapes.
|
||
|
|
|
||
|
|
See the extended "Blend Shape Schema
|
||
|
|
documentation for information.
|
||
|
|
'''
|
||
|
|
)
|
||
|
|
{
|
||
|
|
uniform vector3f[] normalOffsets (
|
||
|
|
doc = """**Required property**. Normal offsets which, when added to the
|
||
|
|
base pose, provides the normals of the target shape."""
|
||
|
|
)
|
||
|
|
uniform vector3f[] offsets (
|
||
|
|
doc = """**Required property**. Position offsets which, when added to the
|
||
|
|
base pose, provides the target shape."""
|
||
|
|
)
|
||
|
|
uniform int[] pointIndices (
|
||
|
|
doc = """**Optional property**. Indices into the original mesh that
|
||
|
|
correspond to the values in *offsets* and of any inbetween shapes. If
|
||
|
|
authored, the number of elements must be equal to the number of elements
|
||
|
|
in the *offsets* array."""
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|