Unity 输入模块 之 初识新输入系统(其实也不新)

本文仅作笔记学习和分享,不用做任何商业用途

本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​

1.介绍

当年的宣传网页Unity新一代输入系统介绍 - 技术专栏 - Unity官方开发者社区

老输入系统每次配置新项目都需要写一大堆代码,是否显得过于累赘?

新输入系统可以基于unity Event也就是事件监听来处理玩家的点击,我就贼中意事件监听这个方式,简单方便快捷可拓展

unity保姆级教程 之 UnityEvent可视化事件类-CSDN博客 (未重置)

新输入系统的优势:

2.导入并认识新输入系统

unity注册表直接搜索安装即可

值得注意的是,如果新老输入系统并用的话可以如下操作,当然在2022.3稳定版本会自动Both

3.新的api(用键盘举例)

写代码前要引用新的命名空间

cs 复制代码
using UnityEngine.InputSystem;

输入监听

用这个api,注意是Action有参无返回值类型的泛型委托,我直接用了lambda表达式添加了函数(C# 匿名函数与Lambda表达式-CSDN博客

cs 复制代码
   Keyboard keyboard = Keyboard.current;
   // Start is called before the first frame update
   void Start()
   {
      
   }

   // Update is called once per frame
   void Update()
   {
       keyboard.onTextInput += (inputKey) => {

         print("按下了"+inputKey );         
       };
   }

输入控制

cs 复制代码
    Keyboard keyboard = Keyboard.current;
    // Start is called before the first frame update
    void Start()
    {
        //按下
       if(keyboard.rKey.wasPressedThisFrame)
            { 
        //处理按下逻辑
        }
        //抬起
        if(keyboard.rKey.wasReleasedThisFrame) 
            { 
        //处理释放逻辑
        }
        //长按
        if(keyboard.rKey.isPressed)
            { 
        //处理长安逻辑
        }             
    }

4.质疑

这不是还需要写代码吗?除了换了api这和老输入系统有什么区别?

因为我要水文啊,所以可视化配置文件留到下一篇

相关推荐
omegayy8 小时前
Unity 2022.3.x部分Android设备播放视频黑屏问题
android·unity·视频播放·黑屏
虾球xz11 小时前
游戏引擎学习第200天
学习·游戏引擎
woshihedayu12 小时前
虚幻引擎控制角色跟随移动方向旋转的方法
游戏引擎·虚幻
虾球xz12 小时前
游戏引擎学习第199天
学习·游戏引擎
与火星的孩子对话14 小时前
Unity3D开发AI桌面精灵/宠物系列 【三】 语音识别 ASR 技术、语音转文本多平台 - 支持科大讯飞、百度等 C# 开发
人工智能·unity·c#·游戏引擎·语音识别·宠物
向宇it14 小时前
【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍
开发语言·游戏·unity·c#·编辑器·游戏引擎
牙膏上的小苏打23331 天前
Unity Surround开关后导致获取主显示器分辨率错误
unity·主屏幕
Unity大海1 天前
诠视科技Unity SDK开发环境配置、项目设置、apk打包。
科技·unity·游戏引擎
浅陌sss2 天前
Unity中 粒子系统使用整理(一)
unity·游戏引擎
维度攻城狮2 天前
实现在Unity3D中仿真汽车,而且还能使用ros2控制
python·unity·docker·汽车·ros2·rviz2