2012-02-12 17 views
0

私はカメラを、例えばオブジェクトから10ユニット離れているが、その背後には置かないようにしたい。
ではなく、カメラは常にオブジェクトの後ろになりますので、これを好む:それは例えば、また少しアップに位置するようにするためにカメラをXNA 10ユニットに配置する方法を教えてください。

cameraPosition = objectPosition + object.Backwards * 10; 
+0

* *の後ろにはどういう意味ですか?あなたのオブジェクトは一定の方向に向いていますか?あなたのカメラがメッシュから離れていることを意味していますか?どうか明らかにしてください。 – Lucius

答えて

0

は、多くの場合、それが良く見える:

cameraPosition = objectPosition + 
       object.Backward * 10 + 
       object.Up * 5; 

cameraTarget = objectPosition + 
       object.Up * 3; 

この場所オブジェクトの背後にあるカメラ。そして、それは車の後にカメラのために良いオブジェクトを過ぎて見ている種類があります。

空が調整の限界です。入力を使用して一部を修正することもできます。

+0

はい、私はこれをしましたが、問題は、常にオブジェクトの後ろにカメラが、私はそれをいくつかのユニットにしたいと思う、そして私はこの位置にとどまって、私はカメラが例えば10ユニット、オブジェクトを回転させると位置がわかりません –

+0

参照してください。その後、最初からカメラからオブジェクトまでのオフセットベクトルを作成します。次に、すべてのフレームで、カメラの位置をobjectPosition + offsetに設定します。オフセットを決して変更しない限り、カメラはオブジェクトと共に移動しますが、オブジェクトの向きの影響を受けません。 –

+0

そして、どのようにカメラをオブジェクトの後ろに置くことができますか?ちょっと待ってからオブジェクトを回転させて、カメラがオブジェクトの後ろに来るまでゆっくり動かしますか? –

関連する問題