Game Development #15

今回は平面における最大傾斜方向を求める方法を考えてみました。

gradability_mountain

このように斜面を自然に流れていくようなベクトルをどのように求めるのか、という話です。斜面を滑り落ちる落石なんかに使えそうです。自分の場合は戦車のような乗り物に滑る動きを加えたいと思いました。何もしなければ急斜面に静止している戦車というのはちょっと不自然なので。

 

gradability_tank

重力的な作用が加わるだけで、図のように自然な挙動になります。平面における最大傾斜方向の求め方ですが、法線ベクトルから求めることが出来ます。

 

gradability

法線ベクトルのXとZ成分はそのままに、Y成分のみを直角三角形を利用して計算できます。

 

battleship_20131224_slip

戦車がずるずると重力に引っ張られて滑り落ちるようになりました。ちなみに摩擦抵抗の係数をつけることによって氷上を滑るように無限に加速することを回避しています。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中