unity人物旋转移动代码
时间: 2023-07-03 12:13:52 浏览: 119
角色移动代码
以下是一个简单的 Unity 人物旋转移动代码示例:
```csharp
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
public float turnSpeed = 10f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(horizontal, 0f, vertical) * moveSpeed * Time.fixedDeltaTime;
rb.MovePosition(transform.position + transform.TransformDirection(movement));
if (movement.magnitude > 0f)
{
Quaternion targetRotation = Quaternion.LookRotation(movement.normalized);
rb.MoveRotation(Quaternion.Lerp(rb.rotation, targetRotation, turnSpeed * Time.fixedDeltaTime));
}
}
}
```
这个代码包含以下功能:
- 控制人物向前、后、左、右移动。
- 控制人物随着移动方向旋转。
- 控制人物移动速度和旋转速度。
你可以根据自己的需要对这个代码进行修改,比如新增跳跃、奔跑等功能。
阅读全文