Unity事例ノート

UNITY

キャラクターをジャンプさせるしくみ

スペースキー押すせば、キャラクターがジャンプする仕組みをつくっていきましょう。

地面に接しているときはジャンプ可能。空中にいる間は、ジャンプ不可能にします。

関連記事:
着地していればジャンプ可能(Raycast)
着地していればジャンプ可能(Collider)
クリックした方向へジャンプする
ジャンプした距離を表示する
斜めにジャンプする
ジャンプを続けながら壁をのぼる
シフトキーでジャンプの高さを2倍にする
ダブルジャンプの仕組み
AddForceを使ったジャンプとvelocityによるジャンプ

RigidBodyを使ったジャンプ

今回の制作では、Golden Tigerというフリーのアセットを使用させていただきました。

Golden Tiger

地面として、平面オブジェクトを作成しましょう。

Plane(平面)には黒色をつけました。

続いて、キャラクターのオブジェクトを配置します。

タイガーのデータがいくつか用意されているのですが、今回は tiger_idle を使用しました。

シーンビューではこのように見えています。

地面との接地判定をするために、スフィアコライダーを作成します。

トリガーにするにチェックを入れ、サイズを0.1まで縮小しました。

コライダーを横から確認すると、このように地面の中に半分埋まっている状態です。

続いて、ボックスコライダーを追加します。

このコライダーは、キャラクターの体として扱います。

コライダーを編集して、タイガーの体を囲みます。

真横から確認します。

下は地面にぴったり付くあたりまで下げましょう。

次に、リジッドボディを追加します。

ジャンプのためのスクリプトを作成します。

Player.csを作成し、tiger_idleに追加します。

Player.csを記述します。

▼YouTubeにて、このスクリプトを解説しています。

ゲームプレイして、Spaceキーを押してみましょう。

ポイントは、地面に接しているかどうかの判定(スフィアコライダーのトリガー)です。

これが無ければ、スペースキーを連打すると、どんどん上に上がってしまうんですね。

着地しているときのみ、ジャンプが効くようにしています。

次回はジャンプのアニメーションについてご紹介します。

ジャンプのアニメーション

関連記事:
着地していればジャンプ可能(Raycast)
着地していればジャンプ可能(Collider)
クリックした方向へジャンプする
ジャンプした距離を表示する
斜めにジャンプする
ジャンプを続けながら壁をのぼる
シフトキーでジャンプの高さを2倍にする
ダブルジャンプの仕組み
AddForceを使ったジャンプとvelocityによるジャンプ