是否可以在threejs中命名旋转/关节,如何设置它们?

时间:2018-05-20 22:25:06

标签: three.js x3d

我正在用threejs做一些工作。现在只是想知道是否有可能命名旋转或关节。

所以似乎可以编写如下代码:

arm.rotateZ( 180 ).name="ARM_ANGLE";

但是后来如何访问并设置相同的旋转?

我知道在x3d中可以做到这一点,所以我认为可以在threejs中做得很好。在x3d中,可以将引用定义为:

<Transform DEF="ArmAngle" rotation="0 0 1 3.19">

然后定义一个引用它的路径,如:

<ROUTE fromNode='spinarm' fromField='value_changed' toNode='ArmAngle' toField='set_rotation'></ROUTE>

1 个答案:

答案 0 :(得分:1)

您所描述的内容听起来像动画键或变换关键帧。

您可以在像Blender这样的建模器中定义它们并导出它们或以编程方式生成它们。

但一般来说,如果你真的想要那种风格的界面,你从x3d描述的内容必须是一个建立在三个之上的层,但老实说,使用场景图形式的操作非常简单。一个对象并设置其位置和旋转。或者在建模器中定义动画,然后调用该动画。使用动画的优点是您可以在它们之间进行混合。

你可以将对象命名为三个..所以例如你可以命名你的手臂......然后使用scene.getObjectByName(“arm”)找到它。 getObjectByName是所有Object3D的方法。