Unity 透明物體渲染 深度圖景深
阿新 • • 發佈:2021-02-16
技術標籤:unity3d
預設不論是URP還是buildin都不會渲染深度的,這時候 景深 是不會顯示的
URP
- 渲染物體的時候增加一個材質(size改為2)
- 然後加入下面的shader
Shader "URP_Custom/RenderDepth"
{
SubShader
{
Pass
{
Name "DepthOnly"
Tags{"LightMode" = "DepthOnly" }
ZWrite On
ColorMask 0
// Cull[_Cull]
HLSLPROGRAM
// Required to compile gles 2.0 with standard srp library
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma target 2.0
#pragma vertex DepthOnlyVertex
#pragma fragment DepthOnlyFragment
// -------------------------------------
// Material Keywords
#pragma shader_feature _ALPHATEST_ON
#pragma shader_feature _GLOSSINESS_FROM_BASE_ALPHA
//--------------------------------------
// GPU Instancing
#pragma multi_compile_instancing
#include "Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl"
ENDHLSL
}
}
}
Buildin
和URP做法差不多,都是新增一個材質
然後單獨寫一個 opaque discard的shader就行
引用一個大佬的連結
https://blog.csdn.net/SnoopyNa2Co3/article/details/98972120