
前言
今天要推薦的是一款專為 Unity 製作的虛擬搖桿插件 —— OEnhanced On-Screen Stick!
在【手機】或【平板】平台開發遊戲時,直覺流暢的操控體驗是【吸引玩家】、【提升遊戲品質】的關鍵之一。
Enhanced On-Screen Stick 正是一款可以完美整合 Unity Input System 的高效工具,不僅支援多種搖桿類型,包括【Fixed】、【Floating】、【Dynamic】,還能自由調整【操作區域】與【視覺樣式】,協助開發者打造出更【自然】、【靈敏】的移動系統!
本篇文章將帶你快速上手 Enhanced On-Screen Stick,從【安裝設定】、【基本操控】到【進階自訂】,一步步建立屬於你自己的虛擬搖桿,讓行動裝置上的角色移動不再是難題,只需幾個步驟就能搞定!

Unity Enhanced On-Screen Stick 插件介紹
Enhanced On-Screen Stick 是由 AnnulusGames 開發的開源虛擬搖桿插件,專為 Unity 的 Input System 所設計,支援 Unity 2020.1 以上版本,能快速整合至 UI Canvas 中,並提供靈活的自訂控制方式。
無論你正在製作【動作冒險遊戲】、【競速遊戲】或【平台遊戲】,Enhanced On-Screen Stick 都能協助你快速建構虛擬操控介面,大幅提升玩家的【操作手感】與【沉浸感】。

功能特色
- 三種搖桿模式切換
支援【Fixed】、【Floating】、【Dynamic】三種模式,依需求切換搖桿行為,操作更靈活,適用各類遊戲類型。 - 完美整合 Input System
可設定 Control Path,模擬任何輸入裝置,輕鬆實現跨平台操控。 - 搖桿外觀與區域可自訂
自由調整【大小】、【顏色】與【操作區域】,支援觸控顯示開關,搭配 UI 使用超直覺。
適用場景
- 行動裝置上的動作遊戲
適合用於【手機】或【平板】上的角色控制,像是【移動】、【閃避】或【瞄準】等需求,讓玩家能透過虛擬搖桿獲得更直覺的操作體驗。 - 競速與賽車類型遊戲
可用搖桿精準控制轉向,搭配觸控按鈕進行【加速】或【煞車】操作,大幅提升行動遊戲的【操控流暢度】與【沉浸感】。 - 橫向卷軸或平台跳躍遊戲
支援【左右移動】與【跳躍控制】,讓玩家能更輕鬆掌握【節奏】與【距離】,提升整體遊戲的【可玩性】與【操作手感】。

Unity Enhanced On-Screen Stick 設定
需求
- Unity 2020.1 或更高版本
- Input System 1.0.0 或更高版本
安裝步驟
- 開啟 套件管理器(Window > Package Manager)。
- 點擊 「+」按鈕,選擇 「Add package from git URL」。
- 輸入以下 URL:
https://github.com/AnnulusGames/EnhancedOnScreenStick.git?path=Assets/EnhancedOnScreenStick
或者,開啟 Packages/manifest.json,並在 dependencies 區塊中新增以下內容:
{
"dependencies": {
"com.annulusgames.enhanced-on-screen-stick":
“https://github.com/AnnulusGames/EnhancedOnScreenStick.git?path=Assets/EnhancedOnScreenStick”
}
}
Unity Enhanced On-Screen Stick 快速入門
透過整合 Enhanced On-Screen Stick,你可以從 Create > Enhanced On-Screen Controls > On-Screen Stick
創建一個虛擬搖桿。

創建後,將其放置在 Canvas 上並調整其大小與外觀。
附加組件的物件之 RectTransform 範圍將成為可操作區域。

接下來,從 Inspector 設定 Control Path。
這使你可以模擬來自任何裝置的輸入。

設定至此完成。你可以照常使用 Input System 來處理輸入。
以下是使用 Enhanced On-Screen Stick 和 InputAction 進行移動處理的範例。
using UnityEngine;
using UnityEngine.InputSystem;
public class Player : MonoBehaviour
{
[SerializeField] InputAction inputAction;
[SerializeField] float movementSpeed = 5f;
void Start()
{
inputAction.Enable();
}
void Update()
{
transform.position += movementSpeed * Time.deltaTime *
(Vector3)inputAction.ReadValue<Vector2>();
}
}

Unity Enhanced On-Screen Stick 自訂設定
物件配置
Enhanced On-Screen Stick 由以下物件組成:
- Enhanced On-Screen Stick
- Background
- Handle
將 Enhanced On-Screen Stick 組件附加到最上層物件,並附加某種類型的 Graphic 組件(例如 Image),以便偵測觸控事件。
此物件的 RectTransform 將成為搖桿的可操作區域。
Background 和 Handle 用於視覺化顯示搖桿的位置。
你可以自由調整它們的大小和外觀,但 Handle 必須是 Background 的子物件。
StickType(搖桿類型)
StickType 可用於更改搖桿操作時的行為。
StickType | 描述 |
---|---|
Fixed | 搖桿始終固定在初始位置。 |
Floating | 搖桿會移動至觸控位置,並固定在該處直到拖曳結束。 |
Dynamic | 搖桿會移動至觸控位置,並隨著拖曳移動。 |
其他設定
屬性 | 描述 |
---|---|
Movement Range | 指定 Handle 從中心移動的最大距離。 |
Dead Zone | 設定輸入的臨界值,範圍為 0 到 1,低於 Dead Zone 的輸入值會被校正為 0。 |
Show Only When Pressed | 若設為 true,則 Background 和 Handle 在未觸控時將保持隱藏。 |
Unity Enhanced On-Screen Stick 授權條款
本插件採用 MIT 授權,這是一種開源友好的授權方式,允許您自由【使用】、【修改】和【分發】程式碼,包括商業用途,唯一的要求是保留原作者的版權聲明。

Unity Enhanced On-Screen Stick 搖桿操控大師相關網站 & 插件下載點
【Enhanced On-Screen Stick】
GitHub 下載連結:Enhanced On-Screen Stick
Gitee 下載連結:Enhanced On-Screen Stick
————————————————
更多好用插件:【Unity 好用插件推薦】持續更新,一起讓遊戲開發事半功倍!
本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。
特約作家簡介
本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。
特約作家簡介
支持贊助 / DONATE
亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。
BTC |
![]() |
352Bw8r46rfXv6jno8qt9Bc3xx6ptTcPze |
|
ETH |
![]() |
0x795442E321a953363a442C76d39f3fbf9b6bC666 |
|
TRON |
![]() |
TCNcVmin18LbnXfdWZsY5pzcFvYe1MoD6f |