我正在用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>
答案 0 :(得分:1)
您所描述的内容听起来像动画键或变换关键帧。
您可以在像Blender这样的建模器中定义它们并导出它们或以编程方式生成它们。
但一般来说,如果你真的想要那种风格的界面,你从x3d描述的内容必须是一个建立在三个之上的层,但老实说,使用场景图形式的操作非常简单。一个对象并设置其位置和旋转。或者在建模器中定义动画,然后调用该动画。使用动画的优点是您可以在它们之间进行混合。
你可以将对象命名为三个..所以例如你可以命名你的手臂......然后使用scene.getObjectByName(“arm”)找到它。 getObjectByName是所有Object3D的方法。