当我们调Input.GetAxis("Horizontal"),我们调了什么

Unity中所有关于输入的设置都在Edit -> Project Setting -> Input里面,点开之后,Inspector面板中就会显示当前的输入设置。

几个重要选项的含义有:

Gravity How fast will the input recenter. Only used when the Type is key / mouse button.
Dead Any positive or negative values that are less than this number will register as zero. Useful for joysticks.
Sensitivity For keyboard input, a larger value will result in faster response time. A lower value will be more smooth. For Mouse delta the value will scale the actual mouse delta.
Snap If enabled, the axis value will be immediately reset to zero after it receives opposite inputs. Only used when the Type is key / mouse button.
Invert If enabled, the positive buttons will send negative values to the axis, and vice versa.
Type Use Key / Mouse Button for any kind of buttons, Mouse Movement for mouse delta and scrollwheels, Joystick Axis for analog joystick axes and Window Movement for when the user shakes the window.

上图中,定义了键盘上的a键,d键,小键盘上的左和右控制了 "Horizontal" 的输入。而且实际情况中直接插上360的手柄,通过左边的摇杆, Input.GetAxis("Horizontal")也能够获得输入值,原因是后面还定义了一个 "Horizontal" 的输入。

这里定义了一个 Joystick Axis类型的输入,输入的轴是X, 从所有手柄获取输入。因为有了这个,Input.GetAxis("Horizontal")就可以直接获取手柄的值了。接下来看怎么扩展到手柄的按键和其他的摇杆。

扩展到手柄的按键和其他的摇杆

首先看一下手柄按键 的分布图。

有了这个就可以自定义手柄的输入了。

比如要 通过 Input.GetButtonDown("Action"); 来判定是否攻击,关联的是手柄上的A键, 我们只需要如下图设置

再比如右边的摇杆,横向是这样

纵向是这样的

取值的话是这样

Input.GetAxis("RightHorizontal"))
Input.GetAxis("RightVertical"))

其他的按键或者摇杆用同样的方式设置就可以了。

参考

Input Manager - http://docs.unity3d.com/Manual/class-InputManager.html

Xbox 360 Joystick Controller + - Unity http://bobstudios-en.blogspot.com/2012/09/xbox-360-joystick-controller-unity.html

附录:sony ps4 joystick map

Buttons
Square = joystick button 0
X = joystick button 1
Circle = joystick button 2
Triangle= joystick button 3
L1 = joystick button 4
R1 = joystick button 5
L2 = joystick button 6
R2 = joystick button 7
Share = joystick button 8
Options = joystick button 9
L3 = joystick button 10
R3 = joystick button 11
PS = joystick button 12
PadPress= joystick button 13

Axes:
LeftStickX = X-Axis
LeftStickY = Y-Axis (Inverted?)
RightStickX = 3rd Axis
RightStickY = 4th Axis (Inverted?)
L2 = 5th Axis (-1.0f to 1.0f range, unpressed is -1.0f)
R2 = 6th Axis (-1.0f to 1.0f range, unpressed is -1.0f)
DPadX = 7th Axis
DPadY = 8th Axis (Inverted?)

