Unity3D相机跟随
1、摄像机是移动物体的子物体,在控制移动之前要提前设置好摄像机与物体的距离
float moveSpeed = 5f;
//获取键盘输入的值,对应键盘上的A键和D键 或←键和→键
float x = Input.GetAxis("Horizontal");
//获取键盘输入的值,对应键盘上的W键和S键 或↑键和↓键
float y = Input.GetAxis("Vertical");
//控制物体前后移动
transform.Translate(Vector3.forward * y * 5 * Time.deltaTime,Space.Self);
//控制物体旋转
transform.Rotate(Vector3.up * x * 20 * Time.deltaTime,Space.World);
//对应X方向上鼠标的移动,在移动设备上也可以这样,向上移动返回值为正,向下移动返回值为负,取值范围在 -1~1 之间
float mouseX = Input.GetAxis("Mouse X") * moveSpeed;
float mouseY = Input.GetAxis("Mouse Y") * moveSpeed;
//鼠标在Y轴上的移动转为摄像机的上下移动,即是绕着X轴反向旋转
Camera.main.transform.localRotation = Camera.main.transform.localRotation * Quaternion.Euler(- mouseY,0,0);
//鼠标在X轴上的移动转为主角左右旋转,同时带动其子物体摄像机的左右旋转
transform.localRotation = transform.localRotation * Quaternion.Euler(0,mouseX,0);