【Unity基础】使用InputSystem实现物体跳跃

要在Unity中使用 InputSystem 实现小球按空格键跳起的效果,可以按照以下步骤进行:

1. 安装 InputSystem 包

首先,确保你已经安装了 Input System 包。你可以通过以下步骤安装:

  1. 打开 Unity 编辑器,点击菜单 Window -> Package Manager
  2. Package Manager 中,点击左上角的 + 按钮,选择 Add package from Unity Registry
  3. 在搜索框中输入 Input System,然后点击安装。

2. 启用 InputSystem

安装完成后,需要在 Unity 编辑器中启用 Input System

  1. 进入 Edit -> Project Settings
  2. Player 设置中,找到 Other Settings
  3. Active Input Handling 选项中,选择 BothInput 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

  1. 右键点击 Assets 目录下的任意位置,选择 Create -> Input Actions,创建一个新的 Input Action 文件,比如命名为 PlayerControls.
  2. 双击打开 PlayerControls,创建一个新的 Action Map(比如命名为 Player)。
  3. Player Map 下,添加一个新的 Action(比如命名为 Jump),将它的类型设置为 Button,并绑定到 Space 键。
  4. 保存并关闭 Input Action 编辑器。

5. 将 Input Action 和脚本关联

  1. 回到场景,将 BallController 脚本附加到小球对象上。
  2. BallController 组件中,点击 PlayerControls 输入框,选择你刚刚创建的 PlayerControls 输入文件。
  3. Jump Action 上绑定空格键。

6. 完成

现在你就可以运行游戏并按空格键让小球跳起来了!

解释:

  • 通过 InputSystem,你创建了一个 Action (Jump) 来检测空格键的按下。
  • 脚本中的 OnJump 方法会在按下空格键时触发,给小球的 Rigidbody 添加一个向上的力,使其跳跃。
相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi2 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号2 天前
java函数式编程--入门基础
java·编程·函数式编程