剥离未使用的着色器
更新时间: 2025年2月18日
可通过防止在项目构建版本中编译未使用的着色器(即“剥离”着色器)来减少构建时间、构建文件大小以及运行时内存使用。
本页面提供了从内置渲染管线上构建的 Meta XR Unity 项目中剥离未使用的着色器的相关说明。
注:可脚本化渲染管线(如预构建的通用渲染管线)禁用着色器剥离。
Unity 的默认内置渲染管线提供三个图形层(Tier 1、Tier 2 和 Tier 3),可用于自定义内置着色器编译和渲染质量;这三个层与您正开发应用的目标平台相对应。
在 Unity 中开发的 Android 应用默认只会从 Tier 2 加载着色器。虽然从 Tier 1 和 Tier 3 构建了着色器,但会增加构建时间,所以应用不会从这些层加载任何着色器。着色器剥离机制允许在编译时跳过未使用的着色器,显著减少构建时间。
如果选择剥离未使用的着色器,则在编译着色器时,系统首先会检查 Meta Horizon 平台。如果平台为 Android,则 Unity 会从着色器清单中移除 Tier 1 和 Tier 3 的着色器,只编译 Tier 2 的着色器。
在 Hierarchy(层级结构)中,选择 OVRCameraRig。
如果使用的是 OVRPlayerController,则将其展开,然后选择 OVRCameraRig。
在 Inspector(检查器)中,进入 OVR Manager(OVR 管理工具)脚本部分,从 Quest Features(Quest 功能)下选择 Build Settings(构建设置),然后点击 Skip Unneeded Shaders(跳过不需要的着色器)复选框。
