映射控制输入 | hyperPad Documentation
Logo
Documentation交互映射控制输入
交互

映射控制输入

Published 2026年9月30日
映射控制输入

描述

使用 Map Control Inputs 为你已在使用的输入添加控制器、键盘或鼠标支持。角色会保留 Joystick Controlled 中的移动设置。跳跃会保留 Jump with Button 中的设置。自定义触控操作会保留现有的行为连接。

每一行都会将一个现有的 Input 连接到你所选 Device 中的一个 Mapped Control。你可以选择输入对应的对象,也可以从受支持的行为中拖动 Input 输出。当同一操作需要支持多种设备时,可以添加更多行。

原有的触控控制仍然有效。

为现有摇杆添加控制器支持

从已使用 Joystick Controlled 的角色开始。保持 Object A 设置为摇杆,Object B 设置为角色。

Map Control Inputs 连接指南:准确的行为设置、执行连接和数据拖动。

在此图中,REUSE 标记表示复用现有行为。绿色箭头表示将数据拖入属性。白色连接用于连接行为。这两个行为会随场景启动,因此本示例不需要在它们之间建立白色连接。

  1. 添加 Map Control Inputs。将 Player 保持为 1,并让它在场景启动时运行。
  2. 选中 Map Control Inputs,打开其属性。
  3. 将 Joystick Controlled 上的绿色输出图标拖到第一行的 Input 中。在输出列表中选择 Input。
  4. 将 Device 保持为 Controller,并将 Mapped Control 设为 Left Stick。在 Name (optional) 中输入 Move。
  5. 点按 + Add Input,并在弹出菜单中选择 Keyboard。将同一个 Joystick Controlled · Input 拖入此行。
  6. 将第二行的 Mapped Control 设为 Arrow Keys。名称也填写 Move。

拖动时请使用源行为上的绿色图标。接收输入框内的绿色按钮会创建 Change Input Field 行为。

将 Joystick Controlled 的绿色输出拖入第一行 Move 的 Input,并选择 Input。完成后的行使用 Controller 和 Left Stick。

此 GIF 展示了第一行 Move:将摇杆的输出拖入 Input,然后从列表中选择 Input。该行的 Device 为 Controller,Mapped Control 为 Left Stick。Keyboard 行也使用相同的操作方式。

连接受支持的控制器,然后运行你的项目。移动左摇杆应该会按照相同的 Joystick Controlled 设置来控制角色。也可以试试方向键和屏幕上的摇杆。行走速度、加速度、启用的方向、旋转和动画仍由 Joystick Controlled 控制。

Input 标识要复用的控制。 在此处,它标识的是 Object A,也就是摇杆。即使你还没有移动摇杆,它也可用。角色的 objectB_ID、摇杆的 x 和 y,以及白色事件连接各有不同用途。为此映射选择 Input。

属性

Map Control Inputs 属性:Player 1 有两行 Move,Joystick Controlled 的 Input 分别映射到 Left Stick 和 Arrow Keys。

两行都复用同一个摇杆。Controller 行读取 Left Stick;Keyboard 行读取 Arrow Keys。

点按 + Add Input,在添加行之前选择 Controller、Keyboard 或 Mouse。随后,Mapped Control 会显示与该设备兼容的选项。之后也可以更改该行的 Device。

Map Control Inputs 中的 + Add Input 选择器显示 Controller、Keyboard 和 Mouse。

属性设置内容
Player正整数玩家编号。默认值为 1。Controller 行读取分配给该玩家的控制器。若要设置另一位玩家的控制,请使用单独的 Map Control Inputs 行为,并将其设为 Player 2。
Input选择一个按钮或摇杆对象,或者从受支持的行为中拖动 Input。新行默认为空。对于 Jump with Button 和 Shoot with Button,Input 标识的是它们的按钮,而不是角色。
DeviceController、Keyboard 或 Mouse。此选项会将 Mapped Control 限定为相应设备。更改此项会保留 Input 和名称,然后为新设备选择一个兼容的控制项。
Mapped Control提供输入的物理控制项。可选项取决于 Device 和所选的 Input。对于新建的按钮行,默认值分别为该设备的 Bottom Button (A / ×)、Space 或 Left Mouse Button。选择摇杆后,可在同一设备中选择兼容的移动控制项。
Name (optional)用于 Controls 叠加层的标签,例如 Move、Jump 或 Shoot。默认为空白。名称不会改变游戏玩法。
+ Add Input打开包含 Controller、Keyboard 和 Mouse 的弹出菜单。选择一项,即可添加该设备对应的一行。关闭弹出菜单则不会添加任何内容。使用多行且设置相同的 Input,即可为一个操作提供多种替代控制方式。
Remove Input移除该行。其他行仍会提供各自的替代控制方式。
Up Key、Right Key、Down Key、Left Key当 Mapped Control 为 Custom Movement Keys 时显示。为每个方向选择一个按键。默认值依次为 Up Arrow、Right Arrow、Down Arrow 和 Left Arrow。

兼容的输入

