当前位置: 首页 > news >正文

Unity Input System自动生成配置

参考视频

创建及配置新输入系统 New Input System|Unity2022.2 最新教程《勇士传说》入门到进阶|4K_哔哩哔哩_bilibili

ProjectSettings设置

Unity编辑器菜单栏选择Edit->Project Settings->Player->Other Settings,将Api Compatibility Level 下拉列表选项改为.Net Framework,再将Active Input Handling 下拉列表选项改为BothActive Input Handling下拉列表选项可能有时候会没有,不懂是bug还是啥,此时可打开资源目录,将Library文件夹删除并重新打开项目使Active Input Handling出现。注:有Active Input Handling下拉列表时跳过删除Library文件夹步骤)。

导入Input System

Unity编辑器菜单栏选择Window->Package Manager->Unity Registry,搜索Input System 并Install

自动生成配置文件

选择场景中任意一个物体,在Inspect面板中选择Add Component->Player Input,然后单击Player Input组件的Create Actions,选择保存路径(我的选择是放在Settings文件夹下,文件命名PlayerInputControl)并设置配置文件名称即可生成一个包含游戏控制和UI控制的输入系统配置文件,生成的配置文件可自定义修改(修改完成记得点击Save Asset保存或开启Auto Save

配置可通过代码调用的Player Input Action

选中生成的配置文件PlayerInputControl,在Inspect面板中勾选Generate C# Class并点击Apply即可生成一个配置类。

通过代码使用Input System

创建一个输入系统管理类CharacterInputSystem,在类中实例化一个PlayerInputControl对象,使用该对象获取其成员属性(代码参考如下,可依据实际情况做修改)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CharacterInputSystem : MonoBehaviour
{private PlayerInputControl inputActions;#region Bulit In Functionvoid Awake(){if (inputActions == null){inputActions = new PlayerInputControl();}}void OnEnable(){inputActions.Enable();}void OnDisable(){inputActions.Disable();}#endregion#region Key Settingpublic Vector2 PlayerMovement{get => inputActions.GamePlayer.Move.ReadValue<Vector2>();}public Vector2 CameraLook{get => inputActions.GamePlayer.Look.ReadValue<Vector2>();}#endregion
}

代码示例中的PlayerMovement属性获取的值对应上图,同理CameraLook属性对应Action Maps 为GamePlayLook的值。

http://www.lryc.cn/news/451283.html

相关文章:

  • 【Windows】在任务管理器中隐藏进程
  • 【TypeScript学习】TypeScript基础学习总结二
  • 中国电信解锁万亿参数大模型:TeleAI的创新与突破
  • 戴尔PowerEdge R840服务器亮黄灯 不开机
  • 【前端安全】js逆向之微信公众号登录密码
  • C# 泛型使用案例_C# 泛型使用整理
  • Docker 安装 Citus 单节点集群:全面指南与详细操作
  • Arthas redefine(加载外部的.class文件,redefine到JVM里 )
  • C++教程(三):c++常用的配置文件类型
  • Arduino Uno控制雨滴传感器模块的设计方案
  • 华为常见命令手册
  • TinyAP:使用TinyML对抗Wi-Fi攻击的智能接入点
  • grafana频繁DataSourceError问题
  • python-ds:Python 中的数据结构库(适用于面试的数据结构和算法合集)
  • AccessoriesqueryController
  • M3u8视频由手机拷贝到电脑之后,通过potplayer播放报错找不到文件地址怎么解决?
  • 【分布式微服务云原生】windows+docker+mysql5.7.44一主一从主从复制
  • 鸿蒙NEXT开发-界面渲染(条件和循环)(基于最新api12稳定版)
  • TypeScript 设计模式之【状态模式】
  • MongoDB 聚合管道
  • python-patterns:Python 设计模式大全
  • Nginx编译所需基本库pcre、zlib、openssl
  • C#进阶:探索嵌套类、匿名类及对象初始化器的强大运用
  • 匈牙利算法模板
  • ubuntu 安装harbor
  • Python/大数据/机器识别毕业设计选题题目推荐
  • 基于Python的人工智能应用案例系列(17):LSTM正弦波预测
  • Python空间地表联动贝叶斯地震风险计算模型
  • 虚幻引擎-设置UI自适应屏幕大小
  • C++继承的三种方式[ACCESS]