使用插值器优化X3DOM动画



我想用x3dom可视化交叉带分拣机。交叉带式分拣机具有90°圆弧的环路形式。对于我使用的交叉皮带:

<矩形2D尺寸=’0.6 0.6’/>

分拣机有58个交叉带,对于每个交叉带,我想通过javascript动态更改材料的颜色。交叉传送带应真实地沿着分拣机移动。因此我使用标签:

<timeSensor DEF='timeKOSorter'循环Interval='60'循环='true'><时间传感器>

并且例如对于交叉带0:

<PositionInterpolator DEF='POSKO01_0'key='0 0.344 0.355 0.366 0.377 0.389 0.4 0.411 0.433 0.444 0.455 0.466 0.478 0.5 0.844 0.855 0.866 0.877 0.889 0.9 0.911 0.933 0.944 0.955 0.966 0.978 0.989 1.0'keyValue='8.0 0 0.0-8.0 0 0.0-8.518 0 0.068-9.0 0 0.268-9.414 0 0.586-9.732 0 1.0-9.932 0 1.482-10.0 0 2.0-10.0 0 3.0-9.932-8.518 0 4.932-8.0 0 5.0 8.0 0 5.0 8.518 0 4.932 9.0 0 4.732 9.414 0 4.414 9.732 0 4.0 9.932 0 3.518 10.0 0 3.0 10.0 0 2.0 9.932 0 1.482 9.732 0 1.0 9.414 0 0.586 9.0 0 0.268 8.518 0 0.068 8.0 0 0.0'><位置插值器>
<路由from Node='timeKOSorter'from Field='raction_changed'to Node='POSKO01_0'to Field='set_fraction'><路线>
<路由从Node='POSKO01_0'从Field='value_changed'到Node='crossKO01_0'到Field='translation'><路线><OrientationInterpolator DEF="oriKOSorterKO01_0"键="0 0.344 0.355 0.366 0.377 0.389 0.4 0.411 0.433 0.444 0.455 0.466 0.489 0.5 0.844 0.855 0.866 0.877 0.889 0.9 0.911 0.933 0.944 0.955 0.966 0.978 0.989 1.0"键值="0 1 0 0.0 0 1 0 0 0.262 0 1 0 0.524 0 1 0 0.785 0 1 0 1.047 0 1 0 1.309 0 1 0 1.571 0 1 0 1.833 0 1 0 2.094 0 2.356 0 1 0 2.618 02.88 0 1 0 3.142 0 1 0 3.142 0 1 0 3.403 0 1 0 3.665 0 1 0 3.927 0 1 0 4.189 0 1 0 4.451 0 1 0 4.712 0 1 0 4.974 0 1 0 5.236 0 1 0 5.498 0 1 0 5.76 0 1 0 6.021 0 1 0 0.0'><方向插值器>
<路由从Node='timeKOSorter'从Field='raction_changed'到Node='oriKOSorterKO01_0'到Field='set_fraction'><路线><路由从Node='oriKOSorterKO01_0'从Field='value_changed'到Node='crossKO01_0'到Field='rotation'><路线>

我现在的问题是,如果我为每58个交叉带的2个分拣机制作动画,这将花费大量的CPU时间。在我的电脑上,它使用了超过40%的CPU功率。有人知道如何获得更好的表现吗?

如果58个对象都可以朝同一方向移动,那么只需将它们都放在一个变换下,并为该变换制作一个插值器。

如果没有,也许试试:

http://doc.x3dom.org/author/runtime.html#enterFrame

并通过该函数中的dom操作来改变对象的平移/旋转。

最新更新