add mega info |
fix types |
||
Line 18: | Line 18: | ||
== BlendShape == | == BlendShape == | ||
{{Table TypeFields | {{Table TypeFields | ||
|Name| The name of the blendshape this subcomponent should look for to auto fill <code>Field</code> with | |Name|String| The name of the blendshape this subcomponent should look for to auto fill <code>Field</code> with | ||
|Value| the value to drive <code>Field</code> to. | |Value|float| the value to drive <code>Field</code> to. | ||
|Field| is usually auto filled with a blendshape's value on the <code>Renderer</code> that has a blendshape name matching <code>Name</code>. | |Field|{{RootFieldType|FieldDrive`1|[[Type:Float|Float]]}}|TypeAdv2=true| is usually auto filled with a blendshape's value on the <code>Renderer</code> that has a blendshape name matching <code>Name</code>. | ||
}} | }} | ||
Latest revision as of 16:40, 9 April 2024
This component is used to map values to Blendshapes by name.
Fields
Name | Type | Description |
---|---|---|
persistent
|
Bool | Determines whether or not this item will be saved to the server. |
UpdateOrder
|
Int | Controls the order in which this component is updated. |
Enabled
|
Bool | Controls whether or not this component is enabled. |
Renderer
|
SkinnedMeshRenderer | The renderer to use to search for shapekeys with |
BlendShapes
|
list of BlendShape | A list of BlendShape that are searched for in order on the Renderer .
|
_lastRenderer
|
SkinnedMeshRenderer | The last renderer that was searched. This value is automatically filled and is read only. |
BlendShape
Name | Type | Description |
---|---|---|
Name
|
String | The name of the blendshape this subcomponent should look for to auto fill Field with
|
Value
|
float | the value to drive Field to.
|
Field
|
field drive of Float | is usually auto filled with a blendshape's value on the Renderer that has a blendshape name matching Name .
|
Usage
To efficiently use this component, first add some blendshape items to the blendshapes
list and give the blendshapes names of the blendshapes on your target mesh. Next, add the skinned mesh renderer to Renderer
you want to automatically find the blendshapes for. The component in the next update will automatically add the value sliders of the blendshapes it can find on the target Renderer
to the Field
on each BlendShape
.
To drive the blendshapes, just simply drive the Value
on each BlendShape
for each blendshape you want. Driving Value
is not required, and this can be used in cases where you wanna toggle, cycle, or write with flux a blendshape's value without driving it. This can be useful if you don't wanna accidentally bake blendshapes you are still using despite them not being driven
Examples
This component is useful for auto detecting blendshapes like expression drivers via systems. It is also useful for counteracting issues where adding blendshapes to an existing avatar will cause the blendshapes to change order in the array of blendshapes. Using this component allows for also automatically setting drives for blendshapes, without having references to them prior.
For example, putting a Dynamic Reference Variable<SkinnedMeshRenderer> for the mesh on an avatar for it's face, can allow for an external system to find the mmd blendshapes on a character using this component for mmd animations.