解析不同的精灵图集情形
Unity 解析精灵和精灵图集之间交互情况的方式取决于各种条件。以下示例详细展现了最常见的情形:
情形 1:基本精灵图集用法
-
精灵图集 A 包含精灵 Sprite 1。
-
Sprite Atlas A ** 启用 Include in Build**。
- 结果:项目的已发布版本包括精灵图集 A。精灵 1 使用精灵图集 A 中的纹理进行渲染。
情形 2:禁用“Include in Build”
-
精灵图集 A 包含精灵 Sprite 1。
-
精灵图集 A 禁用 Include in Build。
- 结果:项目发布的构建中不包含精灵图集 A,也不包含精灵 1 的纹理。精灵 1 在运行时在构建中不可见,因为其引用的纹理不可用且未加载。
情形 3:一个精灵位于两个精灵图集中
-
精灵图集 A 和精灵图集 B 两者均在自己的 Objects for Packing 列表中包含精灵 1。
-
精灵图集 A 和精灵图集 B 两者均启用 Include in Build。
- 在此示例中,两个纹理图集具有不同的纹理输出设置。
- 结果:项目发布的构建中包含两个精灵图集。Unity 会在一个不受控制的内部过程中随机选择使用哪个纹理来渲染精灵 1。
在此情形中,要确保精灵使用所需精灵图集中的纹理进行渲染,请按照以下步骤操作:
- 为两个精灵图集都禁用 “Include in Build”。
- 在运行时初始化精灵时,请使用 SpriteAtlas.GetSprite 直接从其中一个图集请求精灵。这可确保 Unity 始终从正确的精灵图集绘制精灵纹理。