我有这种网格(每个都是上面的孩子)
Scene
-scene.add(SpaceMesh)
-SpaceMesh.add(ShipMesh)
SpaceMesh
正在进入场景。
ShipMesh
没有动。
如果我请求ShipMesh.position.x
,则返回0(逻辑上)
如何在<{strong> ShipMesh
中获取SpaceMesh
的坐标?
-
示例:
SpaceMesh.position.x = 100
ShipMesh.position.x = 0
逻辑结果必须是ShipMesh。 PositionInSpaceMesh .x = -100
答案 0 :(得分:0)
我不知道是否是最好的方式,但来自: how to: get the global/world position of a child object
spaceMesh.updateMatrixWorld();
var vector = new THREE.Vector3();
vector.setFromMatrixPosition( spaceMesh.matrixWorld );
vector.multiplyScalar( -1 );
console.log(vector); // my coords in SpaceMesh
如果有更好的解决方案,或某些&#34;最佳做法&#34;,请更正我,谢谢。