【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 添加一个向上的力,使其跳跃。
相关推荐
一定要AK12 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao12 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao12 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
迷藏49412 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
wuxinyan12313 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题
新知图书13 小时前
搭建Spring Boot开发环境
java·spring boot·后端
冰河团队13 小时前
一个拉胯的分库分表方案有多绝望?整个部门都在救火!
java·高并发·分布式数据库·分库分表·高性能
洛_尘13 小时前
Java EE进阶:Linux的基本使用
java·java-ee
宸津-代码粉碎机13 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
MaCa .BaKa13 小时前
47-心里健康咨询平台/心理咨询系统
java·spring boot·mysql·tomcat·maven·intellij-idea·个人开发