Unity 从BuildIn升级到URP以及常用的效果

一、CG->HLSL

CGPROGRAM->HLSLPROGRAM

ENDCG->ENDHLSL

CGINCLUDE->HLSLINCLUDE

二、灯光模式

"LightMode"="ForwardBase->UniversalForward"

删掉以下内容:

#define UNITY_PASS_FORWARDBASE
#pragma multi_compile_fwdbase

URP可以使用的灯光模式,有三种:

"UniversalForward"
"LightweightForward"
"SRPDefaultUnlit"

三、一些常用的方法(修改)

1、把#include "UnityCG.cginc"

改成

#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

2、把#include "Lighting.cginc"

改成

#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"

3、o.pos = UnityObjectToClipPos( v.vertex );

改成

VertexPositionInputs vertexInput = GetVertexPositionInputs(v.vertex.xyz);

o.pos = vertexInput.positionCS;

或者

o.pos = TransformObjectToHClip(v.vertex.xyz);

4、o.normalDir = UnityObjectToWorldNormal(v.normal);

改成

VertexNormalInputs vertexNormalInput = GetVertexNormalInputs(v.normal);

o.normalDir = vertexNormalInput.normalWS;

或者

o.normalDir = TransformObjectToWorldNormal(v.normal);

5、灯光方向和灯光颜色

_WorldSpaceLightPos0.xyz改成

vert函数里:

o.shadowCoord = GetShadowCoord(vertexInput);

frag函数里:

Light mainLight = mainLight = GetMainLight(i.shadowCoord);

float3 lightDirection = mainLight.direction;

_LightColor0 改成 mainLight.color

6、把fixed 定义的变量都改成float或者half 的。

比如 fixed4 (finalColor,1)改成float4 (finalColor,1)

四、阴影

如何在unity的URP下实现阴影_unity urp阴影-CSDN博客

五、深度图

Unity URP 获取深度图_urp采样深度图-CSDN博客

六、多Pass

如何在Unity的URP下使用多pass(multi pass)_urp 多pass-CSDN博客

七、雾效

1、添加雾效变体

#pragma multi_compile_fog

2、在Varying结构体中添加雾效因子

float fogCoord : TEXCOORD2;

3、在顶点着色器中,我们使用内置函数得到雾效因子

o.fogCoord = ComputeFogFactor(o.vertexCS.z);

4、在片元着色器中,把输出颜色 和 雾效因子混合输出

col.rgb = MixFog(col,i.fogCoord);

八、环境光

BuildIn

fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.rgb

URP

half3 ambient = half3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w);

九、GPUInstancing

Unity URP 中 GPU Instancing的使用_urp gpuinstance-CSDN博客

相关推荐
CoderYanger36 分钟前
A.每日一题:1140. 石子游戏 II
java·程序人生·算法·leetcode·游戏·职场和发展·深度优先
无别0523 小时前
【做游戏】做完游戏Demo后没地方发布?
游戏·玩游戏
lilian2333 小时前
HarmonyOS 7 新特性(二十九)|游戏伴随服务:悬浮协作与质量降级
游戏·语音识别·harmonyos
hele_two3 小时前
C++模拟蚁群(二)
c++·算法·数学建模·图形渲染
人民广场吃泡面4 小时前
DLSS 5 深度解析:当 AI 学会“创造”画面,实时游戏渲染迎来“GPT 时刻”
人工智能·gpt·游戏
郝学胜-神的一滴5 小时前
CMake 047:解锁安装阶段自定义操作,告别配置阶段提前执行坑
运维·服务器·c++·游戏引擎·图形渲染·opengl
学习星球6 小时前
AI 一句话生成 3D 游戏世界:腾讯 HY-World 2.0 开源深度解析与本地实战
开发语言·人工智能·游戏·3d·ai·课程设计·ai编程
乌萨达6 小时前
梦幻新诛仙轻享电脑版怎么玩?模拟器安装与设置指南
游戏·安卓模拟器·雷电模拟器
qq_3692243321 小时前
ddraw.dll丢失是什么原因引起的?老游戏运行报错,多种可行修复手段汇总分享
windows·游戏·dll·dll修复·dll丢失·dll错误
xiaohe06011 天前
🎮 豆包完胜 DeepSeek ?!零玩家竞技场,AI Agent 专属对弈!
游戏·llm·agent