ドアをスムーズに開閉させてみます。ドアを掴んでいる間はプレイヤーのカメラをロックして、マウスドラッグでドアを開閉しています。
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コントローラーのカメラは、前の記事の方法で固定しています。