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



我正在用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>

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

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

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

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

相关内容

最新更新