Unity事例ノート

UNITY

AddForceを使ったジャンプとvelocityによるジャンプ

オブジェクトのジャンプについて、AddForceを使った場合と、velocityを使った場合、それぞれの動きをみてみましょう。

左クリックを連打するとオブジェクトが浮上。

AddForce(グリーン)は、オブジェクトに力を加えるため、ジャンプのような動きには違和感なく使用できます。

velocity(オレンジ)は、移動する速度を指定する処理(リジッドボディの速度ベクトル)です。

関連記事:
【Unity C#】ボタン連打による急激なジャンプを制御
【Unity C#】ダブルジャンプの仕組み
【Unity C#】クリックした方向へジャンプする
【Unity C#】着地していればジャンプ可能
【Unity C#】キャラクターをジャンプさせるしくみ
【Unity C#】ジャンプした距離を表示する
【Unity C#】ジャンプで壁に触れると引っ付く
【Unity C#】斜めにジャンプする

Addforceとvelocityのジャンプを比較

PlaneとCubeを2つ作成。

Cubeにはリジッドボディを追加します。

Cubeの名前をそれぞれ、Cube_AddForceと、Cube_Velocityに変更します。

Cube_AddForceの座標を変更します。

Cube_Velocityの座標を変更します。

2つのCubeには、わかりやすいようにマテリアルカラーを付けました。

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

AddForceのほうはグリーン、Velocityのほうはオレンジにしました。

AddFoceJump.csを作成し、Cube_AddForceに追加します。

続いて、VelocityJump.csを作成し、Cube_Velocityに追加します。

ゲームプレイして、クリックを連打してみましょう。

動きの区別がつきにくいですが、Velocity(オレンジ)のほうはクリックするたびに等速で浮上しているようなイメージで、ジャンプとしては少し不自然です。

一方、AddForce(グリーン)のほうは、連打するたびに上に向けて力が加わり、どちからというと自然に近い挙動です。

関連記事:
【Unity C#】ボタン連打による急激なジャンプを制御
【Unity C#】ダブルジャンプの仕組み
【Unity C#】クリックした方向へジャンプする
【Unity C#】着地していればジャンプ可能
【Unity C#】キャラクターをジャンプさせるしくみ
【Unity C#】ジャンプした距離を表示する
【Unity C#】ジャンプで壁に触れると引っ付く
【Unity C#】斜めにジャンプする