2016-04-04 5 views
1

これを理解しようとしましたが、成功しません。他のゲームオブジェクトの向きが向いていない方向に回転するゲームオブジェクト

私はポイントXに到達するAIを持っています。私はtransform.lookAt()を使用しているので、そのオブジェクトに面しています。

ここで、AIを180度回転させて、他のエージェントが向いているのと同じ方向に向けることができます。私はAIが目的地に到達したら変換に180を加えようとしましたが、それはうまくいかず、AIはどんな位置から到着するかもしれないので、180度の回転は常に他のエージェントの方向と同じではありません向いている。

オブジェクト/ AI /ゲームオブジェクトのどちらの方向が向いているかを知る方法や設定する方法はありますか?数学を賢明には、オブジェクトがゲームで0.0.0の座標でインポートされるときに関連するベクトル3であるべきだと私は信じています。私は実際に私がアプリケーションで持っているすべてのGOの方向を追跡することはできません。私は、GOが指している方向を(移動していなくても)設定したり、方向を取得したりする何らかの方法があることを期待していました。

答えて

0

あなたはTransform.forwardを見てみましたか?完全性について

編集:

transform.lookAt()は現在、あなたのために働いているが、あなたはどの方向からターゲットに直面し、これを試すことができますので:180度を追加し

var lookPos = target.position - transform.position; 
lookPos.y = 0; 
var rotation = Quaternion.LookRotation(lookPos); 

とローテーションへ

+0

はい、実際の順方向と必ずしも等しくないオブジェクトの場合はあります。私は、trasformコンポーネントの.forwardはZ軸の値0に基づいていると信じています。メッシュのフェイスフォワーディング方向と同じであってもなくてもよい。すべてのZ軸をすべてのメッシュに統合する前に、以前は他のオプションを評価していました。 –

+1

transform.lookAt()は現在あなたのために働いているので、任意の方向からターゲットに向かって試すことができます: 'var lookPos = target.position - transform.position; lookPos.y = 0; ; var rotation = Quaternion.LookRotation(lookPos); ' そして180度回転して – Shige

+0

を追加します。良い考え:) –

関連する問題