| Game Coding Complete 040 |
|---|
|
他の航空機や滑走路が見え、遠くには山脈や街の地平線が見えるれい(図2.5)
第2章ゲームの構成要素 図2.5Microsoft フライトシミュレータX ところが飛行機がいったん飛び立つと、話はまったく違ってくる。見える範囲が桁違いに広がり、したがって見えるポリゴンも増える。すべてのポリゴンを描こうとすれば飛行機が地上150フィート以上に上昇できないことがすぐにわかるだろう。フレームレートは飛行機の高度に幾何級数的に反比例して低下する。現実的に見せるためには、描くべきポリゴンがますます増えるからだ。 この問題を解決するために、地形やオブジェクトを描くときのレベルオブディテール(LOD、細度)を観察者からの距離によって変えるという手法が用いられる。フライトシミュレータの中には、この手法がはっきりわかるものもある。ゆっくりと降下を始めると、地形が急にきれいに見えめる。緑色の部分が細部にわたってくっきり見え始め、墜落する寸前には1本1本の木まではと見える。ほとんどの3Dエンジンでは、「ポッピング」効果(表示が不自然に一瞬で変化するこを防ぐためにLODを滑らかに変化させる工夫がなされている。 過度の描写を避けることも重要だ。描くシーンが複雑な室内やニューークのコンクリードングルの奥深くであれば、見えるポリゴンを描写すれば最高のフレームレートを達成できるはだ。先ほどの繰り返しになるが、愚直な手法をとるのであれば、カメラの視野から外れたものは視して、見える範囲のポリゴンだけをすべて描けばよい。しかしこの方法は、たとえカメラが内ほうにまっすぐに向けられていたとしても、ある一定の範囲に限ってひどいフレームレートにないう結果を招くだろう。こういった状態でゲームが止まっているとき、ゲームは壁のうしろのおだしい数のポゴンを描いているのだが、結局カメラの近くの大きなポリゴンでわれてしまいる。何というムダだろう。 こういった問題を解決するには、特定の視点が与えられたらレベルを発析し。そこから見域を計算するためのもっと高度なツールが必要だろう。Unbra Sof これをオフライン |