【问题标题】:threejs rotate part of model,how part of model rotate around the part itselfthreejs 旋转模型的一部分,模型的一部分如何围绕零件本身旋转
【发布时间】:2014-11-28 16:19:13
【问题描述】:

我很困惑,我将一个obj模型加载到html,但是当我旋转这个模型的一部分(这个模型来自blender,一部分,一个一个),这个部分只是围绕模型的中心旋转,但是它不围绕其中心旋转,我怎样才能让零件围绕零件本身旋转,语句“part.rotation += 1;”不起作用。

【问题讨论】:

    标签: three.js


    【解决方案1】:

    您需要以这种方式组织零件:每个零件都是一个 THREE.Mesh,其中包含相对于零件中心定位(本地)的顶点集合。换句话说,世界的零件中心成为零件局部轴的原点轴。此网格需要是位于该部分中心的 THREE.Object3D 的子对象。然后您可以对网格对象应用旋转。

    如何转置顶点位置的示例:

    mesh.position.set(partCenterVec);
    
    mesh.updateMatrixWorld();
    mesh.geometry.applyMatrix(mesh.matrixWorld);
    
    // reset local matrix
    mesh.position.set(0,0,0);
    mesh.rotation.set(0,0,0);
    mesh.scale.set(1,1,1);
    mesh.updateMatrixWorld();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-04
      • 2019-04-06
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多