unity3D角色移动代码
时间: 2023-07-09 18:37:46 浏览: 153
以下是一个基本的Unity3D角色移动代码示例:
```csharp
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
private Rigidbody rb;
private Vector3 movement;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
movement = new Vector3(h, 0f, v).normalized;
}
void FixedUpdate()
{
rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
}
}
```
在这个示例中,我们使用了Rigidbody组件来控制角色的移动。在Start()方法中,我们获取了Rigidbody组件的引用,然后在Update()方法中获取了玩家的输入,将其存储在movement向量中。最后,在FixedUpdate()方法中,我们使用Rigidbody的MovePosition()方法来移动角色。
你可以将这个脚本附加到你的角色游戏对象上,然后在Inspector窗口中设置移动速度。注意,这个示例只处理了水平和垂直移动,如果你需要斜向移动,需要对movement向量进行修改。
阅读全文