最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

Unity-基于物理的渲染材質(zhì)驗(yàn)證器

2021-03-26 07:40 作者:unity_某某師_高錦錦  | 我要投稿

基于物理的渲染材質(zhì)驗(yàn)證器 (Physically Based Rendering Material Validator) 是 Scene 視圖中的一種繪制模式,它可以確保材質(zhì)使用的值處于基于物理的著色器的建議參考值范圍內(nèi)。如果特定材質(zhì)中的像素值落在參考范圍之外,則材質(zhì)驗(yàn)證器會(huì)突出顯示不同顏色的像素以指示失敗狀態(tài)。

要使用材質(zhì)驗(yàn)證器,請(qǐng)選擇 Scene 視圖的__繪制模式 (Draw Mode)__ 下拉菜單,默認(rèn)情況下該菜單通常設(shè)置為?Shaded。

Scene 視圖的繪制模式下拉菜單

導(dǎo)航到?Material Validation?部分。材質(zhì)驗(yàn)證器有兩種模式:__Validate Albedo__ 和?Validate Metal Specular。

Scene 視圖繪制模式下拉菜單中的 Material Validation 選項(xiàng)

注意:還可以使用?Unity 的材質(zhì)圖表來(lái)檢查建議值。在創(chuàng)作材質(zhì)時(shí),您仍需要使用這些圖表來(lái)決定__反照率__和__金屬鏡面反射__值。但是,材質(zhì)驗(yàn)證器提供了一種可視化的編輯器內(nèi)部驗(yàn)證方式,可讓您在資源處于場(chǎng)景中時(shí)快速檢查材質(zhì)的值是否有效。

另請(qǐng)注意:驗(yàn)證器僅適用于線(xiàn)性顏色空間?;谖锢淼匿秩静贿m用于伽馬顏色空間,因此如果您要使用基于物理的渲染 (PBR) 和 PBR 材質(zhì)驗(yàn)證器,那么同時(shí)還應(yīng)使用線(xiàn)性顏色空間。

Validate Albedo 模式

將 Material Validation 設(shè)置為 Validate Albedo 時(shí),在 Scene 視圖中顯示的 PBR 驗(yàn)證設(shè)置 (PBR Validation Settings) 如下。

屬性:????????????????????????????????????????????????????????????????????????????功能:

Check Pure Metals????如果希望材質(zhì)驗(yàn)證器以黃色突出顯示所發(fā)現(xiàn)的由 Unity 定義為金屬性但具有非零反照率值的像素,請(qǐng)啟用此復(fù)選框。有關(guān)更多詳細(xì)信息,請(qǐng)參閱下面的純金屬。默認(rèn)情況下未啟用此選項(xiàng)。

Luminance Validation????????使用下拉選單選擇材質(zhì)驗(yàn)證器的預(yù)設(shè)配置。如果選擇?Default Luminance?以外的任何選項(xiàng),還可以調(diào)整 Hue Tolerance 和 Saturation Tolerance。此屬性名稱(chēng)下方的色帶表示該配置的反照率顏色。下拉選單下方的 Luminance 值表示最小和最大亮度值。材質(zhì)驗(yàn)證器會(huì)突出顯示亮度值超出這些值的所有像素。默認(rèn)情況下,此選項(xiàng)設(shè)置為?Default Luminance。Hue Tolerance檢查材質(zhì)的反照率顏色值時(shí),此滑動(dòng)條允許您控制材質(zhì)色調(diào)與驗(yàn)證配置中的色調(diào)之間允許的誤差量。Saturation Tolerance檢查材質(zhì)的反照率顏色值時(shí),此滑動(dòng)條允許您控制材質(zhì)飽和度與驗(yàn)證配置中的飽和度之間允許的誤差量。

Color Legend這些顏色對(duì)應(yīng)于材質(zhì)驗(yàn)證器在材質(zhì)像素超出定義值時(shí)將會(huì)顯示在 Scene 視圖中的顏色。

????????Red?????????Below Minimum Luminance Value材質(zhì)驗(yàn)證器以紅色突出顯示低于?Luminance Validation?中定義的最小亮度值的任何像素(表示它們太暗)。

????????Blue?????????Above Maximum Luminance Value材質(zhì)驗(yàn)證器以藍(lán)色突出顯示高于?Luminance Validation?中定義的最大亮度值的任何像素(表示它們太亮)。

????????Yellow?????????Not A Pure Metal如果啟用了 Check Pure Metals 選項(xiàng),則材質(zhì)驗(yàn)證器會(huì)以黃色突出顯示由 Unity 定義為金屬性但具有非零反照率值的像素。有關(guān)更多詳細(xì)信息,請(qǐng)參閱下面的“純金屬”。


Unity 的材質(zhì)圖表定義了非金屬的標(biāo)準(zhǔn)亮度范圍為 50–243 sRGB,而金屬的標(biāo)準(zhǔn)亮度范圍為 186–255 sRGB。Validate Albedo?模式會(huì)使用不同顏色顯示處于這些范圍之外的任何像素,以指示該值太低或太高。

