我试图在玩家射击时使相机后坐,所以我在fps角色内创建了一个新的空游戏对象,称为“ RecoilController”,还创建了一个MouseLookControllerObj对象,并在像FpsCharacter这样的层次结构中创建了RecoilController的子对象> RecoilControllerObj> MouseLookControllerObj。
我的CameraRecoil.cs脚本附加到RecoilControllerObj,我的MouseLook.cs脚本附加到RecoilControllerObj。
我的问题:
RecoilController改变了MouseLook的旋转角度,从-45度开始的摄像头旋转块开始向上移动。
CameraRecoil.cs
void LateUpdate ()
{
if (Input.GetMouseButtonDown(0))
{
CameraRecoilHolder.Rotate(-20, 0, 0);
}
}
MouseLook.cs
public void Look() Transform rotation)
{
rotation.y += Input.GetAxis("Mouse X");
rotation.x += -Input.GetAxis("Mouse Y");
rotation.x = Mathf.Clamp(rotation.x, -15f, 15f);
Camera.main.transform.localRotation = Quaternion.Euler(rotation.x * lookSpeed, 0, 0);
}
我不想自动重置后坐位置,因为我的游戏需要该玩家必须用手重置。