简体   繁体   中英

Get position in parent mesh

I have this sort of meshes (each is the child of above)

Scene
     -scene.add(SpaceMesh)
          -SpaceMesh.add(ShipMesh)

SpaceMesh is moving in scene. ShipMesh is not moving.

if i request ShipMesh.position.x it returns 0 (logically)

How can i get coordinates of my ShipMesh in SpaceMesh ?

--

Example:

SpaceMesh.position.x = 100

ShipMesh.position.x = 0

Logical result will have to be ShipMesh. PositionInSpaceMesh .x = -100

I don't know if is the best way, but from: 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

If is there better solution, or some "best practices", please correct me, thank you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM