2017-02-05 7 views
0

私はベイを持つ3Dシーンを持っています。私は最初の人で歩くことができます。どのように惑星を描くべきなのですか?惑星を正確に表示するためのパターン

マイベイの寸法は10x10x7です。そして、私は3つの選択肢、すべて欠点があります:

  1. ウィンドウの近くにちょうどハング半径= 8惑星。まあ、それは私が窓を見て、前方またはbackpedalを押すと、私はそれが拡大縮小を参照して、チーズを掛けたように認識されます。最悪

  2. 2つのシーンと2つのカメラをベイに、もう1つを惑星のために作成します。最高に見えますが、私が向きを変えない限りです。私が回ると、惑星がスカイボックスの背景であることがはっきりと分かります。

  3. ナチュラルウェイ。惑星を千単位離れた場所に置き、半径は千単位にする。このようなことをするために私のいわゆるエンジンを作ることはできません。クリッピングプレーンとデプスバッファーの問題は、氷山の頂点にすぎません。したほうがいい?

答えて

0

多くの点で、問題にはSkyboxesと同じ要件があります。だから、彼らはどのように動作し、それに基づいて解決策を適用するかについて少し読むことができます。たとえば :

あなたはいつもそれが他のすべての後ろに終了するように、最初の惑星をレンダリングしたい
  1. 。これにより、近くに置くことができます(z-クリッピングを避けることができます)。

  2. 常に同じ距離に表示されます。 これを実現するには、ここにあるテクニックを適用することができます:http://ogldev.atspace.co.uk/www/tutorial25/tutorial25.html これらは、z値を置き換えるカスタム頂点シェーダを持っています。 シェーダを使用したくない場合は、他の方法を見つけることができます。

編集: 私は最も素朴な方法は、プレイヤーの位置によって各フレームを惑星の位置をオフセットすることだと思います。 1.と組み合わせると、惑星は静止しているように見え、まだ遠く離れているように見えます。

関連する問題