bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

怎么在unity中利用shader實現完整光照效果-創新互聯

這篇文章給大家介紹怎么在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"
}

關于怎么在unity中利用shader實現完整光照效果就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:怎么在unity中利用shader實現完整光照效果-創新互聯
URL分享:http://vcdvsql.cn/article30/cssgso.html

成都網站建設公司_創新互聯,為您提供網站導航網站建設手機網站建設網站收錄品牌網站設計品牌網站建設

廣告

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

網站托管運營