Unity InputSystem基础

news2024/11/29 13:44:54

一些概念

在这里插入图片描述

  • Action Maps
    一组Action的集合为一个Action Map。可以同时有多个Action Map,可以进行切换,也可以同时运行(监控)。例如可以使用joystick控制角色移动,也可以使用joystick控制菜单。通过切换Action Map,使得显示菜单时使用joystick不会移动角色。
  • Actions
    游戏输入事件,如Movment,Attack等。可以自由定义。每个Action会对应1或多个Binding或Binding的组合。比如Movment Action,可以绑定到Left Stick,也可绑定到WASD的组合。
  • scheme
    可以选择Binding所属的输入模式(scheme),scheme可以让一个player只使用一组binding,默认也可以自动切换。如果不勾选模式,则属于任意模式(即在任意模式下都存在)。Player Input组件中可以选择初始的模式,如果选择,则任意一个模式下的binding被触发时该模式被激活。Player Input组件还可以设置模式Auto Switch,这样当有多个模式存在时(比如同时连接了多个控制器),会根据当前有输入产生的控制器,来选择模式。模式的一个作用是,当本地多人游戏时,可以给每个玩家分配一个模式,比如每人一个手柄,这样他们的输入可以准确的控制相应的玩家角色而不互相干扰。
    无论如何,scheme提供了一个控制一组按键Binding的层次,可根据需求使用。

Player Input组件

在这里插入图片描述
使用这个组件可以快速开发,只要设定所使用的InputActionAsset,并且绑定事件代码即可。

Behavior推荐使用Invoke Unity Events,效率比较高,最好不要使用Send Messages。

处理设备断开重连

主要是两个事件,Device Lost / Device Regained

设备切换(Scheme switch)

Controls Changed事件。如果选择了Auto-Swtich,则会自动切换当前的Scheme。然后可以在这个事件里面获取当前的Scheme,然后做一些有用的操作。比如根据当前的设备显示按键提示。

Debug信息

在Editor模式运行时,会显示当前的User(从0开始),Control Scheme和Devices,比较方便观察设备切换。

On Screen Control

使用On Screen Control通过UI去模拟输入Action, 给UI配置一个control path。

已知问题:当屏幕上有多个on screen control时,将某一个control deactive会导致其他control状态混乱。可能和deactive control时的输入设备管理有关系。临时解决方法:不要deactive on screen control game object,可以将其image组件disable。

参考资料

  • 官方例子工程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

别小看 Log 日志,它难住了我们组的架构师

Slf4j slf4j 的全称是 Simple Loging Facade For Java,它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,必须搭配…

Go后端部署服务器

go后端部署服务器方式一:(最简单) 和暑假做重点场所项目部署一样,简单,无脑,手动,麻烦 1、# 修改(确保)环境,因为服务器是linux系统 go env -w GOOSlinux …

FreeRTOS实验使用02

