CoordinateInterpolator节点 |
||
CoordinateInterpolator { | ||
key | [ ] | # exposed field MFFloat |
keyValue | [ ] | # exposed field MFVec3f |
} | ||
域 | ||
key | 关键帧时间的列表,分别代表所占总动画时间的比率(即介于0.0和1.0之间的浮点数,包括0.0和1.0)。 | |
keyValue | 关键坐标点位置组列表,每一组位置值对应一个拟在其中插值的关键帧。 | |
事件 | ||
set_fraction | eventIn SFFloat 已经完成动画的时间比例。 |
|
value_changed | eventOnt SFColor 给出动画中某一点相应的一组顶点位置。 |
|
说明 | ||
CoordinateInterpolator节点可完成基于顶点的关键帧动画。在keyValue域,它比大多数插补器包含更多的树值。 为创建这一插补器,首先要为动画中的各特定时刻确定用于描述动画个顶点的位置(最好包括起始点和结束点的值)。在keyValue域列出对应每一个关键帧的所有顶点的坐标,在key域中列出相应每一组顶点位置的画面应在动画中持续的时间。 例如,在动画中见一个正三角形变为不同的三角形,可以使用如下的插补器: |
||
CoordinateInterpolator { |
||
key | [0,0.5,1] | |
keyValue | [0 0 0,1 0 0,0 1 0, # initial set
of vertices 0 0 0,1 0 0,1 1 0, # second set of vertices 0 0 0,2 0 0,1 1 0] # final set of vertices |
|
} |
||
坐标插补器通常接收来自时间传感器发出的set_fraction事件。插值处理后,发送输出值到IndexedFaceSet的Coordinate节点的point域。由于时间传感器送出的fraction的值介于0和1之间,所以插补器key域的值也在这个范围之中,然而,并不限制其值超出这个范围。 |