2010年1月22日

ゲームプログラム・・・ワールドマップの表示

ゲームプログラム・・・ワールドマップの表示

現在ゲームカレッジ一年の学生たちが、3DCGを用いたRPGを開発しています。
RPGと言えば、一般的にワールドマップ・ダンジョン・戦闘といったパートから出来ているゲームを想像しますが、今回学生たちが開発しているのはまさにそういったゲーム。

今回はワールドマップの表示について授業をしました。

例えば以下のようなマップの中にキャラクターが立っているものとします。
border=0

このとき、ゲーム画面はだいたい右上のような表示になってくるはずです。

元のマップのモデルと見比べるとなんと表示されていない部分の多いことか・・・。
この表示されていない部分は、処理していないのではなく、表示しようとコンピュータが処理した結果画面に映らなかった部分なので、実際には表示されているのとあまり変わらないのだそうです。つまりその分、コンピュータにとっては余分な負荷になっています。

今回の授業はこの負荷を軽減する手法です。

border=0 border=0
左上の図が、地形のデータで、マスの目ごとにデータが分割されているものとします。赤色の台形はカメラに写る部分(視錐台またはビューボリュームと言う)であるものとします。この時実際のレンダリング結果は右上の図のようになります。

border=0 border=0
この時左上の図で表示を薄くしている部分は表示しなくて良い部分です。この表示しなくて良い部分を消してしまうと右上の図のようになります。この状態でレンダリングしてもゲーム画面では表示しない部分がある事は全く判りません。

border=0
方法は、まずカメラ位置に近すぎる部分と遠すぎる部分をカットした後、マップの各部分が実際に画面上でどの位置にくるのかを算出して、表示処理をするかどうかを判定します。

ゲームって画面の外側でもいろいろな工夫がされているんですね。

今回の授業は、チーム制作との連動で、学生たちが苦労している部分の解説として実施したとの事だそうです。

必要な事を臨機応変に授業に取り込むあたりはカンパニースクールならでは。

こんな学校で学んでみたいという人はぜひ見に来てくださいね。



ad131210 at 00:00│ Comments(0)TrackBack(0)