【问题标题】:How to rotate an object in three js around its axis?如何围绕其轴旋转三个js中的对象?
【发布时间】:2018-09-14 20:11:15
【问题描述】:

我想围绕它的 y 轴旋转一个地球对象。我找到了一个功能:

function rotateAroundObjectAxis(object, axis, radians) {

  var rotationMatrix = new THREE.Matrix4();

  rotationMatrix.makeRotationAxis(axis.normalize(), radians);
  object.matrix.multiply(rotationMatrix);
  console.log("object matrix: " + object.matrix.elements);
  object.rotation.setFromRotationMatrix( object.matrix );
}

但是,旋转会在特定点停止。我认为这是因为用于矩阵乘法与我计算的旋转矩阵的 object.matrix 的值得到

提前谢谢你。

【问题讨论】:

    标签: javascript three.js rotation


    【解决方案1】:

    您应该使用 object.rotateY(rad) https://threejs.org/docs/#api/en/core/Object3D.rotateY。对于连续旋转,使用小角度并在渲染循环中更新。

    【讨论】:

    • 这很奇怪。我得到相同的结果。对象只是停在特定点
    猜你喜欢
    • 2018-05-20
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    相关资源
    最近更新 更多