在下面的示例中,第一個(gè)紋理低于最小亮度值,因此太暗。第四個(gè)紋理高于最大亮度值,因此太亮。

一個(gè)場(chǎng)景(未啟用材質(zhì)驗(yàn)證器)中的第一個(gè)和第四個(gè)材質(zhì)具有不正確的反照率值
啟用了材質(zhì)驗(yàn)證器并設(shè)置為 Validate Albedo 模式的相同場(chǎng)景。低于最小亮度值的紋理為紅色。高于最小亮度值的紋理為藍(lán)色

材質(zhì)圖表提供常見(jiàn)材質(zhì)的反照率值。反照率值的亮度對(duì)產(chǎn)生的漫射光量有巨大影響,因此全局光照烘焙必須確保不同的材質(zhì)類(lèi)型位于正確的亮度范圍內(nèi)(彼此成比例),這一點(diǎn)十分重要。為了方便正確設(shè)置這些值,可從 Luminance Validation 下拉選單的預(yù)設(shè)選項(xiàng)中進(jìn)行選擇,該下拉選單提供了常用的材質(zhì)反照率值以便驗(yàn)證特定材質(zhì)類(lèi)型的亮度范圍。

覆蓋默認(rèn)亮度值

根據(jù)項(xiàng)目的美術(shù)風(fēng)格,您可能希望材質(zhì)的亮度值與預(yù)設(shè)的亮度范圍不同。在這種情況下,可使用自己的值覆蓋材質(zhì)驗(yàn)證器使用的內(nèi)置反照率值。要覆蓋預(yù)設(shè)亮度范圍,請(qǐng)將每種所需材質(zhì)類(lèi)型的?AlbedoSwatchInfo?值數(shù)組分配給屬性?EditorGraphicsSettings.albedoSwatches。

Validate Metal Specular 模式

處于 Validate Metal Specular 模式時(shí)的 PBR 驗(yàn)證設(shè)置 (PBR Validation Settings)

將?Material Validation?設(shè)置為?Validate Metal Specular?時(shí),在 Scene 視圖中顯示的 PBR 驗(yàn)證設(shè)置 (PBR Validation Settings) 如下。

屬性:功能:

Check Pure Metals如果希望材質(zhì)驗(yàn)證器以黃色突出顯示所發(fā)現(xiàn)的由 Unity 定義為金屬性但具有非零反照率值的像素,請(qǐng)啟用此復(fù)選框。有關(guān)更多詳細(xì)信息,請(qǐng)參閱下面的“純金屬”。默認(rèn)情況下未啟用此選項(xiàng)。

Color Legend這些顏色對(duì)應(yīng)于材質(zhì)驗(yàn)證器在材質(zhì)像素?zé)o效時(shí)(這意味著它們的鏡面反射值超出了該材質(zhì)類(lèi)型(金屬性或非金屬性)的有效范圍)在 Scene 視圖中顯示的顏色。有效范圍見(jiàn)下表。

????????????BlueBelow Minimum Specular Value? 材質(zhì)驗(yàn)證器以紅色突出顯示低于最小鏡面反射值的所有像素。(40 表示非金屬性,155 表示金屬性)。

????????????RedAbove Maximum Specular Value? 材質(zhì)驗(yàn)證器以藍(lán)色突出顯示高于最大鏡面反射值的所有像素。(75 表示非金屬性,255 表示金屬性)。

????????????YellowNot A Pure Metal 如果啟用了?Check Pure Metals?選項(xiàng),則材質(zhì)驗(yàn)證器會(huì)以黃色突出顯示由 Unity 定義為金屬性但具有非零反照率值的像素。有關(guān)更多詳細(xì)信息,請(qǐng)參閱下面的“純金屬”。

Unity 的材質(zhì)圖表定義了兩個(gè)獨(dú)立的鏡面反射顏色范圍:

  • __非金屬性材質(zhì)__:40–75 sRGB

  • __金屬性材質(zhì)__:155 - 255 sRGB

在 Unity 中,所有非金屬性材質(zhì)都具有始終處于正確范圍內(nèi)的恒定鏡面反射顏色。然而,金屬性材質(zhì)通常具有太低的鏡面反射值。為了幫助您識(shí)別存在此問(wèn)題的金屬性材質(zhì),材質(zhì)驗(yàn)證器的?Validate Metal Specular?模式使用顏色來(lái)標(biāo)示鏡面反射顏色值太低的所有像素。根據(jù)定義,這包括所有非金屬性材質(zhì)。

在下面的示例中,左側(cè)材質(zhì)低于最小鏡面反射值,因此太暗。這也適用于場(chǎng)景的背景。右側(cè)材質(zhì)的鏡面反射值處于有效范圍內(nèi)。

