要在Unity中使用 InputSystem 实现小球按空格键跳起的效果,可以按照以下步骤进行:
1. 安装 InputSystem 包
首先,确保你已经安装了 Input System 包。你可以通过以下步骤安装:
- 打开 Unity 编辑器,点击菜单
Window->Package Manager。 - 在
Package Manager中,点击左上角的+按钮,选择Add package from Unity Registry。 - 在搜索框中输入
Input System,然后点击安装。
2. 启用 InputSystem
安装完成后,需要在 Unity 编辑器中启用 Input System:
- 进入
Edit->Project Settings。 - 在
Player设置中,找到Other Settings。 - 在
Active Input Handling选项中,选择Both或Input System Package (New),然后重启 Unity。
3. 创建一个简单的脚本
接下来,创建一个脚本来处理小球的跳跃:
cs
using UnityEngine;
using UnityEngine.InputSystem;
public class BallController : MonoBehaviour
{
public float jumpForce = 5f; // 跳跃力度
private Rigidbody rb; // 小球的刚体
// 按键事件
private void OnJump(InputValue value)
{
if (value.isPressed && Mathf.Abs(rb.velocity.y) < 0.01f) // 确保小球不在空中时才跳跃
{
rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
}
}
private void Start()
{
rb = GetComponent<Rigidbody>();
}
}
4. 设置 Input Action
- 右键点击
Assets目录下的任意位置,选择Create->Input Actions,创建一个新的Input Action文件,比如命名为PlayerControls.

- 双击打开
PlayerControls,创建一个新的 Action Map(比如命名为Player)。 - 在
PlayerMap 下,添加一个新的 Action(比如命名为Jump),将它的类型设置为Button,并绑定到Space键。 - 保存并关闭 Input Action 编辑器。

5. 将 Input Action 和脚本关联
- 回到场景,将
BallController脚本附加到小球对象上。 - 在
BallController组件中,点击PlayerControls输入框,选择你刚刚创建的PlayerControls输入文件。 - 在
JumpAction 上绑定空格键。
6. 完成
现在你就可以运行游戏并按空格键让小球跳起来了!

解释:
- 通过
InputSystem,你创建了一个 Action (Jump) 来检测空格键的按下。 - 脚本中的
OnJump方法会在按下空格键时触发,给小球的Rigidbody添加一个向上的力,使其跳跃。