Version: 6000.3
语言: 中文
使用 GetSprites 在运行时检索 Sprite 内容
精灵打包器模式

解决不同的 Sprite Atlas 场景

Unity 解决 Sprites 和精灵A 2D 图形对象。如果你习惯于在3D中工作,精灵本质上只是标准纹理,但有一些特殊的技术可以组合和管理精灵纹理,以提高开发过程中的效率和便利性。更多信息
请参阅术语表
图集取决于各种条件。以下示例详细介绍了最常见的方案:

场景1:Sprite Atlas的基本用法

  1. 精灵图集(Sprite Atlas一种实用程序,将多个精灵纹理紧紧地打包在称为图集的单个纹理中。更多信息
    请参阅术语表
    一个
    包含外观 1
  2. Sprite Atlas A 启用了 包含在构建中(Include in Build)
  3. 结果:项目已发布的版本包括 Sprite Atlas ASprite 1使用Sprite Atlas A中的纹理进行渲染。

方案 2:“包含在生成中”被禁用

  1. Sprite Atlas A 包含 Sprite 1
  2. Sprite Atlas A 禁用了 Include in Build
  3. 结果:项目已发布的构建不包括Sprite Atlas A,也不包括Sprite 1的纹理。Sprite 1在运行时在构建中显示不可见,因为它引用的纹理不可用且未加载。

场景3:两个Sprite图集中的一个Sprite。

  1. Sprite Atlas ASprite Atlas B 都将 Sprite 1 包含在其装箱对象列表中。
  2. Sprite Atlas ASprite Atlas B 都启用了 包含在构建中(Include in Build) 。
  3. 在本例中,两个精灵图集具有不同的纹理输出设置。
  4. 结果:项目已发布的版本包括两个 Sprite Atlas。Unity 会随机选择要渲染 Sprite 1 的纹理,这是您无法控制的内部过程。

在这种情况下,要确保Sprite使用你想要的Sprite Atlas中的纹理进行渲染,请按照以下步骤作:

  1. 禁用两个精灵图集的“包含在构建中”
  2. 在运行时初始化Sprite时,请使用SpriteAtlas.GetSprite直接从其中一个Atlas请求Sprite。这可确保 Unity 始终从正确的 Sprite Atlas 中绘制 Sprite 纹理。
使用 GetSprites 在运行时检索 Sprite 内容
精灵打包器模式