Class: AnimationStates

AnimationStates

new AnimationStates(parmas)

元素动画状态序列处理

Name Type Description
parmas Object

创建对象的属性参数。可包含此类的所有属性。

Members Show Inherited

Name Type Default Description
isAnimationStates boolean true
className string AnimationStates
nodeName string

对应的node名字(动画是根据名字关联的)

type AnimationStates.StateType

状态类型

interpolationType string LINEAR

插值算法

id string
keyTime Array.<number> []

时间序列

states Array.<Array> []

对应时间上的状态,数组长度应该跟keyTime一致,即每一帧上的状态信息

staticAnimationStates.StateTypestring

状态类型

Properties:
Name Type Default Description
TRANSLATE string Translation
POSITION string Translation
TRANSLATION string Translation
SCALE string Scale
ROTATE string Rotation
ROTATION string Rotation
QUATERNION string Quaternion
WEIGHTS string Weights

Methods Show Inherited

staticAnimationStates.getType(name){AnimationStates.StateType}

根据名字获取状态类型

Name Type Description
name string

名字,忽略大小写,如 translate => StateType.TRANSLATE

Returns:
Type Description
AnimationStates.StateType 返回获取的状态名

findIndexByTime(time){Array.<number>}

查找指定时间在 keyTime 数组中的位置

Name Type Description
time number

指定的时间

Returns:
Type Description
Array.<number> 返回找到的位置,如: [low, high]

getState(time){Array.<number>}

获取指定时间上对应的状态,这里会进行插值计算

Name Type Description
time number

指定的时间

Returns:
Type Description
Array.<number> 返回插值后的状态数据

updateNodeTranslation(node, value)

更新指定元素的位置

Name Type Description
node Node

需要更新的元素

value Array.<number>

位置信息,[x, y, z]

updateNodeScale(node, value)

更新指定元素的缩放

Name Type Description
node Node

需要更新的元素

value Array.<number>

缩放信息,[scaleX, scaleY, scaleZ]

updateNodeQuaternion(node, value)

更新指定元素的旋转(四元数)

Name Type Description
node Node

需要更新的元素

value Array.<number>

四元数的旋转信息,[x, y, z, w]

updateNodeState(time, node)

更新指定元素的状态

Name Type Description
time number

时间,从keyTime中查找到状态然后更新

node Node

需要更新的元素

clone

Returns:
Type Description
AnimationStates 返回clone的实例