アニメーションエディタはひとまず必要なところが出来たので、次はいよいよ本体の作成です。
今回は「いきあたりばったりプログラム」にならないように、ちゃんと考えてから組むことにしました(当たり前)。
まず、「移動」から。 ![]()
図のようにすると、傾きがどうであれ、ちゃんと地面に沿ってあるくことができますよね。
ちなみに、図では「法線ベクトル」と書いていますが、厳密には法線ベクトルを実数倍したベクトルです。
こうしないと、移動ベクトルの大きさによっては地面にめり込んでしまうからです。
実数倍するときには、移動ベクトルのめり込みを計算すればいいはずですね。
ここでは、法線ベクトルを実数倍したベクトルをめり込み補正ベクトルと呼ぶことにします。 しかし、ここまで読んできて、勘のいい人は気づいたはずです。 実は、「あたり判定」のことをまったく考えていないのです。 当たり前ですが、地面と接触してもいないのに、めり込みベクトルとかを計算すると、当たり前ですが明らかに 結果がおかしくなりますよね。だから、めり込みベクトルを計算するときは、「あたり判定に引っかかったときのみ」 のみです。というわけで、次はあたり判定を考えてみます。
|