- ベストアンサー
ゲームの内部構造について
モンスターハンターをやっててふと思ったのですが、 敵の攻撃のモーションなどはどのように管理されているんですか? 一定のモーションを作ったものをデータとして定義しておいてそれをメモリに呼び出して使用していたりするわけですか? シューティングなどで時機の座標と敵の座標をなどは計算で出してるのかなぁとなんとなく納得できるんですがCGを自由にプログラムに組み込んで動かしてるあたりが違和感があるんですよ。 やっぱり画像データ(3Dにしろ2Dにしろ)を時間的に順番に座標移動してるような感じですかね? 言ってること意味不明かもしれませんが暇がありましたらお答えください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
シューティングにしろ、確かに座標の移動そのものに関してはプレイヤが入力している間とか時系列的なものになるかもしれませんが、 その際、グラフィックを機体が傾いたようなグラフィックに変えるとか、そういったものは貴方の言う所の「一定のモーション」なわけで。 3Dの場合はそのモーションも座標計算で表現できるという話。 2Dにしろ3Dにしろ、それらを複雑に組み合わせて表現しています。 なので一定のモーションだろうが、時系列の動きだろうが、やってることは一緒です(3Dなら尚更)。 基本的には、単にユーザのインプットがあるかどうかの括りしかないです。 動きそのものであれば、敵味方関係ない話になると思います。 MHで言うならプレイヤが攻撃ボタンをおしたら、武器を使いますよね。 その動きそのものをコントローラで操作しますか?しないですよね? これも貴方の言う「一定のモーション」ではないですか? また、プレイヤ以外の動きを起こす部分は、AI等のロジックが担当するわけです。 この部分に関しても、基本的なところは2Dとかわりません。 シューティングの場合は単純に弾幕ばら撒けば良いというユニットは単純仕様ですが、プレイヤーを狙い撃ちするとか、そういうユニットは同様にプレイヤを狙うというモーションを起こすためのロジックが組まれているわけで。
お礼
回答ありがとうございます。 納得しました。仕組み的にはそんなに難しいことはやってないんですね。AIとかを組むのは大変だと思いますが・・・