【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智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...