This element defines an individual modifier asset for a morph, a skin binding, a channel, or an application-defined modifier type.
Name | Description | Default | Required |
---|---|---|---|
id | A string representing the unique ID for this asset within current file scope. | None | yes |
name | A string representing the “internal” name for this object. Generally unique within any sibling modifiers. | “” | no |
label | A string representing the user-readable label for the modifier. | None | no |
source | A string representing the URI of the modifier asset that this modifier was derived from, if any. | “” | no |
parent | A string representing the URI of the parent definition. A parent must appear above a child in the file. | None | no |
presentation | A presentation containing metadata used to present an asset to the user, if this asset is a user-facing asset. | N/A | no |
channel | A channel definition. | N/A | no |
region | A string representing the region that the modifier should appear in. | None | no |
group | A string representing a slash-delimited (“/”) path indicating the modifier’s group for data pathing and presentation in the UI. | “/” | no |
formulas | An array of formula objects owned by this modifier. | N/A | no |
morph | Any morph attached to this modifier. | N/A | no |
skin | Any skin_binding attached to this modifier. | N/A | no |
extra | An array of objects that represent additional application-specific information for this object. | N/A | no |
The morph and skin properties are mutually exclusive. A modifier may exist without either a morph or a skin defined, in which case it may become a data repository and a channel that can be used as input and output for a formula.
For any user-facing morphs, the region should be specified, so that the modifier can display in the interface for regional selection. Skin bindings and corrective morphs usually do not require any user presentation so do not need regions defined for them.
The name attribute may be used by applications to provide another addressing mechanism for nodes in the scene. In object URI’s, if “name” is used as the scheme identifier, then the value of the name attribute is used to look up an item rather than using the id attribute. If the name attribute is missing, applications should use the id attribute in its place wherever needed.
{ "id" : "smile", "channel" : { "id" : "x", "label" : "Side-Side", "visible" : true, "locked" : true, "min" : 0.0, "max" : 1.0, "clamped" : true, "display_as_percent" : false, "step_size" : 2.0, "value" : 0.0 }, "group" : "Micro/Happy", "region" : "Face", "morph" : { "vertex_count" : 4, "deltas" : { "count" : 2, "values" : [ [ 0, 1.23, 2.34, 3.45 ], [ 3, 1.23, 2.45, 3.56 ] ] } } "formulas" : [ { "output" : "upper_leg:figures/Unimesh#upper_leg?rotation/x", "operations" : [ { "op" : "push", "url" : "hips:figures/UniMesh#hips?rotation/x" }, { "op" : "push", "url" : "hips:figures/Daphne#DaphneHeadLarge?value" }, { "op" : "push", "val" : 1.7 }, { "op" : "add" }, { "op" : "mult" } ] } ] }