【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" }  

相关内容

热门资讯

必备科技“pokermaste... 必备科技“pokermaster怎么无线刷金币”(透视)详细开挂辅助教程尤其是(私人局透视方法)平台...
第八分钟透视挂!拉米大厅游戏源... 第八分钟透视挂!拉米大厅游戏源码,樱花之盛辅助器(微信链接金花辅助开挂app)1、拉米大厅游戏源码a...
黑科技辅助(微扑克工具)外挂软... 黑科技辅助(微扑克工具)外挂软件透明挂智能ai辅助安装插件(透视)透明挂教程(2021已更新)(哔哩...
一分钟秒懂!wpk辅助器是真的... 一分钟秒懂!wpk辅助器是真的假的,太坑了本来真的有挂(2024已更新)(哔哩哔哩);是一款可以让一...
第七分钟了解!财神破解版全自动... 第七分钟了解!财神破解版全自动脚本插件开挂,兴动休闲辅助软件透视挂(最新版本2026)1、这是跨平台...
信息共享“扑克世界辅助软件下载... 信息共享“扑克世界辅助软件下载安装”(透视)详细开挂辅助方法在 中,各式各样的方法看似可以实现“透视...
三分钟透视挂!西兵辅助器,微信... 三分钟透视挂!西兵辅助器,微信西楚辅助(微信链接金花辅助开挂神器)1、金币登录送、破产送、升级送、活...
黑科技辅助(wpk测试)外挂软... 黑科技辅助(wpk测试)外挂软件透明挂智能ai辅助黑科技(透视)黑科技教程(2020已更新)(哔哩哔...
十分钟了解!闲乐互娱源码插件开... 十分钟了解!闲乐互娱源码插件开挂,微信微乐小程序修改器软件透视挂(最新版本2026)1、微信微乐小程...
分享一款!微扑克数据辅助软件,... 分享一款!微扑克数据辅助软件,太坑了原本是有挂(2020已更新)(哔哩哔哩);亲真的是有正版授权,小...