Version: 1.6
语言 : 中文
下载与安装
小游戏开发

快速上手

我们以 Endless Runner 游戏为示例,逐步介绍如何通过团结引擎的小游戏平台将您的游戏打包发布到目标平台。

1. 新建工程

  • 新建工程 Endless Runner,下载EndlessRunner并由 Assets -> Import Package -> Custom Package 导入工程。

2. 配置构建文件

  1. File -> Build Settings 点击 Switch Platform 切换平台至 MiniGame, 引擎默认将自动安装各小游戏平台SDK package。
  2. Build Settings 界面右侧 “Sub Platforms” 会显示Add Build Profile按钮,若为 “Install Support”,表示缺失该平台的SDK package,可点击安装。
  3. Inactive/Active 按钮用于激活小游戏子平台,仅支持同时激活一个平台。详情可参考 小游戏构建配置 Build Settings 小节
  4. 点击按钮 “Add Build Profile” 后,Projects > Assets > Setting > Build Profiles 资产界面会出现对应新增的 Build Profile 资产。

3. 更改构建配置

您可以通过以下两种方式打开指定 Build Profile 的构建配置 Inspector 窗口:

  • 单击 Projects > Assets > Setting > Build Profiles 资产界面中的文件图标;
  • 双击 File -> Build Settings 中 Build Profiles 框内的文件。

您可以自行在 Inspector 界面更改 Build 配置,包括 Build 的路径及其他设置。为方便后续操作,建议您先在 Build Path 处填写有效路径,若未填写并在 Build Settings 中选中,引擎将报错提示。

4. 适配纹理格式(ASTC)

  • 在本案例中,推荐通过 File -> Build Settings -> Player SettingsEdit -> Project Settings -> Player,修改全局 Player Settings,将 Texture Compression 改为 ASTC 并保存。首次切换到ASTC时,Texture压缩格式将会被转换,需要较长的时间。

    开启ASTC压缩后,小游戏在移动端运行时可以节省大量内存和显存。

5. 配置 Graphics API

  • Edit -> Project Settings -> Player -> Other Settings 页面,取消勾选 Auto Graphics API ,仅保留 WebGL 1 或 WebGL 2 。可以减少shader变体数量,从而减小首包和启动时间。
    • 使用WebGL 1时, 若 Lightmap Encoding 为 High Quality ,将其改为 Normal
    • iOS平台上使用 WebGL 2.0 需要系统版本高于15.0,并且打开iOS高性能模式,否则可能出现进入游戏后白屏的情况。

6. 配置小游戏导出参数

您可在(操作2、3中设置的配置文件)Projects > Assets > Settings > Build Profiles 资产界面中的 Build Profile,单击显示 Inspector 详情,进行相关构建导出参数配置。

您需要填写:

  • 游戏Appid: 可从小游戏开发工具里点击 注册(register) 去申请正式 AppID,使用测试 AppID 部分功能受限;
  • 游戏方向:横竖屏,根据游戏画面选择;
  • 导出路径 / Build Path: 生成小游戏工程的位置,后续步骤需要打开其中的小游戏目录。
  • 小游戏项目名称(按需): 导出的小游戏项目名称;
  • 游戏资源CDN: 游戏资源CDN根目录。

若您按照 AutoStreaming 用法 配置了 AutoStreamingUOS CDN, 上述部分设置将被自动接管;

微信小游戏 抖音小游戏 快手小游戏

7. 打包 AssetBundle

注: 进行该步骤前,请确认 PlayerSettings 中的 Graphics API 设置与小游戏打包设置上一致。

Endless Runner 游戏工程使用了 AssetBundle 进行资源打包,在这里将重新打包AB,需要注意修改代码将打包平台修改为 BuildTarget.MiniGameEditorUserBuildSettings.activeBuildTarget

  • 由于切换到了新的平台MiniGame,因此需要在 Assets\AssetBundleManager\Utility.cs 的GetPlatformForAssetBundles 方法中添加该平台:
    #if UNITY_EDITOR
        private static string GetPlatformForAssetBundles(BuildTarget target)
        {
            switch (target)
            {
                ...
                case BuildTarget.MiniGame:
                    return "MiniGame";
                ...
            }
        }
    #endif

        private static string GetPlatformForAssetBundles(RuntimePlatform platform)
        {
            switch (platform)
            {
                ...
                case RuntimePlatform.MiniGamePlayer:
                    return "MiniGame";
                ...
            }
        }

然后按照以下步骤打包:

  • 如果已经打包过 AB ,删除 StreamingAssets 目录下的 AB 包

  • 点击 AssetBundles -> Build AssetBundles 重新打包 AB

Endless Runner 项目将 AB 打包到了 StreamingAssets 目录下,这里我们不考虑版本更新问题,因此打包 AB 时未使用带 hash 的文件名。打包完成后需要将 StreamingAssets 目录上传到 {游戏资源CDN} 位置, 如您使用了 AutoStreaming 工具,将自动处理上传。

8. 导出并转换成对应平台小游戏

注: 若您使用了 AutoStreaming:由于 Scene 和 Texture 的 AutoStreaming 文件会在上传前计算 hash 并保存在首包中,打包前请先确认 AutoStreaming 页面的 Texture Streaming -> Generate AssetBundlesScene Streaming -> Generate ABs 操作已执行。

若您使用 Build Profile 的 Inspector 进行配置,在 File -> Build Settings 界面,确认激活对应平台、选中左侧小框后,点击右下角 “Build” 开始打包。打包后可在 Console 查看具体信息,详情请查阅小游戏构建配置 Build 小节

  • 微信小游戏平台
    • 如果您使用了 AutoStreaming ,完成后会自动上传首包数据文件到 UOS CDN 。
    • 如未使用 AutoStreaming,请将首包数据文件上传到微信小游戏页面填写的 游戏资源CDN 根目录。 如果有填写 “Data File Sub Prefix” 字段,则上传到该子目录下。
  • 抖音小游戏平台
    • 首包数据文件在首包内,无需上传CDN。
  • 快手小游戏平台
    • 首包数据文件在首包内,无需上传CDN。
    • 若需要自行管理资源,您也可以选择将首包数据文件上传至任意CDN(支持UOS,CDN或用户自有的CDN)。
  • 小游戏宿主平台
    • 可以在BuildTarget中进行设置,小游戏首包可以直接提交到宿主后台,并且使用UnityConnectApp快速测试。
    • 首包数据文件在首包内,无需上传CDN。

9. 部署小游戏

完成以上流程,您已顺利在团结引擎中实现对 Endless Runner 的小游戏配置与打包,接下来请根据您在导出时选择的目标平台,继续查看上传至对应开发者平台的操作指引。

资源优化配置(可选)

  • AutoStreaming 与 TextureManager 是团结引擎针对小游戏特性提供的资源优化工具,可以进一步提高项目资源管理的效率。详情可见资产流式加载章节。

在 Endless Runner 项目中,团结引擎推荐使用 AutoStreaming 并通过 UOS CDN 进行资源部署。具体配置和操作步骤请参考 AutoStreaming 用法

资源 CDN 可通过开启文件压缩,和 http2/3 协议,加快资源文件下载速度。UOS CDN 相关设置可参考UOS 云服务

相关阅读

下载与安装
小游戏开发