Unity事例ノート

UNITY

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

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

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

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

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

関連記事:
ボタン連打による急激なジャンプを制御
ダブルジャンプの仕組み
クリックした方向へジャンプする
着地していればジャンプ可能
着地していればジャンプ可能(Raycast)
キャラクターをジャンプさせるしくみ
ジャンプした距離を表示する
ジャンプで壁に触れると引っ付く
斜めにジャンプする
キーを押していれば浮上、離せば落下
バウンドの高さをスクリプトから調整
触れている相手に一定間隔で力を加える

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(グリーン)のほうは、連打するたびに上に向けて力が加わり、どちからというと自然に近い挙動です。

関連記事:
ボタン連打による急激なジャンプを制御
ダブルジャンプの仕組み
クリックした方向へジャンプする
着地していればジャンプ可能
キャラクターをジャンプさせるしくみ
ジャンプした距離を表示する
ジャンプで壁に触れると引っ付く
斜めにジャンプする
キーを押していれば浮上、離せば落下
バウンドの高さをスクリプトから調整
触れている相手に一定間隔で力を加える

SCHOOL教室案内