开发

剥离未使用的着色器

更新时间: 2025年2月18日
可通过防止在项目构建版本中编译未使用的着色器(即“剥离”着色器)来减少构建时间、构建文件大小以及运行时内存使用。
本页面提供了从内置渲染管线上构建的 Meta XR Unity 项目中剥离未使用的着色器的相关说明。
:可脚本化渲染管线(如预构建的通用渲染管线)禁用着色器剥离。

前提条件

了解着色器剥离

Unity 的默认内置渲染管线提供三个图形层(Tier 1、Tier 2 和 Tier 3),可用于自定义内置着色器编译和渲染质量;这三个层与您正开发应用的目标平台相对应。
在 Unity 中开发的 Android 应用默认只会从 Tier 2 加载着色器。Tier 1 和 Tier 3 也有着色器,编译它们会增加构建时间,但应用不会从这些层加载任何着色器。着色器剥离机制允许在编译时跳过未使用的着色器,显著减少构建时间。
如果选择剥离未使用的着色器,则在编译着色器时,系统首先会检查 Meta Horizo​​n 平台。如果平台为 Android,则 Unity 会从着色器清单中移除 Tier 1 和 Tier 3 的着色器,只编译 Tier 2 的着色器。

启用着色器剥离

  1. Hierarchy(层级结构)中,选择 OVRCameraRig
    如果使用的是 OVRPlayerController,则将其展开,然后选择 OVRCameraRig
  2. Inspector(检查器)中,进入 OVR Manager(OVR 管理工具)脚本部分,从 Quest Features(Quest 功能)下选择 Build Settings(构建设置),然后点击 Skip Unneeded Shaders(跳过不需要的着色器)复选框。
OVR Manager Inspector with Skip Unneeded Shaders checkbox under Quest Features Build Settings.

了解更多