unity 按键盘a d相机进行平滑旋转 按w s人物进行平滑移动 人物移动时相机跟随
时间: 2023-08-18 18:05:13 浏览: 145
实现这个功能需要分为两个部分,一是相机旋转,二是人物移动及相机跟随。具体实现可以参考以下思路:
1. 相机旋转
使用Input.GetAxis("Horizontal") 来获取按下 a 和 d 键的输入,根据输入的值来控制相机的旋转,可使用以下代码实现:
```
float horizontal = Input.GetAxis("Horizontal");
if (horizontal != 0)
{
transform.Rotate(Vector3.up, horizontal * Time.deltaTime * rotateSpeed);
}
```
其中,rotateSpeed 是旋转速度,可以自行设置。
2. 人物移动及相机跟随
使用Input.GetAxis("Vertical") 来获取按下 w 和 s 键的输入,根据输入的值来控制人物的移动,同时使用相机的位置跟随人物移动,可使用以下代码实现:
```
float vertical = Input.GetAxis("Vertical");
if (vertical != 0)
{
Vector3 moveDirection = new Vector3(transform.forward.x, 0, transform.forward.z).normalized;
transform.position += moveDirection * Time.deltaTime * moveSpeed * vertical;
Camera.main.transform.position = transform.position + cameraOffset;
}
```
其中,moveSpeed 是移动速度,可以自行设置,cameraOffset 是相机与人物之间的偏移量,可以根据需求进行调整。
希望这些代码可以帮助你实现平滑旋转和平滑移动,并且相机可以跟随人物移动。
阅读全文