【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 添加一个向上的力,使其跳跃。
相关推荐
xun-ming14 小时前
AI时代Java程序员自救手册
java·开发语言·人工智能
DavidSoCool14 小时前
GB28181 PTZCmd 完整指令对照表(8 位 16 进制)+ 详细注释 + 使用说明
java·sip·gb28181
张健115640964814 小时前
C++访问控制与友元
java·开发语言·c++
Sam_Deep_Thinking14 小时前
中小团队需要一个资源微服务
java·微服务·架构
Thanks_ks14 小时前
透过 Copy-On-Write 机制:理解并发编程中的性能与一致性权衡
java·多线程·并发编程·底层原理·写时复制·copyonwrite·性能优
一只幸运猫.14 小时前
JAVA后端面试题
java·开发语言
迪捷软件15 小时前
显控系统虚拟仿真的工程化路径
游戏引擎·cocos2d
空中海15 小时前
第三章:Maven高级篇 — 插件开发与多模块工程
java·maven
秋915 小时前
TiDB 数据库全链路实战指南:从下载部署到 Java 高并发调优
java·数据库·tidb
JAVA面经实录91715 小时前
Java开发工程基础完整手册(企业实战完整版)
java·开发语言·git·ci/cd·svn·github·intellij idea