3Dゲームプログラミング入門 〜3Dグラフィックツールとプラグインが大事

 上級の人ならばともかく、私の様な中級な人間が、3Dゲームを作った場合、
 プログラムは、基本的に、3Dグラフィックツールが作成した3Dデータの再生機です。


 ざっくり言いますと、プログラマのやることは、座標の設定や、再生するデータの種類の選択、再生のタイミングなどです。


 その際、なぜ、3Dグラフィックツールとプラグインが大事かといいますと、自作のプラグインを作成したほうが便利な場合が多いためです。


 以下のことは、結構当たり前のことらしいのですが、私は知らなくて苦労しました。
 昔は、今ほどゲームプログラミング関係の本が充実していなかったので、初級から中級へのステップアップが大変でした。
 

【当たり判定のデータ】
 多くの場合、3Dグラフィックツールを使って、当たり判定のデータを作ります。
 モデルのデータと当たり判定のデータを別のファイルにする方法もありますが、同じファイルにする場合があります。
 その場合、自作のプラグインを作成する必要がある場合があります。


 この場合、3Dモデルの色(属性)のデータを転用して、イベントのIDにするなどが考えられます。
 色の0x00fをイベントID0x00fと解釈し、取得できるようにするわけです。
 こうするとイベント管理が楽になります。
 また、腕に当たった、足に当たったなどの判定にも出来ます。


【魔法とマジシャンの動きをタイミング合わせる】
 マジシャンが杖を上げた時に、魔法が飛ぶようにしたいですね。
 マジシャンのデータと魔法のエフェクトのデータを同じファイルにすることもありますが、
 基本的に別です。
 では、どうやって、動きをタイミング合わせるのでしょうか?
 マジシャンのアニメーションのデータに細工をします。
 マジシャンのアニメーションのデータに、目印になるデータを入れて、そのデータが出てきたら、特定の関数を呼び出すように細工します。
 また、その際、どこから魔法を出すかの座標データも、マジシャン側に組み込んでいて、取れるようにします。
 これにより、杖を上げるという動作と、魔法のタイミングを合わせることが出来ます。

 この細工をするためには、自作のプラグインを作成する必要がある場合があります。


【3Dシーンデータ?に、キャラクタやイベントのデータのIDを組み込む】
 例えば、ダンジョンの宝箱。シーンにしてしまいますと、取ってなくすための管理がややこしくなります。
 やっぱり、キャラクタの一種にしたいものです。
 

 その際、宝箱の座標も、3Dシーンデータの中に組み込んでおくと便利です。


 また、シーンの当たり判定と連動させて、イベントのデータのIDを組み込んでおきますと、当たり判定から、イベント判定を出来るようになります。
 

 色々書きましたが、今の時代、ゲームエンジン使えば、普通に標準装備かな? 
 良く判りませんが...