上級の人ならばともかく、私の様な中級な人間が、3Dゲームを作った場合、
プログラムは、基本的に、3Dグラフィックツールが作成した3Dデータの再生機です。
ざっくり言いますと、プログラマのやることは、座標の設定や、再生するデータの種類の選択、再生のタイミングなどです。
その際、なぜ、3Dグラフィックツールとプラグインが大事かといいますと、自作のプラグインを作成したほうが便利な場合が多いためです。
以下のことは、結構当たり前のことらしいのですが、私は知らなくて苦労しました。
昔は、今ほどゲームプログラミング関係の本が充実していなかったので、初級から中級へのステップアップが大変でした。
【当たり判定のデータ】
多くの場合、3Dグラフィックツールを使って、当たり判定のデータを作ります。
モデルのデータと当たり判定のデータを別のファイルにする方法もありますが、同じファイルにする場合があります。
その場合、自作のプラグインを作成する必要がある場合があります。
この場合、3Dモデルの色(属性)のデータを転用して、イベントのIDにするなどが考えられます。
色の0x00fをイベントID0x00fと解釈し、取得できるようにするわけです。
こうするとイベント管理が楽になります。
また、腕に当たった、足に当たったなどの判定にも出来ます。
【魔法とマジシャンの動きをタイミング合わせる】
マジシャンが杖を上げた時に、魔法が飛ぶようにしたいですね。
マジシャンのデータと魔法のエフェクトのデータを同じファイルにすることもありますが、
基本的に別です。
では、どうやって、動きをタイミング合わせるのでしょうか?
マジシャンのアニメーションのデータに細工をします。
マジシャンのアニメーションのデータに、目印になるデータを入れて、そのデータが出てきたら、特定の関数を呼び出すように細工します。
また、その際、どこから魔法を出すかの座標データも、マジシャン側に組み込んでいて、取れるようにします。
これにより、杖を上げるという動作と、魔法のタイミングを合わせることが出来ます。
この細工をするためには、自作のプラグインを作成する必要がある場合があります。
【3Dシーンデータ?に、キャラクタやイベントのデータのIDを組み込む】
例えば、ダンジョンの宝箱。シーンにしてしまいますと、取ってなくすための管理がややこしくなります。
やっぱり、キャラクタの一種にしたいものです。
その際、宝箱の座標も、3Dシーンデータの中に組み込んでおくと便利です。
また、シーンの当たり判定と連動させて、イベントのデータのIDを組み込んでおきますと、当たり判定から、イベント判定を出来るようになります。
色々書きましたが、今の時代、ゲームエンジン使えば、普通に標準装備かな?
良く判りませんが...