**渲染管线一系列将场景内容显示在屏幕上的操作。 Unity 允许您从预制渲染管线中选择,或者编写自己的渲染管线。 更多信息
参见 词汇表 转换器** 将为内置渲染管线项目制作的资源转换为与 URP 兼容的资源。
**注意**:转换过程会对项目进行不可逆的更改。 在转换之前备份您的项目。
要转换项目资源
选择 **窗口** > **渲染** > **渲染管线转换器**。 Unity 将打开渲染管线转换器窗口。
选择转换类型。
根据转换类型,对话框将显示可用的转换器。 选择或清除转换器名称旁边的复选框以启用或禁用转换器。
有关可用转换器的列表,请参阅 转换器 部分。
单击 **初始化转换器**。 渲染管线转换器将预处理项目中的资源并显示要转换的元素列表。 选择或清除资源旁边的复选框以将其包含或排除在转换过程之外。
下图显示了已初始化的转换器。
单击转换器以查看该转换器将要转换的项目列表。
**黄色图标**:元素旁边的黄色图标表示可能需要用户操作才能运行转换。 将鼠标指针悬停在图标上以查看问题描述。
单击 **转换资源** 以启动转换过程。
**注意**:转换过程会对项目进行不可逆的更改。 在转换之前备份您的项目。
转换过程完成后,窗口将显示每个转换器的状态。
**绿色勾号**:转换顺利完成。
**黄色图标**:转换完成,但存在警告,可能需要用户操作。
**红色图标**:转换失败。
单击转换器以查看该转换器中已处理项目的列表。
查看完转换后的项目后,关闭渲染管线转换器窗口。
渲染管线转换器允许您选择以下转换类型之一
内置渲染管线到 URP
内置渲染管线 2D 到 URP 2D
升级 2D URP 资源
选择其中一种转换类型后,该工具将显示可用的转换器。
以下部分描述了每种转换类型可用的转换器。
此转换类型将项目元素从内置渲染管线转换为 URP。
可用转换器
渲染设置
此转换器创建 URP 资源和渲染器资源。 然后,转换器评估内置渲染管线项目中的设置并将它们转换为 URP 资源中的等效属性。
材质升级
此转换器转换材质。 该转换器适用于 Unity 提供的预建材质,它不支持具有自定义着色器在 GPU 上运行的程序。 更多信息
参见 词汇表的材质。
动画剪辑可以用于动画角色或简单动画的动画数据。 它是一个简单的“单元”运动,例如(一个特定实例的)“空闲”、“行走”或“奔跑”。 更多信息
参见 词汇表 转换器
此转换器转换动画剪辑。 它在 **材质升级** 转换器完成后运行。
**注意**:此转换器仅在项目包含影响材质属性或后期处理堆栈 v2 属性的动画时可用。
只读材质转换器
此转换器转换预建的只读材质,其中 **材质升级** 转换器无法替换着色器。 此转换器会索引项目并创建一个临时的 .index
文件,这可能需要相当长的时间。
只读材质的示例:Default-Diffuse
、Default-Line
、Dafault-Terrain-Diffuse
等。
后期处理在图像显示在屏幕上之前应用滤镜和效果以改善产品视觉效果的过程。 您可以使用后期处理效果模拟物理相机和胶片属性,例如光晕和景深。 更多信息 后期处理,后期处理,后期处理
参见 词汇表 堆栈 v2 转换器
此转换器将 PPv2 体积、配置文件和图层转换为 URP 体积、配置文件和相机创建一个场景中特定视点的图像的组件。 输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
参见 词汇表。 此转换器会索引项目并创建一个临时的 .index
文件,这可能需要相当长的时间。
此转换类型将项目的元素从内置渲染管线 2D 转换为 URP 2D。
可用转换器
材质和材质引用升级
此转换器将所有材质和材质引用从内置渲染管线 2D 转换为 URP 2D。
此转换类型将 2D 项目的资源从早期 URP 版本升级到当前 URP 版本。
可用转换器
参数化灯光到自由形式灯光升级
此转换器将所有参数化灯光转换为自由形式灯光。
渲染管线转换器实现了 Converters 类,该类包含 RunInBatchMode 方法,可让您从命令行运行转换过程。
例如,以下脚本初始化并执行转换器 **材质升级** 和 **只读材质转换器**。
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.Rendering.Universal;
using UnityEngine;
public class MyUpgradeScript : MonoBehaviour
{
public static void ConvertBuiltinToURPMaterials()
{
Converters.RunInBatchMode(
ConverterContainerId.BuiltInToURP
, new List<ConverterId> {
ConverterId.Material,
ConverterId.ReadonlyMaterial
}
, ConverterFilter.Inclusive
);
EditorApplication.Exit(0);
}
}
要从命令行运行示例转换,请使用以下命令
"<path to Unity application> -projectPath <project path> -batchmode -executeMethod MyUpgradeScript.ConvertBuiltinToURPMaterials
另请查看:Unity 编辑器命令行参数.