计算Object3d的孩子的绝对位置/旋转

时间:2013-03-20 18:11:14

标签: rotation position three.js

我有一个移动和旋转的网格,我想将一个绝对定位/旋转的子项添加到父Object3D,并且它应该在父元素更改位置或旋转时保持其位置。

parent_ = new THREE.Object3D()
parent_.add( new THREE.Mesh(new THREE.CubeGeometry(2, 20, 2), new THREE.MeshNormalMaterial()))
child_ = new THREE.Mesh(new THREE.CubeGeometry(30, 3, 30), new THREE.MeshNormalMaterial())
child_.position.set(1,10,1)
parent_.add(child_)
scene.add(parent_);

fiddle

如何从绝对定位/旋转对象计算相对于父对象3d的位置/旋转,以保持绝对位置?

1 个答案:

答案 0 :(得分:1)

为了在Object3D的本地坐标系和世界坐标系之间进行转换,有方法worldToLocallocalToWorld,请参阅以下源代码:

http://github.com/mrdoob/three.js/blob/master/src/core/Object3D.js

了解详情。