【Unity Shader】逐顶点高光反射
创始人
2024-11-14 03:06:11
0
Shader "Unlit/SpecularVertexLevelMat" {     Properties     {         _Diffuse("Difuse", Color) = (1, 1, 1, 1)    //漫反射颜色属性         _Specular("Specular", Color) = (1, 1, 1, 1)     //高光反射颜色         _Gloss("Gloss", Range(8.0, 256)) = 20       //控制高光区域大小     }      SubShader{         Pass{             //LightMode 定义Pass在Unity光照流水线中的角色             Tags{"LightMode" = "ForwardBase"}                          CGPROGRAM              #pragma vertex vert             #pragma fragment frag                          #include "Lighting.cginc"             fixed4 _Diffuse;             fixed4 _Specular;             float _Gloss;              struct a2v{                 float4 vertex : POSITION;                 float3 normal : NORMAL;             };              struct v2f{                 float4 pos : SV_POSITION;                 fixed3 color : COLOR;             };              v2f vert(a2v v){                 v2f o;                 o.pos = UnityObjectToClipPos(v.vertex);                 fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz;                  fixed3 worldNormal = normalize(mul(v.normal, (float3x3)unity_WorldToObject));                 fixed3 worldLightDir = normalize(_WorldSpaceLightPos0.xyz);                  fixed3 diffuse = _LightColor0.rgb * _Diffuse.rgb * saturate(dot(worldNormal, worldLightDir));                  // 反射方向 = l - 2(n · l)n ,函数reflect(i, n) i代表入射方向, n代表法线方向                 fixed3 reflectDir = normalize(reflect(-worldLightDir, worldNormal));                 //viewDir指物体表面顶点指向相机位置的方向                 fixed3 viewDir = normalize(_WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, v.vertex).xyz);                 //高光反射 = 入射光颜色强度 * 材质高光反射系数 * Max(0, 视角方向 · 反射方向)^ 光泽度                 fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(reflectDir, viewDir)), _Gloss);                  o.color = ambient + diffuse + specular;                  return o;             }              fixed4 frag(v2f i) : SV_Target{                 return fixed4(i.color, 1.0);             }             ENDCG         }     }     Fallback "Specular" }  

相关内容

热门资讯

德州AI智能辅助机器人!wpk... 【福星临门,好运相随】;德州AI智能辅助机器人!wpk微扑克真的有辅助插件吗,(WepoKe)都是是...
wepoke辅助有挂!红龙扑克... wepoke辅助有挂!红龙扑克真假,(wEPOKE)从来存在有挂(详细透视插件教程);亲们利用一分钟...
wepoke一定有挂!聚星扑克... wepoke一定有挂!聚星扑克进去后怎么操作,(WPK)最初是有挂(详细辅助透明挂教程);支持2-1...
wpk德州透视辅助!wpk微扑... WePoker透视辅助版本稳定性对比与推荐‌:wpk德州透视辅助!wpk微扑克真的有助辅吗,(wep...
德扑数据软件!gg扑克有假吗,... 德扑数据软件!gg扑克有假吗,(aa poker)真是真的是有挂(详细透视黑科技教程);德扑数据软件...
we辅助poker德之星!德州... we辅助poker德之星!德州aiapp,(aapoKer)果然是真的有挂(详细透视wepoke教程...
微扑克辅助挂!pokerist... 微扑克辅助挂!pokerist有挂吗,(wepoKE)原来真的是有挂(详细透视黑科技教程);微扑克辅...
wepoke黑科技!wepok... wepoke黑科技!wepoke智能ai,(AAPoker)先前真的是有挂(详细透视2025新版教程...
微扑克辅助机器人!德扑ai软件... 微扑克辅助机器人!德扑ai软件购买,(WepokE)原生真的是有挂(详细透视技巧教程);原来确实真的...
德州之星有外挂!wopoker... 德州之星有外挂!wopoker用ai有用吗,(WEPoke)原先是有挂(详细辅助力荐教程)需要回顾用...