しばらくいじっていると実現されている3Dの機能について大体以下のことがわかる。
矢印キーの操作でオブジェクトの位置を制御できる。
オブジェクトは3Dの地形上で高さにあわせて位置を制御されている。
のぼり勾配を登りきった先で若干ジャンプするので物理運動もシミュレートされている。
中央にある木と目玉、地形の境界と目玉の間で衝突の判定がされてい
る。
およそ、3Dのゲームを作るのに必要そうなことはこのサンプルの中で実現できていることが確認される。
あとは、ちょっとコードをいじりながら中身を調べていこうと思う。
手始めに、外部ファイルを読み込んでいる部分をリストアップしておくと、
#include “hgimg3.as”
texload “fontchr.bmp”
addxfile m_xmodel,”eye.x”
texload2 “tree.tga”
texload “mapbg4.bmp”
picload “g_road.bmp”
picload “g_river.bmp”
picload “g_height1.bmp”
このうち、画像データで、そのまま実行画面にも現れているものはわかりやすい。
texload2 “tree.tga”
は、もろに木のテクスチャだし、
texload “mapbg4.bmp”
は、地面のテクスチャ、
picload “g_road.bmp”
picload “g_river.bmp”
は、地面のテクスチャを塗りわけるためのデータだとわかる。
また、
picload “g_height1.bmp”
は、地面の高低のデータだということもわかる。
#include “hgimg3.as”
は、hgimg3の機能を組み込むためのファイルだから、言ってみれば決り文句なわけだ。
最後に残った、
texload “fontchr.bmp”
addxfile m_xmodel,”eye.x”
だが、xは3Dでは定番だから、まだ話題に上がっていない主役の「目玉」の形状、あるいは動きのデータな訳だ。
texload “fontchr.bmp”
がわからないな。わからなくてもいい。わかるところからいじっていこう。