AnimComponentLayer
The Anim Component Layer allows managers a single layer of the animation state graph.
Summary
Properties
activeState | Returns the currently active state name. |
activeStateCurrentTime | The active states time in seconds. |
activeStateDuration | Returns the currently active states duration. |
activeStateProgress | Returns the currently active states progress as a value normalized by the states animation duration. |
mask | A mask of bones which should be animated or ignored by this layer. |
name | Returns the name of the layer. |
playable | Returns true if a state graph has been loaded and all states in the graph have been assigned animation tracks. |
playing | Whether this layer is currently playing. |
previousState | Returns the previously active state name. |
states | Lists all available states in this layers state graph. |
transitionProgress | If the anim component layer is currently transitioning between states, returns the progress. |
transitioning | Returns whether the anim component layer is currently transitioning between states. |
weight | The blending weight of this layer. |
Methods
assignAnimation | Assigns an animation track to a state or blend tree node in the current graph. |
blendToWeight | Blend from the current weight value to the provided weight value over a given amount of time. |
getAnimationAsset | Returns the asset that is associated with the given state. |
pause | Pause the animation in the current state. |
play | Start playing the animation in the current state. |
rebind | Rebind any animations in the layer to the currently present components and model of the anim components entity. |
removeNodeAnimations | Removes animations from a node in the loaded state graph. |
reset | Reset the animation component to its initial state, including all parameters. |
transition | Transition to any state in the current layers graph. |
Details
Constructor
AnimComponentLayer(name, controller, component, [weight], [blendType], [normalizedWeight])
Create a new AnimComponentLayer instance.
Parameters
name | string | The name of the layer. |
controller | object | The controller to manage this layers animations. |
component | AnimComponent | The component that this layer is a member of. |
weight | number | The weight of this layer. Defaults to 1. |
blendType | string | The blend type of this layer. Defaults to ANIM_LAYER_OVERWRITE. |
normalizedWeight | boolean | Whether the weight of this layer should be normalized using the total weight of all layers. |
Properties
Returns the currently active states progress as a value normalized by the states animation duration. Looped animations will return values greater than 1.
A mask of bones which should be animated or ignored by this layer.
entity.anim.baseLayer.mask = {
// include the spine of the current model and all of its children
"path/to/spine": {
children: true
},
// include the hip of the current model but not all of its children
"path/to/hip": true
};
Returns true if a state graph has been loaded and all states in the graph have been assigned animation tracks.
If the anim component layer is currently transitioning between states, returns the progress. Otherwise returns null.
Returns whether the anim component layer is currently transitioning between states.
The blending weight of this layer. Used when calculating the value of properties that are animated by more than one layer.
Methods
assignAnimation(nodePath, animTrack, [speed], [loop])
Assigns an animation track to a state or blend tree node in the current graph. If a state for the given nodePath doesn't exist, it will be created. If all states nodes are linked and the AnimComponent#activate value was set to true then the component will begin playing.
Parameters
nodePath | string | Either the state name or the path to a blend tree node that this
animation should be associated with. Each section of a blend tree path is split using a
period ( |
animTrack | object | The animation track that will be assigned to this state and played whenever this state is active. |
speed | number | Update the speed of the state you are assigning an animation to. Defaults to 1. |
loop | boolean | Update the loop property of the state you are assigning an animation to. Defaults to true. |
blendToWeight(weight, time)
Blend from the current weight value to the provided weight value over a given amount of time.
Parameters
weight | number | The new weight value to blend to. |
time | number | The duration of the blend in seconds. |
getAnimationAsset(stateName)
Returns the asset that is associated with the given state.
Parameters
stateName | string | The name of the state to get the asset for. |
Returns
AssetThe asset associated with the given state.
pause()
Pause the animation in the current state.
play([name])
Start playing the animation in the current state.
Parameters
name | string | If provided, will begin playing from the start of the state with this name. |
rebind()
Rebind any animations in the layer to the currently present components and model of the anim components entity.
removeNodeAnimations(nodeName)
Removes animations from a node in the loaded state graph.
Parameters
nodeName | string | The name of the node that should have its animation tracks removed. |
reset()
Reset the animation component to its initial state, including all parameters. The system will be paused.
transition(to, [time], [transitionOffset])
Transition to any state in the current layers graph. Transitions can be instant or take an optional blend time.
Parameters
to | string | The state that this transition will transition to. |
time | number | The duration of the transition in seconds. Defaults to 0. |
transitionOffset | number | If provided, the destination state will begin playing its animation at this time. Given in normalized time, based on the states duration & must be between 0 and 1. Defaults to null. |