地圖控制輸入 | 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 標示你現有的行為。綠色箭頭表示將資料拖曳到屬性中。白色連線用於連接行為。這兩個行為都會在 Scene 啟動時開始,因此此範例不需要在兩者之間建立白色連線。

  1. 新增 Map Control Inputs。將 Player 保持為 1,並設定為在 Scene 啟動時開始。
  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。完成後的列使用 Controller 和 Left Stick。

GIF 顯示第一個 Move 列:將搖桿的輸出拖曳到 Input,然後從清單中選擇 Input。其 Device 為 Controller,Mapped Control 為 Left Stick。Keyboard 列也使用相同的操作方式。

連接支援的控制器後,播放你的 Project。移動左搖桿時,角色應會使用相同的 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 加入自訂 Behavior Tree,並連接到適合遊戲的動作。

新增跳躍或自訂按鈕動作

若使用 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 疊加層,選擇每位玩家所使用的已連線控制器。鍵盤和滑鼠是共用的實體裝置,因此請在 Project 中設定多人遊戲時的使用方式。

編輯器會為此設定建立一個可編輯的 Controls 疊加層。它包含玩家選擇器、已連線控制器的指派功能、Controller/Keyboard/Mouse 分頁,以及所選裝置的綁定清單。控制器示意圖會標示選取的控制項。未使用的列和不必要的頁面控制項會保持隱藏。你可以在自己的選單中使用 Load Overlay 開啟它。如果 Controls 已是 Scene 名稱,產生的疊加層會使用帶有編號的名稱。

疊加層會在每列所屬的裝置類別中變更相容的控制項。Rebind Input 會在你自己的 UI 中提供相同操作。儲存的選擇會依 Project、玩家和綁定項目區分。控制器替代項和鍵盤替代項會保留在不同的列中。

請先透過平台支援的設定方式連接或配對硬體。疊加層會從已連線的裝置中選擇,不會提供 Bluetooth 配對功能。

檢查設定

  • 角色完全不動: 檢查 Input 是否指向搖桿、對應是否已啟動,以及控制器是否已指派給所選的 Player。
  • 下拉選單中沒有 Left Stick: 將 Device 設為 Controller,並選擇搖桿或移動類型的 Input。按鈕輸入只會提供按鈕控制項。
  • 自訂滑動動作不像觸控時一樣運作: 使用 Controller Event 明確建立該動作的控制器版本。對應按鈕只會提供按鈕狀態。
  • 第二位玩家控制了第一位角色: 檢查該列的 Input Object 和 Player 指派。

為動作加入震動

在會觸發回饋的遊戲事件或動作後加入 Vibrate。保留原有接入該動作的白色執行連線,然後將動作連接到 Vibrate。

將 Vibrate 設為 Controller,並選擇與 Map 相同的 Player。支援的實體控制器或已配對的 iPhone 會收到震動脈衝。短促的按鈕回饋可先試用 Intensity 70% 和 Duration 150 ms。

對應的觸控、鍵盤或滑鼠替代輸入都可以觸發相同的遊戲動作。震動會使用選定的目標裝置和玩家。不需要新增對應列,也不會在手機配置中加入按鈕。

相關文件