unity控制角色移动的代码
时间: 2023-06-08 12:04:02 浏览: 157
很高兴回答你的问题。控制角色移动的代码可以参考以下示例:
```
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed = 5f;
public float turnSpeed = 10f;
private Rigidbody rb;
private float horizontal;
private float vertical;
private void Start()
{
rb = GetComponent<Rigidbody>();
}
private void Update()
{
horizontal = Input.GetAxisRaw("Horizontal");
vertical = Input.GetAxisRaw("Vertical");
}
private void FixedUpdate()
{
Move();
Turn();
}
private void Move()
{
Vector3 movement = transform.forward * vertical * moveSpeed * Time.fixedDeltaTime;
rb.MovePosition(rb.position + movement);
}
private void Turn()
{
float turn = horizontal * turnSpeed * Time.fixedDeltaTime;
Quaternion turnRotation = Quaternion.Euler(0f, turn, 0f);
rb.MoveRotation(rb.rotation * turnRotation);
}
}
```
该脚本使用 Rigidbody 组件控制角色移动,并通过 Input 系统获取玩家输入。horizontal 和 vertical 分别是玩家在水平和垂直方向上的输入。使用 Transform 类型的 forward 作为移动方向,Quaternion 类型的 Euler 表示旋转。moveSpeed 和 turnSpeed 控制角色的移动和转向速度。请注意,此代码仅供参考,您可以根据自己的需要进行修改和调整。
阅读全文