1

我想构建一个场景,其中包含一些由复选框切换的动画。单击时,我希望所有框元素的高度都缩放到“.1”。再次单击时,我希望它返回到原始高度。我已经尝试过路线和时间传感器,但发现它们很难使用。在 x3dom 中是否有更简单的动画选项?

这是我在模板中使用的一些代码

<timeSensor DEF="time" cycleInterval="2" loop="false" > </timeSensor>
<positionInterpolator def="scale" key="0 1" keyValue="1 1 1  1 .1" ></positionInterpolator>
<route fromNode="time" fromField ="fraction_changed" toNode="scale" toField="set_fraction"></route> 
<route fromNode="scale" fromField ="value_changed" toNode="box" toField="size"></route>
4

1 回答 1

1

TimeSensor 是强制性的,因为他是触发插值器的 keyValue 的人。
这是一个简单的示例,TimeSensor 非常易于使用:

DEF TS TimeSensor { cycleInterval 2 loop TRUE }
DEF SI ScalarInterpolator {
key [0 0.5 1]
keyValue [2 2 2 1 1 1 0.5 0.5 0.5] }

ROUTE T​​S.fraction_changed TO SI.set_fraction
ROUTE SI.value_changed TO BOX.scale

计时器的一部分被路由到 ScalarInterpolator。每当分数大于键中的值(0、0.5 或 1)时,相应的键值(第 N 个索引)被路由到 BOX 的比例。就是这样...

如果您想获得较慢的效果,您可以增加 TimeSensor 的循环间隔。如果您只想获得一次效果,则可以将循环设置为 FALSE。

你也可以有多个键和键值..

于 2014-08-13T08:11:08.237 回答