XNAにおける3Dゲーム描画設計 (キャラクタータスクに描画情報を持たせる)
今回はフレームワークにモデルデータを読みこませる説明をしたいと思います。
しかしながら、XNA での説明は Java の場合と違って何もないところから作る訳ではない上に説明が複雑になる個所が多々あるため、サンプルソースを元に説明した方が容易と考え、本カテゴリーではサンプルソースを用いての説明として進めたいと思います。
◇ ◇ ◇
さて、前回ではモデルとスプライトのキャラクラータスクの設計を行いました。今回はこの片方であるモデルのキャラクタータスクに焦点を当てたいと思います。
ソースファイル「ModelCharacterTask.cs」を参照しながら説明を進めます。
■サンプルソース

Fig.実行画面

Fig.サンプルソースのデータ構成
モデルキャラクタークラスはモデルデータを保持するクラスとなり、この中にXNAで提供されるModelクラスをメンバ(m_model)として保持します。
また、このモデルを描画するための座標(m_centerPosition)、ヒット領域(m_collisionBox)等、幾つかの情報を持ちます。
今後、このモデル情報の描画について説明を行う予定ですが、ここでは「モデルキャラクタークラスにはモデル情報と描画に必要な情報が内包されているんだな」という程度の認識で構いません。そして、描画が行われる際にはこの情報を参照して描画が行われます。
では、このモデルはどのようにして設定されるのかというと、モデルファイルを読み込むための仕組みがXNAにて用意されています。
次回はモデルファイルを読み込むためのVisual C#、並びにXNAにおける設定方法を説明したいと思います。
しかしながら、XNA での説明は Java の場合と違って何もないところから作る訳ではない上に説明が複雑になる個所が多々あるため、サンプルソースを元に説明した方が容易と考え、本カテゴリーではサンプルソースを用いての説明として進めたいと思います。
◇ ◇ ◇
さて、前回ではモデルとスプライトのキャラクラータスクの設計を行いました。今回はこの片方であるモデルのキャラクタータスクに焦点を当てたいと思います。
ソースファイル「ModelCharacterTask.cs」を参照しながら説明を進めます。
■サンプルソース

Fig.実行画面

Fig.サンプルソースのデータ構成
モデルキャラクタークラスはモデルデータを保持するクラスとなり、この中にXNAで提供されるModelクラスをメンバ(m_model)として保持します。
また、このモデルを描画するための座標(m_centerPosition)、ヒット領域(m_collisionBox)等、幾つかの情報を持ちます。
今後、このモデル情報の描画について説明を行う予定ですが、ここでは「モデルキャラクタークラスにはモデル情報と描画に必要な情報が内包されているんだな」という程度の認識で構いません。そして、描画が行われる際にはこの情報を参照して描画が行われます。
では、このモデルはどのようにして設定されるのかというと、モデルファイルを読み込むための仕組みがXNAにて用意されています。
次回はモデルファイルを読み込むためのVisual C#、並びにXNAにおける設定方法を説明したいと思います。
| HOME |