为了帮助您轻松掌握 Texture Manager 的功能,我们建议您参考 Endless Runner 示例工程来学习如何有效地管理贴图资源。本文档将基于快速入门的基础上,向您介绍贴图管理的基本设置步骤和核心概念,更深入的功能细节和接口说明将在后续章节详细阐述。
名称 | 描述 |
---|---|
Priority Level | 贴图上传优先级,通常我们认为项目中比较重要的贴图会设置 high,一般使用默认值即可。 |
Uploaded Mode | 上传方式。
|
不同平台的贴图压缩格式有各自的设置,需要确保 Texture Manager 的 WebStreamingData 能够适配不同的平台。
Generate Texture Web Streaming Data 目前在 OSX 和 Linux 平台不生效,需要自己主动调用 TextureManager.GenerateMultiPlatformWebStreamingDataInternal(string\[\] guids)
生成数据
//根据硬件环境切换TextureManager支持的格式。
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
static void OnBeforeSplashScreen()
{
if (SystemInfo.graphicsDeviceName.Contains("RTX"))
TextureManager.SetSupportTextureFromat("win");
else
{
TextureManager.SetSupportTextureFromat("web");
}
}
在工程中,如果资源有过更改,则需要完全重新打包;
Library/TextureStreamingCache
中将 TexRes 文件夹手动上传到 UOS CDN 并创建新的发布版本,具体操作留意步骤7。这里我们以 UOS CDN 为例,介绍如何设置资源文件 CDN。
这里我们以UOS CDN为例,介绍如何设置资源文件CDN。
1. 前往 Unity Online Services 首页,点击 立即免费试用 进入应用面板。
2. 点击 + 新建应用,再点击 创建新的项目 创建一个名为 Endless_Runner 的项目,然后启用 UOS(如已有先前创建的 Endless_Runner 项目可直接启用)。
3. 进入 Bucket 列表,选择或者创建新的Bucket Endless_Runner
;
4. 点击进入该 Bucket,切换到 RELEASES ,创建新的发布版本;
5. 点击 latest ,复制 Entry URL 前缀,该前缀将作为 Texture Manager 的CDN ,也是下一步骤中小游戏的游戏资源 CDN 。
注:UOS CDN 会为每一个 Bucket 自动生成一个名为 latest 的 badge ,每次上传文件,该 badge 位置都会自动更新,始终指向最新的资源版本,因此不要在提交给小游戏平台的版本中使用 latest ,以免后续资源更新时影响已发布版本。
以下步骤基于快速上手中的打包步骤,旨在帮助您基于上述 TextureManager 设置,完成目标平台的构建文件配置与打包。
a.unity.cn/
),确保贴图数据可以被正确缓存。
Library/TextureStreamingCache
下的 TexRes 文件夹上传到创建的 Bucket Endless_Runner
。注: 如游戏内有打包的 AssetBundle,请一同上传到 CDN 上。
注: 该步骤不限于 UOS CDN,可以使用本地的或者自己的服务器,只需将游戏资源 CDN 替换为自己的 URL 地址。
完成以上流程,您已顺利在团结引擎中实现对 Endless Runner 的小游戏进行 TextureManager 相关的配置与打包,接下来请根据您在导出时选择的目标平台,继续查看上传至对应开发者平台的操作指引。
Texture manager 主要解决什么问题?
答:解决 WebGL 或者小游戏中项目中贴图资源使用不合理、资源包贴图资源冗余等问题导致的内存消耗以及多平台资源格式不同。目标是通过单独的资源管理模块实现对游戏项目中贴图资源的全生命周期管理。
Texture manager 可以使用自己的 CDN 吗?
答:可以,目前我们推荐采用 UOS 的 CDN ,后续我们会在集成 UOS CDN 的一些功能做资源的优化,如采用针对小文件性能友好的 H2 协议、通过 CDN 历史加载数据动态优化数据加载,版本控制管理等功能。
Texture manager 目前支持的图片格式类型有哪些?
答:普通的 Texture2D 格式、天空盒、Sprite( 2D and UI )、图集等均支持。
目前重度项目中有内部测试过吗,会存在哪些已知问题?
答:目前在内部测试重度项目,过程中,主要是生成资源较慢,资源有的可能生成数据丢失难以定位,资源设置比较麻烦。针对这些问题,我们也在积极开发解决方案,如贴图数据并行生成,Texture Manager Browser Package 帮助用户集中管理贴图。