尽管始终可以将某个特定形状的不同实例与不同的材质相关联,现在可以将不同的 UV 集与不同的实例相关联。在对象的实例上烘焙阴影(例如,照明游戏级别)时,或使用不同的纹理创建单个形状的实例(例如,一堆箱子,其中一些在不同的位置处有孔,等等)时,这非常有用。
如果 UV 集是逐实例的,那么术语 UV 集系列指的就是应用于不同实例的关联 UV 集。在某个给定系列内,可能会将单个 UV 集应用到一个或多个实例。
可以选择共享该 UV 集(每个实例都有该 UV 集)、“逐共享实例”(Per Instance Shared)(所有选定实例都共享新的 UV 集)或“逐非共享实例”(Per Instance Unshared)(所有选定实例都获得一个唯一的 UV 集)。
使用硬件纹理在“场景视图”(Scene view)中渲染或显示不同的(逐实例)UV 映射时,现在应该会在实例化对象上显示这些映射。
在下面的示例中,我们会使用逐实例 UV 集将阴影烘焙到单个贴图。此时,可以在场景中删除灯光。为游戏级别在对象上创建纹理贴图时,该工作流很有用。
有关烘焙的更多详细信息,请参见照明/着色 > 批烘焙(mental ray)(Lighting/shading > Batch Bake (mental ray))。
在该简单场景中,有一个用于投射阴影的长圆柱体、一束平行光、一个包含 16 x 16 细分的小平面,以及平面的两个附加实例。
可能需要调整灯光的方向,然后重新渲染,从而使阴影落在某个不同的位置处的每个多边形实例上,就像在上面的渲染中一样。
现在已经创建了一个逐实例 UV 集,其 UV 在 UV 空间中不重叠(如有必要,可以使用“UV 纹理编辑器”(UV Texture Editor)来确认这一点并移动 UV)。
由于可能会有在实例之间共享的 UV 集系列,因此删除 UV 集的方式会略有不同。
例如,名为 myMap 的逐实例集系列有两个子集。一个应用于多个实例(实例 a、b 和 c),另一个仅应用于实例 d。它是当前 UV 集。如果选择实例 d,然后选择“删除当前 UV 集”(Delete Current UV Set),那么仅会删除实例 d 上的贴图(另一个 UV 贴图由未选定实例使用,不会被删除)。
如果选择实例 a,然后选择“删除当前 UV 集”(Delete Current UV Set),那么不会从实例 a 共享该 UV 集,但该 UV 集仍存在于实例 b 和 c 上。若要完全删除它,可以选择实例 b 和 c,然后选择“删除当前 UV 集”(Delete Current UV Set)。