包含兩種金屬性材質(zhì)的場(chǎng)景。左側(cè)材質(zhì)的金屬性鏡面反射值不正確
啟用了材質(zhì)驗(yàn)證器并設(shè)置為 Validate Metal Specular 模式的相同場(chǎng)景

純金屬

Unity 將鏡面反射顏色大于 155 sRGB 的基于物理的著色材質(zhì)定義為金屬性材質(zhì)。Unity 將金屬性材質(zhì)定義為_(kāi)_純金屬__

如果非金屬性表面的鏡面反射顏色值太高,但反照率值為非零,則通常是由于創(chuàng)作錯(cuò)誤導(dǎo)致的。材質(zhì)驗(yàn)證器還有一個(gè)名為?Check Pure Metals?的選項(xiàng)。啟用此選項(xiàng)后,材質(zhì)驗(yàn)證器會(huì)以黃色顯示由 Unity 定義為金屬性但具有非零反照率值的所有材質(zhì)。在下面的圖像中可以看到這方面的一個(gè)例子。此處顯示了三種材質(zhì),左側(cè)和右側(cè)材質(zhì)為純金屬,但中間的材質(zhì)不是,因此材質(zhì)驗(yàn)證器將其顯示為黃色:

包含三種金屬性材質(zhì)的場(chǎng)景。中間的材質(zhì)不是純金屬(它具有非零反照率值)
啟用了__材質(zhì)驗(yàn)證器、設(shè)置為 Validate Metal Specular__ 模式并啟用了 Check Pure Metals 的相同場(chǎng)景

在上面的第二張圖中,背景為紅色,這是因?yàn)楸尘爸械牟馁|(zhì)低于材質(zhì)驗(yàn)證器的?Validate Metal Specular?模式下的最小鏡面反射值。

對(duì)于金屬性和非金屬性屬性相結(jié)合的復(fù)雜材質(zhì),純金屬檢查器可能會(huì)拾取一些無(wú)效像素,但如果材質(zhì)完全無(wú)效,則通常表示存在創(chuàng)作錯(cuò)誤。

實(shí)現(xiàn)

只要材質(zhì)使用 Unity?標(biāo)準(zhǔn)著色器或表面著色器,即可采用材質(zhì)驗(yàn)證器。但是,自定義著色器需要一個(gè)名為?"META"?的 pass。大多數(shù)支持光照貼圖的自定義著色器已經(jīng)定義了此 pass。請(qǐng)參閱有關(guān)?Meta pass?的文檔以了解更多詳細(xì)信息。

執(zhí)行以下步驟,使自定義著色器與材質(zhì)驗(yàn)證器兼容:

1.將以下 pragma 添加到 Meta pass:#pragma shader_feature EDITOR_VISUALIZATION?2.在?UnityMetaInput?結(jié)構(gòu)中,將材質(zhì)的鏡面反射顏色分配給名為?SpecularColor?的字段,如下面的代碼示例所示。

以下是自定義 Meta pass 的示例:

Pass { ? ?
 ?Name "META" ? ?
 ?Tags { "LightMode"="Meta" 
 ?} ? ?
 ?Cull Off ? ?
 ?CGPROGRAM ? ?
 ?#pragma vertex vert_meta ? ?
 ?#pragma fragment frag_meta ? ?
 ?#pragma shader_feature _EMISSION ? ?
 ?#pragma shader_feature _METALLICGLOSSMAP ? ? 
 ?#pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A ? ?
 ?#pragma shader_feature ___ _DETAIL_MULX2 ? ?
 ?#pragma shader_feature EDITOR_VISUALIZATION ? ?
 ?float4 frag_meta(v2f_meta i) : SV_TARGET { ? ? ? ?
 ? ?UnityMetaInput input; ? ? ? ?
 ? ?UNITY_INITIALIZE_OUTPUT(UnityMetaInput, input); ? ? ? ?
 ? ?float4 materialSpecularColor = float4(1.0f, 0.0f, 0.0f, 1.0f); ? ? ? ?
 ? ?float4 materialAlbedo = float4(0.0f, 1.0f, 0.0f, 1.0f); ? ? ? ?
 ? ?input.SpecularColor = materialSpecularColor; ? ? ? ?
 ? ?input.Albedo = materialAlbedo; ? ? ? ?
 ? ?return UnityMetaFragment(input);
 ?}
}



Unity-基于物理的渲染材質(zhì)驗(yàn)證器的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
望都县| 泾川县| 泗洪县| 哈密市| 志丹县| 文成县| 弋阳县| 准格尔旗| 乌苏市| 兴国县| 黄石市| 乌审旗| 石楼县| 花垣县| 象州县| 凤冈县| 新疆| 无极县| 防城港市| 闵行区| 星子县| 尼勒克县| 凤山市| 桃源县| 鲜城| 泊头市| 永德县| 安远县| 宿松县| 宁城县| 常州市| 合阳县| 安化县| 蒙城县| 城固县| 建湖县| 临汾市| 昭平县| 土默特左旗| 绥芬河市| 荣成市|