【Unity】ドアの開閉をスムーズにする

投稿者: | 2020-05-17

ドアをスムーズに開閉させてみます。ドアを掴んでいる間はプレイヤーのカメラをロックして、マウスドラッグでドアを開閉しています。

x = CrossPlatformInputManager.GetAxis("Mouse X");
y = CrossPlatformInputManager.GetAxis("Mouse Y");

text1.text = x + " " + y;

Vector3 move = y * transform.forward + x * transform.right;

//itemRb.velocity = move;
itemRb.velocity = Vector3.Lerp(itemRb.velocity, move, 0.2f);

マウスの縦の移動をプレイヤーのカメラの前方向、横の移動を右方向にかけて足し合わせたものを、ドアのRigidbodyの速度に代入します。

そのままだとドアの開閉がマウスの動きにぴったりとついてきて、リアルな感じがしません。

Vector3.Lerpを使うと、マウスの動きにドアが遅れて付いてくるようにできます。マウスの動きが瞬時に止まってもドアはゆっくりとスピードを落としてから止まります。

FPSコントローラーのカメラは、前の記事の方法で固定しています。

コメントを残す

メールアドレスが公開されることはありません。