我想构建一个场景,其中包含一些由复选框切换的动画。单击时,我希望所有框元素的高度缩放到' .1'。再次单击时,我希望它返回到原始高度。我已尝试过Routes和TimeSensors,但发现它们难以使用。在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>
答案 0 :(得分:1)
TimeSensor是强制性的,因为他是触发插值器keyValue的人 这是一个简单的例子,TimeSensor非常易于使用:
DEF TS TimeSensor {cycleInterval 2 loop TRUE}
DEF SI ScalarInterpolator {
键[0 0.5 1]
核心价值 [2 2 2 1 1 1 0.5 0.5 0.5]}ROUTE TS.fraction_changed TO SI.set_fraction
ROUTE SI.value_changed TO BOX.scale
定时器的分数被路由到ScalarInterpolator。每当分数大于键中的值(0,0.5或1)时,相应的keyValue(第N个索引)被路由到BOX的比例。就是这样......
如果想要效果较慢,可以增加TimeSensor的循环间隔。如果您想要只有一次效果,那么您可以将循环设置为FALSE。
你也可以拥有多个钥匙和钥匙。键值..