Unity3D 学习笔记(六) 手柄配置 | 您所在的位置:网站首页 › 手柄的十字键 › Unity3D 学习笔记(六) 手柄配置 |
手柄键位
Windows Mac Linux 设置摇杆、十字键和XYABEdit——> project settings ——>input 类型设置为joystick axis axis里面有许多的轴,对照上面的xbox手柄键位图,这里的XY轴,45轴和67轴就分别对应两个摇杆和十字键 修改Axes里面的Size可以增加轴的数量 也可以直接右键duplicate复制 将其改为对应的轴,然后继续添加十字键的两轴,pad意为十字键,V和H分别是Vertical和horizontal 把xyab也对应设置完成 建立一个调试脚本来看看刚才的设置,其脚本为 using System.Collections; using System.Collections.Generic; using UnityEngine; public class JoystickTest : MonoBehaviour { void Update() { print("Y1 : "+ Input.GetAxis("Dup")); print("X1 : "+ Input.GetAxis("Dright")); print("Y2 : "+ Input.GetAxis("Jup")); print("X2 : "+ Input.GetAxis("Jright")); print("pad Y : "+ Input.GetAxis("Vpad")); print("pad X : "+ Input.GetAxis("Hpad")); print("X:" + Input.GetButtonDown("btnx")); print("Y:" + Input.GetButtonDown("btny")); print("A:" + Input.GetButtonDown("btna")); print("B:" + Input.GetButtonDown("btnb")); } }输出数据可能有点多,可以注释其他的一个一个来检查。 试了好几遍发现没反应,原来是手柄没插。。。。 插上手柄重新运行一次可以看到系统能检测到对应的数据输入 扳机和肩键接下来添加扳机和肩键 继续Duplicate设置好两个肩键。 然后因为我们的xbox是线性扳机嘛那么他既然有一个模拟量的输出自然应该是个轴,根据图中我们也可以看到是轴3 因此继续duplicate 修改一下测试脚本 print("Bumper : "+ Input.GetAxis("Bumper")); print("LB:" + Input.GetButtonDown("LB")); print("RB:" + Input.GetButtonDown("RB"));可以正常运行,左扳机LB对应Input.GetAxis(“Bumper”)返回值为正而右扳机LB对应Input.GetAxis(“Bumper”)返回值为负 如果你是其他手柄这里是按键的话改成button然后测试脚本用Input.GetButtonDown()就好了 这里我测试的时候用的不是我手上的这个xboxones的手柄而是把yesojo的pro手柄接上去识别成了xbox360,所以Bumper只有-1和1而没有中间值 为啥不用xboxones的手柄呢。。。因为在家这么多天,电池没电了我也没买电池。。。 |
CopyRight 2018-2019 实验室设备网 版权所有 |