unity2023内置标准渲染项目转 URP渲染操作。以及内置标准材质因不支持URP标准,变粉红色处理。

步骤1,新建一个内置标准渲染项目

在这里插入图片描述
导入内置标准的素材
在这里插入图片描述
在这里插入图片描述

步骤2,项目转URP渲染操作

1.安装 URP 包,查找 Universal RP并安装

在这里插入图片描述

2.创建URP配置文件

在这里插入图片描述

3.把新创建的URP配置文件绑定到渲染管道

在这里插入图片描述
项目转为URP渲染以后,内置标准材质会变粉红色。
在这里插入图片描述

步骤3,内置标准材质转URP材质处理

在这里插入图片描述
转换完成后,便可正常显示素材的纹理颜色
在这里插入图片描述

### Unity 内置渲染管线与 URP (Universal Render Pipeline) 的区别 #### 渲染架构差异 Unity 内置渲染管线采用较为传统的单通道或多通道延迟渲染方式,其灵活性较低。相比之下,URP 是基于 Scriptable Render Pipeline(SRP),允许开发者自定义渲染流程中的各个阶段[^1]。 #### 性能优化特性 对于移动设备和其他资源受限平台而言,URP 提供了更高效的性能表现。这是因为 URP 支持更低级别的硬件访问控制以及更好的批处理能力,从而减少了绘制调用次数并提高了帧率稳定性[^4]。 #### Shader 和材质支持 在内置渲染管线中使用的着色器主要依赖于 Surface Shaders 或者 Handwritten Vertex/Pixel Shaders 。然而,在 URP 下则完全迁移到 HLSL 并引入了新的 Material Properties ,这不仅简化了开发过程还增强了跨平台兼容性。 #### 特殊效果实现 当涉及到复杂视觉特效如屏幕空间环境光遮蔽(Ambient Occlusion)时,两者都提供了相应的解决方案。但在具体实现上有所区别;例如,在 URP 中可以通过编写自定义 Passes 来增强此类功能的效果质量[^3]。 ```csharp // 示例:如何在一个简单的 URP shader 中添加 AO 效果 Shader "Custom/AOExample" { SubShader { Tags { "RenderType"="Opaque" } Pass { Name "AO" HLSLPROGRAM #pragma vertex vert #pragma fragment frag struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; struct Varyings { float4 posHCS : SV_POSITION; float2 uv : TEXCOORD0; }; sampler2D _MainTex; Varyings vert(Attributes input) { Varyings output; output.posHCS = TransformObjectToHClip(input.positionOS); output.uv = input.uv; return output; } half4 frag(Varyings input) : SV_Target { // 假设我们已经有了一个可以获取 SSAO 数据的方法 GetScreenSpaceAmbientOcclusion() half aoValue = GetScreenSpaceAmbientOcclusion(input.uv); // 应用 AO 到最终颜色输出 half4 color = tex2D(_MainTex, input.uv); color.rgb *= lerp(1.0, aoValue, 0.75); return color; } ENDHLSL } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caolong210839842

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值