【Unity】InputSystem
InputSystem
- 安装所需插件
- 使用
- 跳跃
- 移动
安装所需插件
version 1.3.0
Unity最初没有遇见到现在的多平台和多种多样的输入设备,最初的输入系统的设计很多需求难以满足所以推出了InputSystsem。
安装要求:
Unity2019.4和.Net 4以上版本。
安装:
直接到包管理器Window > Package Manager安装即可,安装后提示需要重启,重启后即可使用。
注意:
1、InputSystem与一部分Unity内置的功能尚不兼容,酌情使用,详情参考官方文档。
2、如果想要切换输入系统,可以到Edit > Project Settings > Player在Other Settings中可以选择两种输入方式中的任意一种使用,也可以同时使用。
使用
1、创建Input Actions组件
两种途径可以创建:
1、右键单击Create-->Input Actions创建
2、在想要控制的物体上挂载组件Player Input后单击Create Actions创建。
2、在想要控制的物体上挂载组件Player Input,如上图所示组件,之后绑定对应的Input Actions。
如果想要创建跳跃,射击之类的动作,可以双击创建创建的Input Actions或者选中此文件单击Edit asset
进入配置界面
点击加号分别创建Action Map,Action并绑定按键
如上图所示,Behavior有很多种模式,这里使用的Send Messages,使用此模式会调用下方所示信息中的方法。
跳跃
Will SendMessage() to GameOject: OnDeviceLost, OnDeviceRegained,OncontrolsChanged, OnJump
所以我们要想在按钮被点击时触发应有的事件,就需要创建对应的方法名的方法,创建了一个Player脚本文件并挂载到该物体上,创建如下脚本文件:
using UnityEngine.InputSystem;//需要引用的命名空间
using UnityEngine;public class PlayerController : MonoBehaviour
{public void OnJump() {transform.Translate(Vector3.up);Debug.Log("跳跃");}}
运行后成功执行:
移动
更改Input Actions,添加一个Action,
Action Type为Value,Control Type为Vector 2
删除下方绑定
右键该Action
创建一个上下左右的组合
绑定对应的按键
创建如下脚本:
using UnityEngine.InputSystem;
using UnityEngine;public class PlayerController : MonoBehaviour
{void OnMove(InputValue value){Debug.Log(value.Get<Vector2>());}
}
通过测试我们可以发现输出为:
所以移动代码可以为:
using UnityEngine.InputSystem;
using UnityEngine;public class PlayerController : MonoBehaviour
{public float MoveSpeed;void OnMove(InputValue value){transform.Translate(value.Get<Vector2>()*MoveSpeed*Time.deltaTime);}
}
但是这种情况下并不能实现连续移动,因为事件只能在按键按下时响应一次。
但是根据根据其数值输出按下为1抬起为0,我们或许可以这样做来完成连续移动:
using UnityEngine.InputSystem;
using UnityEngine;public class PlayerController : MonoBehaviour
{public float MoveSpeed;public Vector2 move;void OnMove(InputValue value){move= value.Get<Vector2>() * MoveSpeed * Time.deltaTime;}private void Update(){transform.Translate(new Vector3(move.x,0,move.y));}
}
【Unity】InputSystem相关推荐
- 【Unity】第三人称射击游戏开发过程之瞄准状态设计(TPS.S.P1)
[Unity]第三人称射击游戏开发过程之瞄准状态设计(TPS.S.P1) 设计整体的结构与模式 瞄准状态的设计 瞄准相机 瞄准状态 瞄准时的鼠标移动速度限制 瞄准点的处理 角色在瞄准状态下的旋转 瞄准 ...
- 【unity】解决 2d-extras 的 CustomRuleTileMenu 脚本报错的问题
[unity]解决 2d-extras 的 CustomRuleTileMenu 脚本报错的问题 参考文章: (1)[unity]解决 2d-extras 的 CustomRuleTileMenu 脚 ...
- 【Unity】 结合DoTween制作抛物线效果
[Unity] 结合DoTween制作抛物线效果 概要 public partial class EMath {public static Vector3 Parabola(Vector3 start ...
- 【Unity】Unity 基本介绍
什么是Unity引擎 Unity是一款跨平台的游戏引擎,包含以下系统:渲染引擎.物理引擎.碰撞检测系统.音效引擎.脚本引擎.动画系统.人工智能.网络引擎.场景管理等.Unity提供了丰富且强大的各类功 ...
- 【Unity】关于U3d与bip骨骼适配
[Unity]关于U3d与bip骨骼适配 http://blog.csdn.net/kiki110120/article/details/50371662 写在2015/12/21 1.Generic ...
- 【Unity】如何删除不要的Tile Palette(瓦片地图)(遇到新的问题就继续更新2021.4.29)
[Unity]解决Tilemap碰撞常见问题 写在前面的话 前置条件(阅读以下内容需要掌握的知识) 如何删除Tile Palette 不理解 写在前面的话 咱也不喜欢废话,图片和方法我都会特别标注出来 ...
- 【Unity】Unity内存管理与优化(一)内存域、堆栈、垃圾回收、内存泄漏、内存碎片
文章目录 Unity内存 内存域 - 托管域 - 本地域 - 外部库 - 跨桥操作 堆和栈 - 栈 - 堆 - 堆栈的使用 垃圾回收 - Mono内存分配过程 - 内存泄漏 - 内存碎片 - 运行时垃 ...
- 【Unity】Unity C#基础(十五)implicit 隐式类型转换、explicit 显式类型转换
文章目录 implicit 隐式类型转换 Explicit 显式类型转换 总结 implicit 隐式类型转换 implicit关键字用于声明隐式的用户自定义的类型转换运算符. 如果可以确保转换过程不 ...
- 【Unity】Unity 2D游戏开发(一)U2D基础功能
文章目录 Unity 2D游戏开发基础知识 Animation动画 SortingLayer层排序 Physics 2D物理2D Rigidbody 2D刚体 示例 1.点击鼠标发出子弹 2.子弹打中 ...
最新文章
- Chemistry.AI | 基于卷积神经网络(CNN)预测分子特性
- Android开发出现Warning:Gradle version 2.10 is required. Current version is 2.8
- esxi管理端口_网工知识角|一分钟轻松了解华为端口安全机制
- 天池 在线编程 放小球(动态规划)
- Java中String类中compareTo( )方法
- 优秀!303篇论文获2020年度“优秀博士学位论文”!
- mysql主动自增可以_Mysql join联表及id自增实例解析
- flask的janja模板
- 《iOS应用软件设计之道》—— 2.5 何时画草图
- 全息营销话题提纲(2-1)--王甲佳全息营销系列15
- 数格子算面积的方法_面试小学数学经典教案:《什么是面积》
- latex 箭头_Pandoc上手以及如何使得latex文件转换为Docx文件(MAC)
- python计算信息增益_利用Python提取ABAQUS的计算结果(ODB)信息、体积、应变等变化(一)...
- 今年过年收大礼,劼哥带你进阿里
- 通过SLD_BODY动态改变geoserver的图层样式
- 即时通讯系统————基于TCP协议的C/S架构(Client)
- 加密技术——对称与非对称加密技术简述
- WebRTC学习实现视频
- 乐视X520(乐2 全网通)一键刷机教程
- 注册流程(分离HLR/HSS)
热门文章
- delphi7源码编译安装oracle access控件ODAC9.3.8
- PS流详解(载荷H264)
- oracle prompt出错,Oracle 用 sqlprompt 修改 sqlplus 提示符
- 【iPhone4s降级】2021年初自制固件降级IOS6.1.3
- 小程序----分账功能开发
- 蓝桥杯同一类型题目汇总
- 睿智融科完成上市辅导:无缘科创板后转向创业板,华兴资本押错注
- webrtc USB摄像头
- [ XSS-labs通关宝典 ] xss-labs 通关宝典之 less1 - less5
- 利用NoneBot结合酷q打造qq机器人