当前位置:实例文章 » C#开发实例» [文章]Unity简单操作:InputSystem获取WASD键盘输入 移动人物

Unity简单操作:InputSystem获取WASD键盘输入 移动人物

发布人:shili8 发布时间:2024-03-22 14:37 阅读次数:116

在Unity中,我们可以使用InputSystem来获取键盘输入,从而控制人物的移动。下面是一个简单的示例,演示如何使用WASD键盘输入来移动人物。

首先,我们需要在Unity中安装InputSystem插件。在Unity菜单栏中选择Window -> Package Manager,然后在搜索框中输入InputSystem,点击安装即可。

接下来,我们创建一个空物体,并将其命名为Player。然后在Player物体上添加一个Rigidbody组件,用于控制人物的物理运动。

接着,我们创建一个C#脚本,并将其命名为PlayerController。在脚本中,我们需要引入InputSystem命名空间,并编写以下代码:

csharpusing UnityEngine;
using UnityEngine.InputSystem;

public class PlayerController : MonoBehaviour{
 private Rigidbody rb;
 private Vector2 movementInput;

 void Start()
 {
 rb = GetComponent();
 }

 void OnMove(InputValue value)
 {
 movementInput = value.Get();
 }

 void FixedUpdate()
 {
 Vector3 movement = new Vector3(movementInput.x,0, movementInput.y);
 rb.velocity = movement *5f;
 }
}


在上面的代码中,我们首先引入了UnityEngine和UnityEngine.InputSystem命名空间。然后定义了一个私有的Rigidbody变量rb和一个Vector2变量movementInput,用于存储键盘输入的移动方向。

在Start方法中,我们获取Player物体上的Rigidbody组件,并赋值给rb变量。

在OnMove方法中,我们使用InputValue参数来获取键盘输入的移动方向,并将其赋值给movementInput变量。

在FixedUpdate方法中,我们根据movementInput的数值来控制人物的移动。我们创建一个Vector3变量movement,根据movementInput的x和y值来设置移动方向。最后,我们将移动方向乘以一个速度值,并赋值给Rigidbody的velocity属性,从而实现人物的移动。

最后,我们将PlayerController脚本挂载到Player物体上,并在InputSystem中设置WASD键盘输入与PlayerController脚本中的OnMove方法的绑定。

通过以上步骤,我们就可以使用WASD键盘输入来控制人物的移动了。希望这篇文章对你有所帮助!

其他信息

其他资源

Top