复用的输入兼容的 Mapped Control 选项
摇杆对象;Joystick Controlled;Joystick Input;方向摇杆行为Left Stick、Right Stick、D-pad、WASD、Arrow Keys、Custom Movement Keys、Mouse Movement。
按钮对象;Jump with Button;Shoot with Button;对象上的 Started Touching、While Touching 或 Stopped Touching控制器面板按钮、肩键、扳机键、摇杆按键、Menu 或 Options;单个键盘按键;鼠标按键;单个滚动方向。
使用一个具体按键的 Keyboard Event相同的按钮替代选项。现有的按下、按住或松开事件仍会生效。
使用 On Left Click、On Right Click 或某个特定 On Scroll 方向的 Mouse Event相同的按钮替代选项。滚动方向会提供一个短暂脉冲。
使用 On Move 的 Mouse Event摇杆对应的方向控制选项。

鼠标按键选项包括 Left Mouse Button、Right Mouse Button、Middle Mouse Button、Mouse Back Button 和 Mouse Forward Button。滚轮选项包括 Scroll Up、Scroll Down、Scroll Left 和 Scroll Right。设备必须支持你选择的控制项。

Mouse Movement 提供相对运动,并会在停止移动时回到中立状态。现有摇杆阈值仍会生效。设置该阈值时,请测试较小幅度的鼠标移动。

Any 按键事件和 On Sequence 不会提供单个可映射的按键。鼠标连接事件以及 Any 类型的 On Scroll 不会提供单个可映射的鼠标操作。请先选择一个具体且受支持的输入。

映射后的按钮可以驱动对象现有的按下、按住和松开行为。触摸坐标会使用对象中心点。滑动、手指路径和拖动距离需要各自的移动逻辑。对于这些情况,请在自定义行为树中添加 Controller Event,并将它连接到适合游戏的操作。

添加跳跃或自定义按钮操作

对于 Jump with Button,点按 + Add Input,选择 Controller,然后将它的 Input 拖入该行。选择 Bottom Button (A / ×),并将名称设为 Jump。原有的跳跃次数、墙跳设置、力度和动画仍会生效。

对于自定义触控按钮,请拖动 Started Touching、While Touching 或 Stopped Touching 中的 Input。这些行为指向同一个已选对象的输入。映射该对象后,现有的按下、按住和松开操作就可以响应替代按钮。

多个按钮来源可以同时处于按住状态。松开其中一个来源后,只要另一个来源仍处于按住状态,该操作就会继续保持按下。

执行和输出

Map Control Inputs 会在启动时注册它的各行。如果为它连接了输入白色执行连线,则会在该连线触发时注册。其底部的白色事件连接会在注册完成后运行一次。

此后,使用映射控制项时,原有输入行为会照常产生其事件和值。你无需每帧运行 Map Control Inputs。禁用它会移除其映射。游戏暂停时,以及为重新绑定而捕获输入时,都不会触发映射后的游戏操作。

输出类型含义
mappingCount数字(整数)此次执行所注册的已配置行数。此计数不能确认设备已连接,也不能确认每一行都具有可用输入。

玩家与 Controls 叠加层

玩家编号用于标识控制器分配。第一个可用控制器会自动分配给 Player 1。你可以使用 Assign Controller 或 Controls 叠加层,选择每位玩家对应的已连接控制器。键盘和鼠标是共享的物理设备,因此请在项目中设置它们在多人游戏中的用途。

编辑器会为此设置创建一个可编辑的 Controls 叠加层。它包含玩家选择器、已连接控制器分配、Controller/Keyboard/Mouse 选项卡,以及所选设备的按键绑定列表。控制器示意图会高亮显示所选控制项。未使用的行和不必要的页面控件会保持隐藏。你可以通过 Load Overlay 从自己的菜单打开它。如果 Controls 已被用作场景名称,生成的叠加层会使用带编号的名称。

该叠加层可以在每行所属的设备类型中更改兼容控制项。Rebind Input 可在你自己的界面中提供相同的操作。已保存的选择属于项目、玩家和按键绑定。控制器替代项和键盘替代项仍是分开的行。

请先通过平台支持的方式连接或配对硬件。该叠加层用于从已连接的设备中进行选择,不提供蓝牙配对功能。

检查设置

  • 角色完全不动: 检查 Input 是否指向摇杆、映射是否已启动,以及控制器是否已分配给所选 Player。
  • 下拉菜单中没有 Left Stick: 将 Device 设为 Controller,并选择摇杆或移动类 Input。按钮输入只会提供按钮控制项。
  • 自定义滑动不像触控那样工作: 使用 Controller Event 为该操作构建明确的控制器版本。映射按钮只会提供按钮状态。
  • 第二位玩家控制了第一个角色: 检查该行的 Input 对象和 Player 分配。

为操作添加振动反馈

在需要产生反馈的游戏事件或操作之后添加 Vibrate。保留连接到该操作的现有白色执行连线,然后将操作连接到 Vibrate。

将 Vibrate 设为 Controller,并选择与 Map 相同的 Player。受支持的实体控制器或已配对的 iPhone 会收到振动脉冲。短促的按钮反馈可以从 Intensity 70% 和 Duration 150 ms 开始尝试。

映射后的触控、键盘或鼠标替代方式都可以触发同一个游戏操作。振动会使用所选目标和玩家。它不需要映射行,也不会在手机布局中添加按钮。

相关内容