
演示:纹理图集
Tutorial
intermediate
+0XP
60 mins
(9)
Unity Technologies

纹理图集是打包纹理和为 3D 移动应用程序节省宝贵资源的有效方法。在本演示中,你可以发现将纹理图集应用于 3D 场景时可以获得的性能提升。
1. 使用纹理图集进行批处理
在上一个教程中,你了解了在移动应用程序中使用多个纹理时如何实现图集。在本演示中,你将有机会对一个示例场景进行性能分析,以比较在静态对象上使用图集和非图集纹理时的性能。
2. 开始之前
请在此处下载包含示例演示的课程项目。弹出提示时,单击 Textures Demo,或在 Project 视图中打开示例场景 (Assets > 2 Textures > Scene > Scene 2)。下载并打开后,可以在编辑器中进入运行模式,也可以将场景构建到移动设备上以使用性能分析器。
3. 要观察的内容
与几何体演示场景一样,我们有相同的塔楼阵列,以及在一排塔楼间移动的玩家摄像机。在本示例场景中,你可以通过开关让塔楼使用图集或非图集纹理。在静态对象上实现图集纹理时,可大幅减少对 GPU 的绘制调用。
在纹理实现之间切换,比较 Stats 窗口中的 Batches 和 Saved by batching,以及 Profiler 视图中 Rendering 部分的 Batches graph。你将能够看到图集和非图集实现在资源节约方面的差异。
你还可以在 Frame Debugger 视图中观察每个帧是如何绘制的。启用帧调试器时,场景会暂停,并且顶部会列出绘制调用次数以及 Render Camera 标签。暂停时在纹理实现之间进行切换,将显示图集纹理的绘制调用次数出现增加。
4. 总结
本项目强调了纹理的灵活性,从可以存储在一个纹理中的细节到让它们表现出色的实现注意事项。不管是要在几何体还是光照中显示细节,使用可以存储在纹理中的不同类型的数据来进行显示通常会更高效。在下一个项目中,我们将介绍着色器和材质如何支持、渲染和优化像纹理这样的资源。