国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

材質(zhì)屬性和 GI 系統(tǒng)

2020-06-22 09:40 作者:unity_某某師_高錦錦  | 我要投稿

對象的外觀由其著色器定義。

舊版和當(dāng)前著色器映射

Unity 3 和 4 中的著色器映射與 Unity 5 中的著色器映射具有不同的工作原理。Unity 5 及之后的版本仍然支持舊版著色器映射。請參閱下面的舊版材質(zhì)映射。

Unity 3.x 和 4.x 使用了從材質(zhì)屬性到光照貼圖材質(zhì)屬性的簡單映射。此映射適用于常見情況,但是基于命名約定、標(biāo)簽和字符串。您無法對表面屬性進(jìn)行任何自定義,因為此映射實際上采用了硬編碼技術(shù)定義具體的運行方式。Unity 5.0 及之后的版本具有靈活的著色器映射。


Meta pass(Unity 5.0 及之后的版本)

反照率和發(fā)光是使用特殊的 Meta 著色器 pass 渲染的。光照貼圖靜態(tài)游戲?qū)ο笫鞘褂?GPU 在光照貼圖空間中渲染的。這意味著,游戲?qū)ο笤谄聊簧系耐庥^與其對于光照貼圖而言的外觀是分開的,因此您可以自定義著色器。

Meta pass 可解除反照率和發(fā)光之間的關(guān)聯(lián)性,用于在常規(guī)著色器 pass 期間計算全局光照?(GI)。因此,您可以在控制 GI 的同時不影響用于實時渲染的著色器。標(biāo)準(zhǔn)著色器在默認(rèn)情況下包含 Meta pass。全局光照由 Unity 中的一個名為 Enlighten 的中間件進(jìn)行管理。

Meta pass 流程

Unity Editor 在內(nèi)部處理金屬性表面的反照率時需要使用 Meta pass。Enlighten 處理漫射傳輸并在每次反彈時使用表面反照率。具有黑色(或幾乎黑色)反照率的金屬性表面不會反射任何光線。著色器 pass 在渲染反照率時會讓其偏向具有金屬色調(diào)的更亮顏色。介電材質(zhì)(木材、塑料、石材、混凝土、皮革、皮膚)具有白色鏡面反射率。金屬具有光譜鏡面反射率。

注意:使用 Meta pass 不如?DynamicGI.SetEmissive?的速度快,但靈活性更高,因為不會受限于單個顏色。


舊版材質(zhì)映射

Unity 5.0 及更高版本中的內(nèi)置舊版著色器已經(jīng)包含 Meta pass。如果要將項目從 Unity 5.0 之前的版本進(jìn)行升級,則應(yīng)添加 Meta pass。請參閱下面具有 Meta pass 的示例著色器以了解具體操作方法。

自定義 RGB 透明度

通過向著色器添加名為?_TransparencyLM?的紋理屬性,即可添加基于顏色的自定義 RGB 透明度。在這種情況下,標(biāo)準(zhǔn)行為將被刪除,并且僅使用此紋理的值來評估材質(zhì)中的傳輸情況。當(dāng)您想要創(chuàng)建獨立于材質(zhì)顏色或反照率紋理的基于顏色的透明度時,這將非常有用。

要創(chuàng)建自定義傳輸行為,請將以下行添加到著色器并分配紋理:

_TransparencyLM ("Transmissive Texture", 2D) = "white" {}

注意:Unity 通過著色器的屬性和路徑/名稱關(guān)鍵字(如?Transparent、Tree、Leaf、Leaves?等)來檢測某些舊版著色器。


具有 Meta pass 的示例著色器

下面的著色器允許專門為 GI 系統(tǒng)指定自定義反照率顏色和紋理。

