Unity手柄按键映射表

在 Unity 中进行手柄开发时,按键的对应名称(Button Names)取决于你使用的是 传统的 Input Manager (旧版) 还是 Input System Package (新版)。

目前主流且推荐的做法是使用 Input System Package,因为它能自动处理不同手柄(Xbox, PS4, Switch)之间的差异。


1. 新版 Input System (推荐)

在新版系统中,你不需要记忆复杂的编号,只需使用路径(Path)即可。

手柄按键 (通用名称) 路径名称 (Path)
南面按键 (Xbox: A / PS: ×) <Gamepad>/buttonSouth
东面按键 (Xbox: B / PS: ○) <Gamepad>/buttonEast
西面按键 (Xbox: X / PS: □) <Gamepad>/buttonWest
北面按键 (Xbox: Y / PS: △) <Gamepad>/buttonNorth
左/右肩键 (LB / RB) <Gamepad>/leftShoulder, <Gamepad>/rightShoulder
左/右扳机 (LT / RT) <Gamepad>/leftTrigger, <Gamepad>/rightTrigger
左/右摇杆点击 (LS / RS) <Gamepad>/leftStickPress, <Gamepad>/rightStickPress
方向键 (D-Pad) <Gamepad>/dpad/up, down, left, right
功能键 (Start / Back) <Gamepad>/start, <Gamepad>/select

2. 旧版 Input Manager (默认项目设置)

如果你在 Project Settings -> Input Manager 中手动设置,通常需要对应 Joystick Button 的编号。以下是以 Xbox Controller (Windows) 为标准的映射:

常用按键映射表 (Xbox)

按钮映射表 (Buttons)

物理按键 (Physical Button) Unity 映射 ID (Map to) 备注
A joystick button 0 确认 / 跳跃
B joystick button 1 取消 / 返回
X joystick button 2 (你在图中漏标了这个)
Y joystick button 3
LB (左肩键) joystick button 4 Left Bumper
RB (右肩键) joystick button 5 Right Bumper
View (双框图标) joystick button 6 旧称 Back 键
Menu (三道杠图标) joystick button 7 旧称 Start 键
L3 (按下左摇杆) joystick button 8 Left Stick Click
R3 (按下右摇杆) joystick button 9 Right Stick Click
Share (中间分享键) 通常无法识别 旧版输入系统很难直接检测到此键
Xbox 标 (西瓜键) 系统占用 呼出 Windows 游戏栏,Unity 无法获取

轴线映射 (Axes)

物理输入 (Physical Input) Unity 轴向 (Axis Name/Number) 值范围 (Value)
左摇杆 - 水平 X Axis -1 (左) 到 1 (右)
左摇杆 - 垂直 Y Axis -1 (下) 到 1 (上)*
右摇杆 - 水平 4th Axis -1 (左) 到 1 (右)
右摇杆 - 垂直 5th Axis -1 (下) 到 1 (上)*
D-Pad (十字键) - 水平 6th Axis -1 (左) 到 1 (右)
D-Pad (十字键) - 垂直 7th Axis -1 (下) 到 1 (上)
LT (左扳机) 9th Axis 0 (松开) 到 1 (按下)
RT (右扳机) 10th Axis 0 (松开) 到 1 (按下)

3. 注意事项:PS4/PS5 手柄差异

如果你使用的是 PS4 DualShock 手柄且通过旧版 Input Manager 识别,编号会完全不同:

  • × (South): joystick button 1
  • ○ (East): joystick button 2
  • □ (West): joystick button 0
  • △ (North): joystick button 3
相关推荐
xcLeigh7 小时前
Unity基础:Instantiate实例化——在运行时动态创建游戏物体
游戏·unity·游戏引擎·教程·instantiate
流浪打工人1 天前
Unity3d TimeLine中audio track的使用
unity
淡海水1 天前
02-07-原理篇-GC暂停时间的本质
开发语言·unity·c#·gc·暂停时间
WarPigs1 天前
UI路径配置SO>字典json工作流
ui·unity
淡海水1 天前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
阿松爱学习2 天前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
淡海水2 天前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
辻弋2016 天前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
Martina_03216 天前
AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接
人工智能·游戏·数学建模·3d·unity·自然语言处理·aigc
小贺儿开发7 天前
Unity 局域网遥控幻灯片展示工具 3.0
科技·http·unity·工具·ppt·通信·网页