对于大多数three.js开发人员来说,这似乎是一个虚拟的问题,但是,如何从转换矩阵中提取翻译?
实际上,我是在手动提取它以指向矩阵数组位置(12、13、14)。
提前致谢。
Matrix4有一种decompose方法可以做到这一点。
var mat = /* ... */;
var translation = new THREE.Vector3(),
rotation = new THREE.Quaternion(),
scale = new THREE.Vector3();
mat.decompose(translation, rotation, scale);
Run Code Online (Sandbox Code Playgroud)
当然,如果您只对翻译感兴趣,那么您最好做您当前正在做的事情。在幕后,decompose只需从 中提取元素 12、13 和 14mat.elements。
如果要从矩阵中提取翻译组件,请使用以下模式:
var vec = new THREE.Vector3();
vec.setFromMatrixPosition( matrix4 );
Run Code Online (Sandbox Code Playgroud)
使用Matrix4.decompose()仅当您需要的翻译,四元数和污垢成分。
three.js r.73
| 归档时间: |
|
| 查看次数: |
2477 次 |
| 最近记录: |