1:队列集使用 主要就是函数xQueueSelectFromSet 返回值的判断,用于判断里面的消息谁有效 Pend (or block) on multiple RTOS queues and semaphores in a set (freertos.org) 官方给的例程更好,更规范 2:任务通知使用 xR xTaskNotify(Task…

手把手教你从0到1通过 Express 完成图片上传并保存至阿里云OSS功能(附详细源码)

🧨 大家好,我是 Smooth,一名大三的 SCAU 前端er 🙌 如文章有误,恳请评论区指正,谢谢! ❤ 写作不易,「点赞」「收藏」「转发」 谢谢支持! 背景 近期一个项目由于缺人&…

遗传算法解决旅行商问题

问题描述旅行商问题(TSP). 一个商人欲从自己所在的城市出发,到若干个城市推销商品,然后回到其所在的城市。如何选择一条周游路线,使得商人经过每个城市一次且仅一次后回到起点,并使他所走过的路径最短&…

oom killer理解和日志分析:知识储备

参考:oom killer 详解 oom killer日志分析,这是前篇,准备一些基础知识 带着问题看: 1.什么是oom killer 是Linux内核设计的一种机制,在内存不足的时候,选择一个占用内存较大的进程并kill掉这个进程&…

【JVM系列】JVM内存结构

JVM内存结构 运行时数据区 JAVA运行时内存划分堆,方法区,虚拟机栈,本地方法栈和程序计数器。 线程私有的有: - 程序计数器 - 虚拟机栈 - 本地方法栈​ 线程共享的有: - 堆 - 方法区程序计数器 用来记录当前线程执…

Redundant Paths(双向图的缩点(边联通分量缩成点))

F-Redundant Paths_2022图论班第二章连通性例题与习题 (nowcoder.com) 为了从F(1 \leq F \leq 5000)F(1≤F≤5000)一块牧场(编号为1..F)到另一块牧场,贝西和牛群的其他成员不得不穿过烂苹果树附近。奶牛现在厌倦了经常被迫走一条特定的路,想要建造一些新…

YOLO-V5 系列算法和代码解析(六)—— 分布式训练

文章目录预备知识DPDDPDP和DDP对比YOLO-V5 实际使用参考链接预备知识 为了更好的理解分布式相关的内容,需要提前熟悉一些基本概念和特定的名称。分布式训练涉及到设备端(CPU,GPU),算法端(梯度更新&#xff…

项目团队承诺管理的3个重要因素

每一个项目都需要一个强有力的领导者,以获得适当的成功机会。与一个优柔寡断、缺乏经验的项目领导者相比,一个有组织的领导者在管理一个精心策划的项目时,更有可能取得项目的成功和客户的满意。再加上一个非常投入和负责任的项目团队&#xf…

[ docker相关知识 ] 删除 docker 拉取的镜像 -- 释放内存

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

Speckle 3d数据引擎Python开发实战

在这个教程中,我们将使用 Speckle 数据并使用它来创建一个超级简单的仪表板。 我们将从Speckle流中接收几何图形,更新数据,并使用它来使用 Plotly 和 Dash 进行一些计算和简单绘图。 我们假设你具有 Python 和 Speckle 的一般知识。 如果有任…

信号处理——MATLAB音频信号加噪、滤波

音频信号叠加噪声及滤波一、前言二、信号分析及加噪三、滤波去噪四、总结很抱歉大家,最近经常有朋友私信问我关于这篇信号处理的一些问题,因为最近比较忙所以没能一一回复,给大家说句抱歉,希望那些给我私信的人可以看到。大家问的…

golang 垃圾回收-三色标记法(白话版)

对于golang 垃圾回收的了解,我理解更多的就是了解,实际做项目能用到垃圾回收的知识点不多,但有些晦涩难懂的语言,是我们的绊脚石,对于技术怎么能理解就怎么记忆。 1. golang垃圾回收的基础:标记&#xff08…

ESNI 和ECH的前世今生

这边文章中提到过虽然 TLS 能够加密整个通信过程,但是在协商的过程中依旧有很多隐私敏感的参数不得不以明文方式传输,其中最为重要且棘手的就是将要访问的域名,即 SNI(Server Name Indication)。同时还有用于告知客户端…

javaEE高阶---MyBatis

一 : 什么是MyBatis MyBatis是更简单完成程序和数据库交互的工具,也就是更简单的操作和读取数据库的工具.MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 去除了几乎所有的 JDBC 代码以及设置参数和获取结果集的动作 . MyBatis …

[oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史

换行回车 回忆上次内容 换行 和 回车 是两回事 换行 对应字节0x0ALine-Feed 水平 不动垂直 向上喂纸 所以是 feed 回车 对应字节0x0DCarriage-Return 垂直 不动水平 回到纸张左侧 可移动的打印头 运输字符 的 装置 (Carriage)回到 行首 所以是 Return tty、terminal、shell、…

【视觉SLAM】DM-VIO: Delayed Marginalization Visual-Inertial Odometry

L. v. Stumberg and D. Cremers, “DM-VIO: Delayed Marginalization Visual-Inertial Odometry,” in IEEE Robotics and Automation Letters, vol. 7, no. 2, pp. 1408-1415, April 2022, doi: 10.1109/LRA.2021.3140129. 论文阅读方法:Title,Abstract…

百趣代谢组学文献分享:学科交叉研究,微生物回收重金属机制研究

发表期刊:Environment International 影响因子:7.297 发表时间:2019年 合作单位:福建农林大学 百趣代谢组学文献分享,该文章是BIOTREE协助客户2019年发表在Environment International上的关于微生物回收重金属机制研…

Tomcat的Connector启动过程分析

一. 前言 前面分析了tomcat的整体架构和tomcat的启动过程,在分析启动过程的时候只讲了整体的启动过程,本篇来重点分析一下tomcat的Connector(连接器)组件的启动过程。 二.从Connector的构造开始 那么org.apache.catalina.connector.Connector是在什么…