2016-12-14 2 views
3

でワールド空間へのローカルからの方向を変換するためにどのようにはthree.js

があります戻ってローカルにmyObject.worldToLocal(ベクトル)とのmyObject.localToWorld(ベクトル)とを使用してワールド空間に地元の位置ベクトルを変換することができます世界とローカル空間の方向ベクトルを変換する同様の便利な方法?これはあなたがそうのような世界空間にオブジェクトのローカル空間から、方向ベクトルを表すVector3を、変換することができmyObject.TransformDirectionとmyObject.InverseTransformDirection

+0

私は団結について十分に知っていないので、私は回転が前提方向であることを確認するつもりですか? Object3d.rotationがローカルの場合、世界ローテーションはhttps://threejs.org/docs/api/core/Object3D.html#getWorldRotationから取得できますが、これはObject3dのメソッドですが、任意の入れ子にされた回転を、それに関連付けられたオブジェクトを持っていてもいなくてもよい世界の空間に翻訳しようとしているのですか、それともあなたが翻訳しようとしているものであれば。 – Radio

+0

オイラーまたはクォータニオンの代わりに指向性ベクトル形式の回転に似ています。方向は、ベクトル形式のあなたの見出しのようなものです。このオブジェクトはローカル空間で "北"(それを0,0,1と呼ぶ)に向いていますが、その親は "東"(1,0,0)に面しています。 –

答えて

2

だろうユニティで

vector.transformDirection(object.matrixWorld); 

フレンドリーtip:three.jsの方向ベクトルは正規化されていると仮定されます。つまり、長さは1になります。この規約に従うことをお勧めします。

three.js r.82