Skip to Content
文件開發者整合指南完整範例Unity 案例 · BoatAttack

Unity 案例 · BoatAttack

使用 Unity 官方 BoatAttack,固定基線 91886a3ef1ac963aa10578fcaf1d59e9b6961ab3。原基線使用 6000.2.0b8,本例適配 Unity 6.3 LTS 6000.3.25f1(Apple Silicon ARM64)。保留原船隻、駕駛員、Island 場景、水面、物理、AI 和 C# 玩法。

獲取並適配這個範例

操作位置: 準備復現範例的空目錄和終端機。

操作: 安裝 Git LFS,克隆官方專案並切換到固定基線;執行 lfs pull 獲取大型資源。把本節適配包解壓到工程根目錄,檢查並應用補丁,再由 Unity Hub 打開。

成功現象: 模型和貼圖完整,工程能在範例指定編輯器中導入;補丁僅應用一次。

git clone https://github.com/Unity-Technologies/BoatAttack.git BoatAttack cd BoatAttack git checkout 91886a3ef1ac963aa10578fcaf1d59e9b6961ab3 git lfs pull git lfs fsck # 把本节适配包解压到这个全新工程根目录后: git apply --check tracked-project-changes.patch git apply tracked-project-changes.patch

已適配的本機工程不要再次應用補丁。自己的遊戲直接使用Unity 原生匯出的原生匯出流程。本適配包包含版本和兼容性修改、說明與許可證,不含大型原資產、Library 或 dist,也不安裝 Combos 外掛。

原生匯出並進入比賽

操作位置: Unity 編輯器、專案終端機與瀏覽器。

操作: 打開 main_menu.unity,Play 檢查菜單和單人比賽設置,再停止 Play。按Unity 原生匯出原生建置:Scene List 為 main_menu.unity(0)和 level_Island.unity(1),Default 模板、Gzip + fallback、Addressables 隨 Player 建置。輸出到 dist。

成功現象: 原生 Build 成功,網頁主菜單和 Island 比賽均可進入,動態船隻與 UI 正常載入。

圖 07|BoatAttack 原工程在 Unity 中顯示主菜單。

圖 07|BoatAttack 原工程在 Unity 中顯示主菜單。

圖 08|BoatAttack 單人比賽設置;選 Island 後進入船隻配置。

圖 08|BoatAttack 單人比賽設置;選 Island 後進入船隻配置。

本次原生按鈕 Build 於 18:21:57 開始、18:26:03 成功,耗時 246 秒。生成 27 個檔案、5 個 Addressables bundle;成品 127.36 MiB,最大單檔案 94.58 MiB,ZIP 124.88 MiB。整體和單檔案符合當前限制,ZIP 根部直接有 index.html。

python3 -m http.server 8001 --bind 127.0.0.1 --directory dist

瀏覽器打開 http://127.0.0.1:8001/。操作順序:RACE → SINGLEPLAYER → ISLAND(1 圈)→ NEXT → 船只配置 → RACE。等待開場和倒計時,點擊畫布取得鍵盤焦點;W / ↑ / 空格加速,A/D 轉向,R 重置,F 暫停與繼續。

上傳和線上驗證結果

首次發佈自己的版本時,截取實際比賽畫面保存 cover.png,按發布與更新創建。該範例使用 --platform pc --screen-orientation landscape;本機已綁定的同一遊戲則使用 update。本次以原生成品更新至 revision 2,回執已發佈且 submission_is_current=true。大包可按需增加 --timeout 10m。

打開 BoatAttack ;Canvas 搜索碼 08759。停止本機服務後,在兩個獨立瀏覽器會話從公開試玩頁和分享連結進入比賽,驗證加速、轉向、暫停與繼續,並在其中一個會話驗證 R 重置;試玩全程靜音。核心檔案和 5 個 bundle 從公開部署載入,未見遊戲運行錯誤。

圖 09|BoatAttack 原生 Default 成品在 Combos 線上進入比賽並駕駛。

圖 09|BoatAttack 原生 Default 成品在 Combos 線上進入比賽並駕駛。

驗證範圍為 PC 橫向單人比賽載入和駕駛;完整比賽獲勝、手機觸控與手機實機未計入本次驗收。載入器、引擎等仍有警告;外層頁面未登錄使用者 profile 的 401 與遊戲載入分開記錄。

保留了什麼,具體改了什麼

內容本次處理
C#、船、人物、島嶼、物理、AI保留原程式碼和資產,由 Unity 匯出;水面沿用原專案已有 WebGL 分支
網頁入口與模板Unity 自帶 Default 自動生成;沒有改寫 loader 或新增 Combos 網頁模板
發佈場景、壓縮、Addressables在 Unity 原生界面保存匯出配置
編輯器 / Input System / URP範例版本適配及編輯器序列化變化,見完整補丁
UIPanelFade.shader增加新版 uGUI 所需的 _MainTex 屬性,修復範例菜單材質
此前自定義建置工具Editor 建置腳本、Combos 模板和 com.unity.pipeline 已移除
[PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}

適配補丁相對固定官方 commit 覆蓋 31 個已跟蹤檔案,包含 README-migration.md、WEBGL-MIGRATION.md、LOCAL_SETUP.md 和許可證。補丁是這個開源專案的復現材料,不是所有 Unity 遊戲的接入步驟。

boatattack-adaptation.zip


來源:Combos 開發者接入指南 。原文核對日期:2026-10-08,CLI v1.14.2;案例結果來自原文記錄的實測。

Last updated on