本文主要是介绍Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 前言
Unity 编辑器导入 Asset Store 的资源包后,在预览和使用时,发现对象显示为洋红色
以小狐狸为例,打开资源包中的场景,可以看到小狐狸和地板均显示为洋红色
这是因为 Asset Store 中的资源包大部分是针对内置渲染管线项目制作的资源。在 URP 项目的场景中,游戏对象仍使用专为内置渲染管线编写的着色器,与 URP 着色器不兼容,导致对象无法正确渲染,此时 Unity 会使用洋红色错误着色器显示游戏对象
2 解决方案
将内置着色器转换为 URP 着色器,通常有三种方式
1 渲染管线转换器
渲染管线转换器 (Render Pipeline Converter) 可以将针对内置渲染管线项目制作的资源转换为与 URP 兼容的资源。更多信息请参阅文档:「https://docs.unity3d.com/cn/Packages/com.unity.render-pipelines.universal@12.1/manual/features/rp-converter.html」
-
选择 Window > Rendering > Render Pipeline Converter,Unity 将打开 Render Pipeline Converter 窗口
-
选择转换类型: Built-in to URP
-
根据转换类型,对话框中会显示可用的转换器。选中或清除转换器名称旁边的复选框以启用或禁用相应的转换器
Built-in to URP 转换类型可以将项目元素从内置渲染管线转换为 URP,可用的转换器有:
-
Rendering Settings
此转换器将创建 URP 资源和渲染器资源。然后,转换器会评估内置渲染管线项目中的设置,并将它们转换为 URP 资源中的等效属性 -
Material Upgrade
此转换器将转换材质 -
Animation Clip Converter
此转换器将转换动画剪辑。此转换器在 Material Upgrade 转换器完成之后运行 -
Read-only Material Converter
此转换器转换 Unity 项目附带的预构建只读材质。此转换器会为项目编制索引并创建临时的 .index 文件。这可能需要很长时间
-
点击 Initialize Converters,渲染管线转换器会预处理项目中的资源,并显示要转换的元素列表。选中或清除资源旁边的复选框即可在转换过程中包括或排除它们
-
点击 Convert Assets 开始转换,当转换器处理完所有选定元素后,它会在窗口中显示每个元素的状态
转换后的场景中,小狐狸及地板均恢复正常:
2 单个材质转换
-
在 Hierarchy 选中待转换的对象,在 Inspector 中点击材质,Project 面板会自动跳转到对应的材质,选中材质
-
选择 Edit > Rendering > Materials > Convert Selected Built in Material to URP
转换后的场景中,只有小狐狸恢复正常:
3 手动转换
-
在 Hierarchy 选中待转换的对象,在 Inspector 中材质处选择 Universal Render Pipeline > Lit
-
Shader 替换为 Lit 后,需要手动修改 Shader 中的属性,以确保和内置渲染管线效果一致
URP 中的着色器请参阅文档: 「https://docs.unity3d.com/cn/Packages/com.unity.render-pipelines.universal@12.1/manual/shaders-in-universalrp.html」
这篇关于Unity | 渡鸦避难所-1 | 修复资源导入后呈现洋红色(Built-in 转 URP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!