日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity URP高度雾效果Shader

發布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity URP高度雾效果Shader 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現原理

見這篇文章Unity Shader-深度相關知識總結與效果實現(LinearDepth,Reverse Z,世界坐標重建,軟粒子,高度霧,運動模糊,掃描線效果)_puppet_master的專欄-CSDN博客_shader深度

?核心Shader代碼

Shader "Universal Render Pipeline/Dejavu/HeightFog" {Properties{_MainTex("Base (RGB)", 2D) = "white" {}[HDR]_FogColor("_FogColor (default = 1,1,1,1)", color) = (1,1,1,1)}HLSLINCLUDE #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"CBUFFER_START(UnityPerMaterial)float4 _MainTex_ST;half4 _FogColor;float _FogStartHeight;float _FogHeight;float _FogIntensity;CBUFFER_END//TEXTURE2D(_MainTex);//SAMPLER(sampler_MainTex);sampler2D _MainTex;TEXTURE2D(_CameraDepthTexture);SAMPLER(sampler_CameraDepthTexture);struct appdata {float4 positionOS : POSITION;float2 uv : TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct v2f {float4 positionCS : SV_POSITION;float2 uv : TEXCOORD0;float3 viewRayWorld : TEXCOORD1;UNITY_VERTEX_OUTPUT_STEREO};//vertex shaderv2f vert(appdata v){v2f o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.positionCS = TransformObjectToHClip(v.positionOS.xyz);float sceneRawDepth = 1;#if defined(UNITY_REVERSED_Z)sceneRawDepth = 1 - sceneRawDepth; #endiffloat3 worldPos = ComputeWorldSpacePosition(v.uv, sceneRawDepth, UNITY_MATRIX_I_VP);o.viewRayWorld = worldPos - _WorldSpaceCameraPos.xyz;o.uv = v.uv;return o;}//fragment shaderfloat4 frag(v2f i) : SV_Target{float sceneRawDepth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, i.uv);float linear01Depth = Linear01Depth(sceneRawDepth, _ZBufferParams);float3 worldPos = _WorldSpaceCameraPos.xyz + ( linear01Depth) * i.viewRayWorld;float blendParam = saturate((_FogStartHeight - worldPos.y) / _FogHeight);blendParam = max(linear01Depth * _FogHeight, blendParam);half4 screenCol = tex2D(_MainTex, i.uv);return lerp(screenCol, _FogColor, blendParam * _FogIntensity);}ENDHLSL//開始SubShaderSubShader{//Tags {"RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}Tags{ "RenderPipeline" = "UniversalPipeline" "RenderType" = "Overlay" "Queue" = "Transparent-499" "DisableBatching" = "True" }LOD 100ZTest Always Cull Off ZWrite OffBlend one zeroPass{Name "HeightFog"//后處理效果一般都是這幾個狀態//使用上面定義的vertex和fragment shaderHLSLPROGRAM#pragma vertex vert#pragma fragment fragENDHLSL}}//后處理效果一般不給fallback,如果不支持,不顯示后處理即可 }

實現效果

工程鏈接

GitHub - Dejavu0709/StudyForShader??中的HeightFog文件夾

總結

以上是生活随笔為你收集整理的Unity URP高度雾效果Shader的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 爱av导航| 日本激情一区 | 女futa攻玩遍整个后宫 | av手机在线免费观看 | 蜜桃9999| 日本a级黄| 亚洲成人999 | 亚洲少妇一区 | 天天干天天操天天射 | 国产色婷婷一区二区三区竹菊影视 | 欧美乱妇在线观看 | 国产精品免费av一区二区 | 香蕉视频色版 | 亚欧精品在线观看 | 国产精品久久久久久人 | 性感av在线 | 久久久久网 | 黄色特级视频 | 午夜啪视频| 一区二区三区色 | 亚洲视频一区二区三区四区 | 国产伦精品一区二区三区照片91 | 亚洲精品动漫在线观看 | 国产精品自拍视频一区 | xxx视频在线观看 | 人妻与黑人一区二区三区 | 成人深夜电影 | 精品免费av | 欧美亚州国产 | 亚洲色图15p | 91官网在线观看 | 亚洲人丰满奶水 | 春草 | 国产三级视频网站 | 日韩精品极品视频在线观看免费 | 免费看的黄网站 | 中文字幕日韩在线观看 | 毛片网站在线看 | 公与妇乱理三级xxx www色 | 色视频网| 色综合天天综合 | 性欧美巨大 | 国产剧情一区二区三区 | 国产精品入口66mio男同 | 欧美专区 日韩专区 | 男生尿隔着内裤呲出来视频 | 欧美做爰爽爽爽爽爽爽 | 精品久久网站 | 欧美午夜精品一区二区三区电影 | 在线观看毛片av | 香蕉视频一区 | 欧美高清hd18日本 | 久久精品国产免费 | 久久久久久1 | 欧美变态另类刺激 | 国产一区欧美日韩 | 亚洲影院一区 | 日本高清不卡在线 | a级片在线视频 | 日本国产一区二区三区 | 亚洲欧洲中文 | 午夜伦理福利视频 | 欧洲亚洲成人 | 九九小视频 | 邻居少妇张开双腿让我爽一夜 | 香蕉视频官网在线观看 | 强行挺进白丝老师翘臀网站 | 欧美日韩视频免费 | 国产.com| 国产视频123区 | 欧美性生交xxxxx久久久 | 国产欧美一区二区精品性色超碰 | 欧美亚洲激情视频 | 亚洲AV成人无码电影在线观看 | 亚洲精品在线观看免费 | 成人激情在线视频 | 激情综合网激情 | 亚洲黄片一区二区三区 | 91在线国产观看 | 久草资源站 | 亚洲综合网在线观看 | 亚洲日本在线观看 | 无码人妻精品一区二区三区夜夜嗨 | 在线视频在线观看 | 熟妇人妻中文av无码 | 国产成人免费视频网站 | 91草草草 | 人人干人人干 | 在线观看国产精品一区 | 伊人网色 | 欧美视频在线观看免费 | 日韩中文av | 免费男女乱淫真视频免费播放 | 久久精品美女 | 亚洲图片小说视频 | 69日本xxxxxxxx96| 91成人综合 | 久久久免费观看 | 91亚洲精品久久久久久久久久久久 |