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