ste*_*eOw 4 vector rotation three.js
我的 object3D 有一个向上向量 (0,1,0)。object3D 围绕偏航、俯仰和滚动移动其原点。
我的问题:如何找到在世界坐标中显示 object3D 向上向量方向的向量?
编码上下文示例:-
var v1 = new THREE.Vector3();
v1.add( givenObject3D.up ); // now v1 = (0,1,0)
givenObject3D.updateMatrixWorld();
FunctionXXX (v1, givenObject3D.matrixWorld );
//... now v1 is a vector in world coordinates
//... v1 points in the same direction as the givenObject3D's up vector.
v1.normalize();
Run Code Online (Sandbox Code Playgroud)
您想获得对象up矢量的世界方向。为此,请对up应用于对象的矢量应用相同的旋转。
如果对象直接是场景的子对象,那么您可以这样做:
var v1 = new THREE.Vector3(); // create once and reuse it
...
v1.copy( object.up ).applyQuaternion( object.quaternion );
Run Code Online (Sandbox Code Playgroud)
如果对象有一个旋转的父对象,那么你需要使用这个模式:
var v1 = new THREE.Vector3(); // create once and reuse it
var worldQuaternion = new THREE.Quaternion(); // create once and reuse it
...
object.getWorldQuaternion( worldQuaternion );
v1.copy( object.up ).applyQuaternion( worldQuaternion );
Run Code Online (Sandbox Code Playgroud)
三.js r.74
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |