代码之家  ›  专栏  ›  技术社区  ›  paolov

是否可以将旋转/关节命名为三个,如何设置它们?

  •  0
  • paolov  · 技术社区  · 6 年前

    我正在和三人组做一些工作。现在只是想知道是否可以命名旋转或关节。

    因此,似乎可以编写如下代码:

    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 回复  |  直到 6 年前
        1
  •  1
  •   manthrax    6 年前

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

    您可以在类似于Blender的建模器中定义它们,然后导出它们或通过编程生成它们。

    但是,一般来说,如果您真的想要这种风格的界面,那么您所描述的X3D必须是一个构建在三层之上的层,但是老实说,使用场景图风格的操作非常简单。也就是说,找到一个物体并设置它的位置和旋转。或者在建模器中定义动画,然后调用该动画。使用动画的好处是你可以在它们之间混合。

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