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键盘输入来控制人物的移动了。希望这篇文章对你有所帮助!