Instant Game窗口通过Window->Auto Streaming打开。
也可参考官方详细说明
配置游戏内texture是否使用streaming功能,以及streaming placeholder的类型。AutoStreaming用placeholder图片替换游戏首包内的原始贴图,游戏运行时,先加载低分辨率/低信息量的贴图,快速启动游戏。当游戏首次使用到该Texture资源时,将触发引擎后台线程从UOS CDN云端下载原始贴图,完成后自动替换为原始贴图。
点击Sync Textures按钮:搜索 BuildSettings 中的 Scenes 引用到的所有 Texture 资源。
Force Rebuild 勾选后点击Generate AssetBundles,将强制重新生成 texture 的 AssetBundles;
点击Generate AssetBundles:为所有勾选的 texture 生成 AB,每张贴图一个 AB;(如贴图有变动,一定要重新生成一般AB资源)
点击Generate Placeholders:为勾选的资源,创建低质量缩略图,用于初始加载使用。
首次打包操作流程:点击 convertLegacySpritePacker(可选) → Sync Texture → Ctrl + A 选择所有图片,勾选 Placeholder → 点击 Generate AssetBundles → 点击表头按生成的AB大小排序,取消勾选 AB 过小的图片(例如小 5KB,可按住Shift多选) → 点击 Generate AssetBundles清理不需要的AB → 点击 Generate Placeholders。
更新操作流程: Sync Texture → 调整Placeholder的勾选 → 勾选Force Rebuild → 点击 Generate AssetBundles重新生成AB → 点击 Generate Placeholders。
Audio、Mesh、Animation Streaming这三个不需要手动打包AB包,只需要点Sync获取,并勾选需要打包AB的文件即可。
如果某个Audio/Mesh/Animation勾选了Streaming导致游戏出现问题(勾选Streaming会使Audio/Mesh的数据延迟,在代码中对该Audio/Mesh进行了读写操作, 可能出现问题),取消勾选该 Audio/Mesh/Animation 即可。
选择BuildSettings中的场景打包成 AssetBundle,并部署到UOS CDN服务器上。开发者像往常一样通过 SceneManager 调用 LoadScene 或 LoadSceneAsync。底层将自动触发下载,完成后自动加载场景。
Sync Scenes: 获取 Build setting 中的 active的所有场景,并在下方显示;
Force Rebuild: 勾选后,点击Generate ABs时将强制重新生成所有场景的AB;
Generate AssetBundle: 生成场景的 AB,以及场景共享资源AB;
Sync SharedAssets :搜索勾选了streaming的场景中的共同引用到的资源。
Scenes 列表中建议勾选除首场景外的其他所有场景, 首场景开启Streaming后,启动时会有明显的黑屏时间,因此不建议勾选。
Shared Assets列表中,建议仅勾选对场景AB总量影响严重的资源,并且尽量排除fbx文件,如:
被大多数场景引用到的资源(References中包含场景序号较多的资源)
本身较大的shader、字体等资源
使用流程: Sync Scenes → 选择需要streaming的场景 → Sync SharedAssets → 勾选SharedAssets资源 → 如果已经生成过场景AB,勾选Force Rebuild → Generate AssetBundles。
Scene Streaming 依赖于 Texture/Audio/Mesh/Animation/Font Streaming的配置,请务必先执行前面的操作。