我有一个移动和旋转的网格,我想将一个绝对定位/旋转的子项添加到父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_);
如何从绝对定位/旋转对象计算相对于父对象3d的位置/旋转,以保持绝对位置?
答案 0 :(得分:1)
为了在Object3D的本地坐标系和世界坐标系之间进行转换,有方法worldToLocal
和localToWorld
,请参阅以下源代码:
http://github.com/mrdoob/three.js/blob/master/src/core/Object3D.js
了解详情。