もどる
fire1.gif 本格的に作る前に 00/06/24
アニメーションエディタはひとまず必要なところが出来たので、次はいよいよ本体の作成です。 今回は「いきあたりばったりプログラム」にならないように、ちゃんと考えてから組むことにしました(当たり前)。

まず、「移動」から。
移動は「傾きのある地面」もあるけるようにします。 これを実現するには・・・・次の図を見てください。

図-1

図のようにすると、傾きがどうであれ、ちゃんと地面に沿ってあるくことができますよね。 ちなみに、図では「法線ベクトル」と書いていますが、厳密には法線ベクトルを実数倍したベクトルです。 こうしないと、移動ベクトルの大きさによっては地面にめり込んでしまうからです。 実数倍するときには、移動ベクトルのめり込みを計算すればいいはずですね。 ここでは、法線ベクトルを実数倍したベクトルをめり込み補正ベクトルと呼ぶことにします。
図のとき、めり込み補正ベクトルは(法線ベクトル)*(X Sinθ)となることは明らかです。 んで、(実際の移動ベクトル)=(移動ベクトル)+(めり込み補正ベクトル)なので、 これで地面に沿って歩かせることが出来るんだよなぁ、多分。二次元の図を使って説明しましたが、 三次元のときでもまったく同じことだと思います。とにかく、これでQuakeのように いろいろな壁、地面に沿って歩けるわけです。

しかし、ここまで読んできて、勘のいい人は気づいたはずです。 実は、「あたり判定」のことをまったく考えていないのです。 当たり前ですが、地面と接触してもいないのに、めり込みベクトルとかを計算すると、当たり前ですが明らかに 結果がおかしくなりますよね。だから、めり込みベクトルを計算するときは、「あたり判定に引っかかったときのみ」 のみです。というわけで、次はあたり判定を考えてみます。

次へ進む





もどる