首页 > 其他分享 >Unity获取用户输入

Unity获取用户输入

时间:2023-12-24 20:12:23浏览次数:32  
标签:鼠标 该值 GetAxis float 获取 Unity Input 输入

Unity获取用户输入

基本概念

unity​中使用Input.GetAxis()​或Input.GetAxisRaw()​接口来获得用户输入,这两个接口的返回值取值范围为[-1,1],具有以下特性:

  • 该值的含义取决于输入控制的类型,例如,对于游戏杆的水平轴,值为 1 表示游戏杆向右推到底,值为 -1 表示游戏杆向左推到底;值为 0 表示游戏杆处于中性位置。
  • 对于鼠标:如果将轴映射到鼠标,该值会有所不同,并且不会在 -1...1 的范围内。此时,该值为当前鼠标增量乘以轴灵敏度。通常,正值表示鼠标向右/向下移动,负值表示鼠标向左/向上移动。
  • 该值与帧率无关;使用该值时,您无需担心帧率变化问题。

区别

  • GetAxis():unity进行了输入平滑处理,水平范围和垂直范围从 0 变为 +1 或 -1,以 0.05f 的步幅增加/减少。
  • GetAxisRaw():对于键盘和游戏杆输入,该值将处于 -1...1 的范围内。 由于未对输入进行平滑处理,键盘输入将始终为 -1、0 或 1。 如果您想自己完成键盘输入的所有平滑处理,这非常有用。

输入

接口要求输入string​类型的axisName​ ,常见的取值如下所示

       float x= Input.GetAxis("Horizontal");//对应键盘上的A键和D键 或←键和→键
       float z = Input.GetAxis("Vertical"); //对应键盘上的W键和S键 或↑键和↓键
       float h = Input.GetAxis("Mouse X"); //对应X方向上鼠标的移动,在移动设备上也可以这样
       float v = Input.GetAxis("Mouse Y"); //对应Y方向上鼠标的移动,在移动设备上也可以这样
       float m = Input.GetAxis("Fire1");  //对应鼠标左键或left+Ctrl
       float n = Input.GetAxis("Fire2");  //对应鼠标右键或left+Alt
       float k = Input.GetAxis("Fire3");  //对应鼠标中键或left+shift

要设置输入或查看axisName​ ** ** 的选项,请转到Edit >Project Settings​ ** >** Input Manager(“编辑”>“项目设置”>“输入管理器”) 。这将打开输入管理器。展开 Axis 以查看当前输入的列表。您可以将其中之一用作 axisName​ .要重命名输入或更改正按钮等,请展开其中一个选项,然后更改“名称”字段或“正按钮”字段中的名称。此外,将“类型”更改为“操纵杆轴”。若要添加新输入,请将“大小”字段中的数字加 1。

参考资料

标签:鼠标,该值,GetAxis,float,获取,Unity,Input,输入
From: https://www.cnblogs.com/Biiigwang/p/unity-get-user-input-z5whmj.html

相关文章

  • C++ Qt开发:LineEdit单行输入组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍LineEdit单行输入框组件的常用方法及灵活运用。在Qt中,QLineEdit是一个用于输入单行文本的控件,它提......
  • 视频监控LiteCVR可视化云平台接口支持获取视频帧率与编码格式
    2023年,AI视频监控技术迎来了显著的发展和成果,为安全领域和其他行业带来更智能、高效的解决方案,其中边缘AI发展也十分显著。边缘计算中AI的广泛应用将使设备能够在本地处理数据,而不必依赖云服务器,从而实现更快的响应时间和更强的隐私保护。 LiteCVR可支持设备通过国标GB28181、......
  • Debian12 (雷池WAF SafeLine)通过 EUI64 固定 IPv6 地址后缀、获取无状态 SLAAC
    说明Debian12(KDE桌面)网络管理(IPv4、IPv6)已默认不再由内核直接管理,转而使用由NetworkManager管理。若要固定IPv6后缀并实现SLAAC无状态管理,则需要修改NetworkManager配置。图形界面配置网络配置完成后,检查网络地址ipaddshowenp3s0,公网和内网IPv6后缀......
  • Unity 刷新文本
    privatevoidrefreshContentSizeFitters(){//获取contentParent下的所有ContentSizeFitter组件ContentSizeFitter[]contentSizeFitters=gameObject.GetComponentsInChildren<ContentSizeFitter>();for(inti=0;i<contentSize......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发
    https://www.cnblogs.com/wuhuacong/tag/WPF/ 在我们的SqlSugar的开发框架中,整合了Winform端、Vue3+ElementPlus的前端、以及基于UniApp+Vue+ThorUI的移动前端几个前端处理,基本上覆盖了我们日常的应用模式了,本篇随笔进一步介绍前端应用的领域,研究集成WPF的应用端,循序渐进介绍基......
  • 输入 10 进制数转换为二进制进行输出
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){ intj=0;//用于记录每个二进制位(倒叙) ints=0;//记录输入的数 intarr[256]={0}; printf("请输入数字\n"); scanf("%d",&s); inttmp=s; inti=1;//731 while(s>......
  • [WPF] 使用 MVVM Toolkit 构建 MVVM 程序(CommunityToolkit.Mvvm)
    1.什么是MVVMToolkit模型-视图-视图模型(MVVM)是用于解耦UI代码和非UI代码的UI体系结构设计模式。借助MVVM,可以在XAML中以声明方式定义UI,并使用数据绑定标记将UI链接到包含数据和命令的其他层。微软虽然提出了MVVM,但又没有提供一个官方的MVVM库(多年前有过......
  • 如何解决appium 自动化无法获取悬浮窗问题
    如何解决appium自动化无法获取悬浮窗问题-CSDN博客......
  • 实时获取淘宝商品评论数据:价值、挑战与解决方案
    一、引言随着电商行业的迅猛发展,用户评论在电商决策中的影响力逐渐增强。作为中国电商市场的领军者,淘宝提供了商品评论API,使得第三方开发者可以轻松获取淘宝商品评论数据。本文将深入探讨淘宝商品评论API在电商行业中的重要性,以及如何通过API实现实时数据获取。二、淘宝商品评论API......
  • Unity最新一键清理Prefab中所有MissingComponent
    因为老的API Properties.DeleteArrayElementAtIndex(propertyIndex);提示没权限修改,而unity提供了新的API GameObjectUtility.RemoveMonoBehavioursWithMissingScript(go);更方便移除丢失的组件,需要遍历物体下面所有子节点,否则无法移除子节点的丢失组件。于是重新整理了下......