Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)

Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第1张图片

1 前言

Unity 编辑器导入 Asset Store 的资源包后,在预览和使用时,发现对象显示为洋红色

以小狐狸为例,打开资源包中的场景,可以看到小狐狸和地板均显示为洋红色

Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第2张图片

这是因为 Asset Store 中的资源包大部分是针对内置渲染管线项目制作的资源。在 URP 项目的场景中,游戏对象仍使用专为内置渲染管线编写的着色器,与 URP 着色器不兼容,导致对象无法正确渲染,此时 Unity 会使用洋红色错误着色器显示游戏对象

2 解决方案

将内置着色器转换为 URP 着色器,通常有三种方式

1 渲染管线转换器

渲染管线转换器 (Render Pipeline Converter) 可以将针对内置渲染管线项目制作的资源转换为与 URP 兼容的资源。更多信息请参阅文档:「https://docs.unity3d.com/cn/Packages/[email protected]/manual/features/rp-converter.html」

  1. 选择 Window > Rendering > Render Pipeline Converter,Unity 将打开 Render Pipeline Converter 窗口

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第3张图片

  2. 选择转换类型: Built-in to URP

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第4张图片

  3. 根据转换类型,对话框中会显示可用的转换器。选中或清除转换器名称旁边的复选框以启用或禁用相应的转换器
    Built-in to URP 转换类型可以将项目元素从内置渲染管线转换为 URP,可用的转换器有:

  • Rendering Settings
    此转换器将创建 URP 资源和渲染器资源。然后,转换器会评估内置渲染管线项目中的设置,并将它们转换为 URP 资源中的等效属性

  • Material Upgrade
    此转换器将转换材质

  • Animation Clip Converter
    此转换器将转换动画剪辑。此转换器在 Material Upgrade 转换器完成之后运行

  • Read-only Material Converter
    此转换器转换 Unity 项目附带的预构建只读材质。此转换器会为项目编制索引并创建临时的 .index 文件。这可能需要很长时间

  1. 点击 Initialize Converters,渲染管线转换器会预处理项目中的资源,并显示要转换的元素列表。选中或清除资源旁边的复选框即可在转换过程中包括或排除它们

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第5张图片

  2. 点击 Convert Assets 开始转换,当转换器处理完所有选定元素后,它会在窗口中显示每个元素的状态

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第6张图片

转换后的场景中,小狐狸及地板均恢复正常:

Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第7张图片

2 单个材质转换

  1. 在 Hierarchy 选中待转换的对象,在 Inspector 中点击材质,Project 面板会自动跳转到对应的材质,选中材质

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第8张图片

  2. 选择 Edit > Rendering > Materials > Convert Selected Built in Material to URP

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第9张图片

转换后的场景中,只有小狐狸恢复正常:

Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第10张图片

3 手动转换

  1. 在 Hierarchy 选中待转换的对象,在 Inspector 中材质处选择 Universal Render Pipeline > Lit

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第11张图片

  2. Shader 替换为 Lit 后,需要手动修改 Shader 中的属性,以确保和内置渲染管线效果一致

    Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)_第12张图片

URP 中的着色器请参阅文档: 「https://docs.unity3d.com/cn/Packages/[email protected]/manual/shaders-in-universalrp.html」

你可能感兴趣的:(unity,游戏引擎)