Oblivion(と他のゲーム、私は確信していますが、十分に遊んでいない)の技術の背後にある基本的な前提は、遠くからのオブジェクトが曖昧に遠くから彼らを見る?たとえば、大きなタワーが1マイル離れていると、地平線から突き出ているぼんやりとした長方形が見えます...明らかに、巨大な3Dシーンはすべてレンダリングできません。ハイトマップの場合、近似アルゴリズムがありますカメラから離れた高さマップの品質を下げるために使用されますが、特定のオブジェクトの場合、それらを表示する最善の方法は何ですか?遠方の3Dオブジェクトレンダリング[ゲーム]
風景の周りの特定の場所を選んで、その場所を中心にすべての高さマップと3Dモデルを描画し、写真を撮るプログラムを作成する、事前レンダリングのテクニックを考えていました。それはいくつかの写真を撮るだろう、そして、プレーヤーがその場所の近くにいるとき、写真はスカイボックスとして使われるだろう。
本当に粗い3Dモデルを保存することですが、3Dレンダリングシステムで建物のラフモデルを具体的にどのように選択し、他のあまり重要ではない(おそらく見えない - 遠方からの)物体?あなたのハイハットマップと一緒にそれをどう保管しますか?おそらく設計上、そのような重要なランドマークをいくつか持っていて、それらのリストを小さなファイルに保存すれば、各フレーム上で実際に遠く離れたものをレンダリングできますか?
私は、Haloシリーズがゲームをレベルに分割し、各レベルに異なる手作りのスカイボックスがあることを認識しています。これは私が最初の提案で行ったことのようなものですが、私はそれについては分かりません。私は自分のアイデアの中に他のアイデアや洗練されたものを集めようとしているので、限られた時間と知識で試作するものを選ぶことができます。
もう1つの関連するトピックは、離れたところに山を表示する方法です。これは高さマップの一部であり、上の3Dモデルではないため、実際には粗いバージョンを持つことはできません。また、近似アルゴリズムは本当に遠く離れた山から山を台無しにするかもしれません(あなたがそう遠い幾何学を近似してレンダリングしようとしていると仮定すると、そうはならないでしょう)。あなたが答えでこれをカバーしても、ボーナスポイント。 :)
ありがとう!
P.S.私はOpenGLを使用しています。私は基本的なコンセプトを探していますが、サンプルコードを投稿する場合は、OpenGLの関数と用語を使用してください! :)
編集:ありがとうございました!ドキュメント化の目的で私が見つけた別のリソースは次のとおりです。 第4章ゲームプログラミングGems 2では遠くの風景をスカイボックスにレンダリングするコンセプトについて説明しています。 http://books.google.com/books?id=1-NfBElV97IC&lpg=PA416&ots=SOpnfijZly&dq=render%20distant%20to%20skybox&pg=PA416 (残念ながらプレビューは章の最初のページです...
また、これらの記事を読んだ後でも、LODはまだかなり近い距離にあるオブジェクトのためのものです。オブジェクトが1ピクセルも大きくない場合でも、それらをグラフィックカードに供給している場合は、LODを使用するかどうかにかかわらず、電力を無駄にするだけです。そして、それは絶対最大の遠くの物体を除いてすべての場合に当てはまります。いくつかの高層ビルやいくつかの山がありますが、細かいディテール・モデル(茂み、樹木、岩石、その他の風景など)は、このような距離からは見えません。だから、私はスカイボックス技術へのレンダリングが好きです。私がこの橋に着くと、それが私がそれをどのように通過するかです。すべてのモデルでLODを使用するようにしていますが、私はそのような距離をレンダリングしません。
私は、オレビオンのゲームのラインに沿ってもっと考えているので、答えはゲームのジャンルに依存するかもしれません。
あなたの視野はやや甘いと思います。 FOVは、通常、あなたが探している "カメラ"の角度を指します。遠くのオブジェクトを切り取るポイントは、「遠いクリッピングプレーン」と呼ばれます。 –
@NeilN、そうです。私は答えを修正します。 –