Shader "Custom/metaPassShader"{ ? ?

Properties { ? ? ? ?

_Color ("Color", Color)=(1,1,1,1) ? ? ? ?

_MainTex ("Albedo (RGB)",2D)="white"{} ? ? ? ?

_Glossiness ("Smoothness", Range(0,1))=0.5 ? ? ? ?

_Metallic ("Metallic", Range(0,1))=0.0 ? ? ? ?

_GIAlbedoColor ("Color Albedo (GI)", Color)=(1,1,1,1) ? ? ? ?

_GIAlbedoTex ("Albedo (GI)",2D)="white"{} ? ?

} ? ?

SubShader { ? ?

// ------------------------------------------------------------------ ? ?

// 提取光照貼圖、GI(發(fā)光、反照率...)的信息 ? ?

// 在常規(guī)渲染期間不使用此 pass。 ? ? ? ?

Pass{ ? ? ? ? ? ?

Name "META" ? ? ? ? ? ?

Tags {"LightMode"="Meta"}

Cull Off ? ? ? ? ? ?

CGPROGRAM ? ? ? ? ? ?

#include"UnityStandardMeta.cginc" ? ? ? ? ? ?

sampler2D _GIAlbedoTex; ? ? ? ? ? ?

fixed4 _GIAlbedoColor; ? ? ? ? ? ?

float4 frag_meta2 (v2f_meta i): SV_Target{ ? ? ? ? ? ? ? ?

// 我們對產(chǎn)生最終反照率的漫射和鏡面反射 ? ? ? ? ? ? ? ?

// 以及表面粗糙度顏色感興趣。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?FragmentCommonData data = UNITY_SETUP_BRDF_INPUT (i.uv); ? ? ? ? ? ? ? ?UnityMetaInput o;

?UNITY_INITIALIZE_OUTPUT(UnityMetaInput, o);

fixed4 c = tex2D (_GIAlbedoTex, i.uv); ? ? ? ? ? ? ? ?

o.Albedo = fixed3(c.rgb * _GIAlbedoColor.rgb); ? ? ? ? ? ? ? ?

o.Emission = Emission(i.uv.xy); ? ? ? ? ? ? ? ?

return UnityMetaFragment(o);

} ? ? ? ? ? ? ? ? ? ? ?

#pragma vertex vert_meta ? ? ? ? ? ?

#pragma fragment frag_meta2 ? ? ? ? ? ?

#pragma shader_feature _EMISSION ? ? ? ? ? ?

#pragma shader_feature _METALLICGLOSSMAP ? ? ? ? ? ?

#pragma shader_feature ___ _DETAIL_MULX2 ? ? ? ? ? ?

ENDCG?

} ? ? ? ? ? ? ?

Tags {"RenderType"="Opaque"} ? ? ? ?

LOD 200 ? ? ? ?

CGPROGRAM ? ? ? ?

// 這是基于物理的標(biāo)準(zhǔn)光照模型,并對所有光照類型啟用陰影 ? ? ? ?

#pragma surface surf Standard fullforwardshadows nometa ? ? ? ?

// 使用 Shader Model 3.0 目標(biāo)以獲得更美觀的光照 ? ? ? ?

#pragma target 3.0 ? ? ? ?

sampler2D _MainTex; ? ? ? ?

struct Input { ? ? ? ? ? ?

float2 uv_MainTex; ? ? ? ?

}; ? ? ? ? ? ? ?

half _Glossiness; ? ? ? ?

half _Metallic; ? ? ? ?

fixed4 _Color; ? ? ? ? ? ? ?

void surf (Input IN,inout SurfaceOutputStandard o){ ? ? ? ? ? ?

// Albedo 來自顏色著色的紋理 ? ? ? ? ? ?

fixed4 c = tex2D (_MainTex, IN.uv_MainTex)* _Color; ? ? ? ? ? ?

o.Albedo = c.rgb; ? ? ? ? ? ?

// Metallic 和 Smoothness 來自滑動條變量 ? ? ? ? ? ?

o.Metallic = _Metallic; ? ? ? ? ? ?

o.Smoothness = _Glossiness; ? ? ? ? ? ?

o.Alpha = c.a; ? ? ? ?

} ? ? ? ?

ENDCG ? ?

} ? ?

FallBack "Diffuse" }


材質(zhì)屬性和 GI 系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
迁西县| 蛟河市| 九江县| 崇明县| 蒙山县| 洱源县| 阳谷县| 乾安县| 莆田市| 建阳市| 余干县| 河南省| 营口市| 长泰县| 连州市| 集安市| 襄汾县| 赞皇县| 克什克腾旗| 都兰县| 马尔康县| 聂荣县| 汉寿县| 永和县| 深泽县| 闸北区| 东阳市| 文化| 康马县| 保靖县| 峨山| 平昌县| 丰城市| 读书| 阿克陶县| 绵竹市| 霍邱县| 都安| 桂东县| 揭阳市| 冕宁县|