在Unity中接入Xbox360手柄相关推荐

  1. Unity中SteamVR2.0 手柄交互调用方式

    再次接触到HTC Vive项目时发现交互已经跟几年前的写法不一样了,而且VRTK插件也需要找对应的版本才行,否则会报错,版本已经不兼容. 这里总结下我在项目中遇到的手柄交互在Unity中的调用: 1. ...

  2. unity中连接Xbox手柄设置及按键检测

    首先介绍一下unity输入设置参数所代表的含义 参数名 作用描述 Name 名称 轴的名称,用于游戏加载界面和脚本中. Descriptive Name 描述 游戏加载界面中,轴的正向按键的详细描述. ...

  3. unity中接入Google Play SDK

    参考: Google Play Games plugin for Unity: https://github.com/playgameservices/play-games-plugin-for-un ...

  4. Unity中使用VR手柄射线触发UI事件

    创建射线检测,确定起点和终点 public class LineController : SingletonMono<LineController> {//属性[HideInInspect ...

  5. Unity如何接入应用内购In-AppPurchase

    一.前言 很多游戏需要接入内购IAP,对于苹果端,我们直接对接苹果就行了,但是android平台太多,国内,我们需要接入支付宝,微信,或者华为支付,小米支付等.国外,我们需要接入谷歌支付,亚马逊等等, ...

  6. android打包jar包给unity使用接入高德sdk,实现定位。

    https://blog.csdn.net/unity_http/article/details/79929454 https://blog.csdn.net/why1happy/article/de ...

  7. Unity中使用SteamVR Plugin时不显示HTC Vive手柄控制器的解决办法

    Unity中使用SteamVR Plugin时不显示HTC Vive手柄控制器的解决办法 出错原因: 开发应用程序时用的SteamVR Plugin版本太高(1.2.1及以后)(也可以说是SteamV ...

  8. 从零开始把echarts接入到unity中使用

    之前写了一些通过vue.js把echarts引入到unity中的,但是相对于没有js基础的人,使用vue还是有点困难的,很多小伙伴私聊我甚至连vue.js的环境都不会搭建,基于这个原因,我这一篇就使用 ...

  9. 【Unity】中接入QQ官方SDK实现QQ登录(Android环境) 新手教程

    作为一个新手做准备工作的时候,在网上找了很多例子,发现其中有很多例子是有错误的,各种花式报错,好在最后终于成功了,在此记录一下自己接入QQSDK的过程. 前期准备 QQ官方SDK下载 地址:http: ...

  10. unity中TopOn海外广告sdk接入

    unity版本2019以上(2018可去TopOn官方帮助文档查询)官方帮助文档地址(如果没办法查看,则申请TopOn账号,大概第二天TopOn运营会联系你,如实回答就行) 1. 导入插件 TopOn ...

最新文章

  1. 1.4 w字,25 张图让你彻底掌握分布式事务原理
  2. kinect 录制彩色和深度视频
  3. 最大公约数之和——极限版II
  4. OpenCV之cvSmooth函数平滑滤波
  5. python psycopg2使用_Python中用psycopg2模块操作PostgreSQL方法
  6. java:自定义数据库连接池
  7. 这些“震惊世界的新发现”,原来都是科学界的大骗局
  8. RHEL5 怎么装vim
  9. 011 Android TabLayout+ViewPager实现顶部滑动效果(多个页面)
  10. openwrt nas_NAS里整个软路由
  11. oracle用中文linux,linux+oracle中文乱码
  12. 小程序服务器配置要多高,小程序服务器配置要求
  13. html英文字母大小,英语字母书写笔顺 英语 , 26个英文字母大小写规范书写技巧...
  14. 第1章 PyTorch和神经网:1.1 PyTorch和神经网络
  15. 古典概型几何概型伯努利概型条件概率
  16. 表达式的LenB(123程序设计ABC)的值是27吗
  17. springboot毕设项目电子竞技赛事管理系统f1v55(java+VUE+Mybatis+Maven+Mysql)
  18. scara 机器人三四轴机械结构
  19. 市场里的企业:一个人力资本与非人力资本的特别合约
  20. 碎碎点点-积土成山,风雨兴焉;积水成渊,蛟龙生焉

热门文章

  1. PPT里如何做流水图
  2. 浅析贴片电感的作用及使用原理
  3. 学校计算机机房维护年度总结,学校计算机机房的管理和维护建议原稿(全文完整版)...
  4. Java美颜相机(1)图像处理
  5. 心力哲学——艰难多变环境下快乐、自由与生存力的源泉(二)
  6. 一款不错的远程控制软件,还是绿色版哦
  7. Android实现推送PushService通知No…
  8. PHP调用芝麻商家平台(获取芝麻分)
  9. 满满的提高芝麻分实操技巧!
  10. 我是如何出版一本书的?(3)