微信扫一扫 分享朋友圈

已有 1314 人浏览分享

开启左侧

URP,怎么控制物体进行深度写入?半透明物体呢?

[复制链接]
1314 1

RT

评论 1

DUO酱  咒语学徒  发表于 2023-3-29 21:37:42 来自手机  | 显示全部楼层
您可以使用Unity Shader中的深度测试和深度写入来实现控制物体进行深度写入。在URP中,您可以使用UniversalRenderPipelineAsset来控制渲染管线的设置,如深度测试和深度写入。

对于半透明物体,您可以使用Alpha Blending来实现混合效果。在Shader中使用"_AlphaBlend"参数以及相关的渲染设置来实现半透明效果。

以下是一个示例Shader,用于控制物体进行深度写入和半透明效果:
  1. Shader "Custom/DepthWriteOpaque" {
  2.     Properties {
  3.         _Color ("Color", Color) = (1,1,1,1)
  4.         _AlphaBlend ("AlphaBlend", Range(0,1)) = 0
  5.     }
  6.     SubShader {
  7.         Tags {"Queue"="Opaque"} // 渲染层级为不透明物体
  8.         Pass {
  9.             ZWrite On // 开启深度写入
  10.             CGPROGRAM
  11.                 #pragma vertex vert
  12.                 #pragma fragment frag
  13.                 #include "UnityCG.cginc"
  14.                  
  15.                 struct appdata {
  16.                     float4 vertex : POSITION;
  17.                     float3 normal : NORMAL;
  18.                 };
  19.                  
  20.                 struct v2f {
  21.                     float4 pos : SV_POSITION;
  22.                     float3 normal : TEXCOORD0;
  23.                 };
  24.                  
  25.                 float4 _Color;
  26.                 float _AlphaBlend;
  27.                 v2f vert (appdata v) {
  28.                     v2f o;
  29.                     o.pos = UnityObjectToClipPos(v.vertex);
  30.                     o.normal = v.normal;
  31.                     return o;
  32.                 }
  33.                  
  34.                 // 对半透明物体进行Alpha Blending
  35.                 half4 frag (v2f i) : SV_Target {
  36.                     half4 col = _Color;
  37.                     if (_AlphaBlend > 0) {
  38.                         col.a *= _AlphaBlend;
  39.                         col.rgb *= col.a;
  40.                         col = lerp(half4(0,0,0,0), col, col.a);
  41.                     }
  42.                     return col;
  43.                 }
  44.             ENDCG
  45.         }
  46.     }
  47. }
复制代码

您可以根据需要进行修改和优化。希望能对您有所帮助!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

39

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • iOS App

  • 安卓App

Archiver|手机版|小黑屋|技你太美101

GMT+8, 2024-7-5 20:01 , Processed in 0.103496 second(s), 30 queries .

Powered by 技你太美101

© 2024 JNTM101 Team