Object3Dのグローバルな位置を別のObject3Dの内部で取得するにはどうすればよいですか?子オブジェクトのグローバル/ワールド位置を取得する方法は?
セットアップ:
var parent = new THREE.Object3D();
parent.position.set(100, 100, 100);
var child = new THREE.Object3D();
child.position.set(100, 100, 100);
parent.add(child);
scene.add(parent);
ノート:
console.log(child.localToWorld(parent.position));
...それは私を与える:
私は、これはそれを行うための方法だろうと思いました(100,100,100)、(200,200,200)。
はこれをしなかった私あなたのアドバイスに従って、あなたにWestLangleyありがとう: **はconsole.log(parent.position.getPositionFromMatrix(child.matrixWorld))** しかし、ライブコードは周りのものを移動ループ内actrulyであるため、これは親オブジェクトの速度が劇的に増加するいくつかの奇妙な成果物をもたらしました(この唯一のコンソール。子どもの位置を記録する) ! ** console.log(parent.position.clone()。getPositionFromMatrix(child.matrixWorld))** *私は、何が起こっているのかわからないので、もう一度ありがとうございます。* – TunnelVision
いいえ、いいえ!レンダリングループの外側に別のベクトルを作成し、レンダーループ内の位置の値を割り当てます。 – WestLangley
ああ、今私はそれを得る:) – TunnelVision