unityshader怎么實現光照效果

這篇文章主要介紹“unityshader怎么實現光照效果”,在日常操作中,相信很多人在unityshader怎么實現光照效果問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”unityshader怎么實現光照效果”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創新互聯于2013年開始,是專業互聯網技術服務公司,擁有項目網站建設、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元皋蘭做網站,已為上家服務,為皋蘭各地企業和個人服務,聯系電話:18982081108

本文實例為大家分享了unity shader實現光照效果的具體代碼,供大家參考,具體內容如下

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unlit/lightFull"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { Tags{"LightMode" = "ForwardBase"} CGPROGRAM #pragma vertex vert #pragma fragment frag // make fog work #pragma multi_compile_fwdbase  #include "UnityCG.cginc" #include "Lighting.cginc" #include "AutoLight.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; float3 normal : NORMAL; }; struct v2f { float2 uv : TEXCOORD0; float4 pos : POSITION; float4 pos_world : TEXCOORD1; float3 normal:TEXCOORD2; SHADOW_COORDS(3) }; sampler2D _MainTex; float4 _MainTex_ST;  v2f vert (appdata v) { v2f o; o.pos_world = mul(UNITY_MATRIX_M, v.vertex); o.normal = v.normal; o.pos = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); TRANSFER_SHADOW(o); return o; }  fixed4 frag (v2f i) : SV_Target { // sample the texture fixed4 col = tex2D(_MainTex, i.uv); float4 lightColor = _LightColor0; float3 lightDir = WorldSpaceLightDir(i.pos_world); UNITY_LIGHT_ATTENUATION(atten, i, i.pos_world.xyz); return col * lightColor * saturate(dot(lightDir, i.normal)) * atten; } ENDCG } pass { Tags{"LightMode" = "ForwardAdd"} Blend One One CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_fwdadd_fullshadows  #include "UnityCG.cginc" #include "Lighting.cginc" #include "AutoLight.cginc" struct v2f { float4 pos : POSITION; float4 vertex : TEXCOORD0; float3 normal : NORMAL; SHADOW_COORDS(2) }; v2f vert(appdata_full data) { v2f v; v.pos = UnityObjectToClipPos(data.vertex); v.vertex = mul(UNITY_MATRIX_M, data.vertex); v.normal = data.normal; TRANSFER_SHADOW(v); return v; } float4 frag(v2f v) :SV_Target { float3 lightColor = _LightColor0;#ifdef USING_DIRECTIONAL_LIGHT float3 lightDir = _WorldSpaceLightPos0;#else float3 lightDir = _WorldSpaceLightPos0 - v.vertex;#endif UNITY_LIGHT_ATTENUATION(atten, v, v.vertex.xyz); float3 color = lightColor * saturate(dot(lightDir, v.normal) * atten); return float4(color, 1); } ENDCG } } Fallback "Specular"}

到此,關于“unityshader怎么實現光照效果”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!

網站名稱:unityshader怎么實現光照效果
文章源于:http://m.kartarina.com/article2/pgoeic.html

成都網站建設公司_創新互聯,為您提供品牌網站制作服務器托管搜索引擎優化建站公司電子商務自適應網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設
主站蜘蛛池模板: 2024你懂的网站无码内射| 国产精品无码v在线观看| 日韩免费a级毛片无码a∨| 亚洲中文无码永久免| 无码人妻一区二区三区免费| 人妻无码久久精品| 少妇无码一区二区三区免费| 国产精品无码免费视频二三区| 亚洲AV无码成人精品区天堂| 国产精品无码MV在线观看| 亚洲va无码手机在线电影| 国产午夜无码片在线观看| 精品久久无码中文字幕| 国产成A人亚洲精V品无码| gogo少妇无码肉肉视频| 免费无码黄十八禁网站在线观看| 色爱无码AV综合区| 亚洲ⅴ国产v天堂a无码二区| 中文无码AV一区二区三区| 精品无码久久久久久久久| 亚洲AV色无码乱码在线观看| 人妻丰满熟妇岳AV无码区HD| 野花在线无码视频在线播放| 亚洲免费日韩无码系列 | 色情无码WWW视频无码区小黄鸭| 无码人妻久久一区二区三区蜜桃| 亚洲Av无码国产一区二区| 亚洲真人无码永久在线观看| 日日麻批免费40分钟无码| 无码人妻精品一区二区三区久久 | 亚洲成a∨人片在无码2023| 无码人妻精品一区二区三区66| 亚洲AV中文无码乱人伦下载| 国产午夜无码精品免费看动漫| 久久久久亚洲?V成人无码| 国产成人无码AV一区二区在线观看| 国产成年无码AV片在线韩国| 国产爆乳无码一区二区麻豆| 无码视频在线观看| 亚洲av无码片在线观看| 无码亚洲成a人在线观看|