我怎么知道THREE.AxisHelper轴的方向(单位矢量)?

时间:2016-08-29 21:03:18

标签: three.js

我有一个添加了THREE.AxisHelper的网格物体。网格旋转并转移到世界中,我需要知道在给定时间网格x轴的方向。

2 个答案:

答案 0 :(得分:1)

基于WestLangley,我写了这个函数:



this.dirAirplane = new THREE.Vector3();
...
this.takeDir = function(){
  var quaternion = new THREE.Quaternion();
  this.mesh.getWorldQuaternion( quaternion );
  this.dirAirplane.set(1,0,0).applyQuaternion(quaternion);
}




由于

答案 1 :(得分:0)

通过复制Object3D.getWorldDirection()

的源代码来创建新方法
getWorldDirection: function () {

    var quaternion = new Quaternion();

    return function getWorldDirection( optionalTarget ) {

        var result = optionalTarget || new Vector3();

        this.getWorldQuaternion( quaternion );

        return result.set( 0, 0, 1 ).applyQuaternion( quaternion );

    };

}(),

并用x轴( 0, 0, 1 )替换z轴( 1, 0, 0 )

为了提高效率,当您使用该方法时,您可以传入optionalTarget,这样每次调用该方法时都不会分配新的Vector3

three.js r.80