當前位置:首頁 >教程首頁 > Unreal Engine >Unreal中PBR檢測工具分享

Unreal中PBR檢測工具分享

發布時間:2020-06-09 10:20:25

Hello . 大家好!今天給大家分享一下unreal中的pbr檢測,我是木偶心沒。

我們在使用pbr流程的時候都根據項目要求有一些顏色值範圍,比如說substance的30/50-240。我們在painter或者designer裏麵畫貼圖的時候如果顏色值不在正確的範圍內,導入到引擎裏麵效果就會有問題,所以就需要一些在引擎裏麵檢查顏色值或者粗糙度值是否規範的工具。下麵就介紹一些這款朋友提供的檢查basecolor的工具。

1、非金屬

首先這個tool的功能是檢查整個場景的basecolor在不在我們規定的範圍內,所以最好的方式是直接添加一個後處理材質,這樣就能作用到整個場景。所以首先新建一個材質球命名為mat_PbrValidate,然後設置Material Domain為Post Process,現在整個材質就隻有一個Emissive Color屬性暴露出來了,我們隻需要把我們的檢查連接到這個屬性上麵。

1.webp.jpg

然後,需要獲取場景中的basecolor,右鍵添加節點SceneTexture,然後選擇節點的Scene Texture Id屬性為BaseColor(for lighting)才能得到整個場景的base color。

2.webp.jpg

我們給輸出的base color添加一個desturation節點來降低base color飽和度,將0-255的顏色值範圍轉化到0-1的範圍,方便檢測。

3.webp.jpg

獲取到場景中顏色值以後,我們就可以直接用if來進行判斷。如果我們項目規定顏色值範圍需要在50-240範圍內的話,我們就要用兩個if分別判斷是不是大於50和小於240。

由於unreal裏麵默認的顏色使用的是linearsrgb,所以判斷之前我們需要將50和240從srgb轉化成linear srgb。轉化公式如下:Linear = Pow((srgb/255+0.55)/1.055, 2.4)

我們可以直接在引擎裏麵算,也可以在外麵算好了最後的值再放進來。這裏我們直接在引擎裏麵寫,因為需要計算冪函數不用一些特殊手段不太好整。下麵是最高值和最低值的線性轉換,可以把範圍暴露出來,方便不同的項目需求。

4.webp.jpg

然後開始連接到if語句上麵,對於最低範圍bc_low(50),如果輸入的值A>=50,則輸出1;否則就是在範圍之外的錯誤值,輸出0。

5.webp.jpg

同樣,對於最高值bc_high(240),如果輸入的值A>=240,則是超出範圍的錯誤顏色值,輸出1;否則是<240的正確值輸出0。

這裏最高值的判斷和最低值的判斷相反(最低值正確為1,最高值正確為0),是因為我們可以利用兩者之間的減法來lerp不同的顏色區分錯誤和正確的顏色區域。

所以接著我們把兩個if相減,然後和表示錯誤的紅色以及表示正確的綠色進行lerp。

6.webp.jpg

所以假設一下,如果輸入的顏色值是40,則上麵的if輸出0,下麵的if輸出0,相減得0,則輸出紅色;

如果輸入的顏色值是100,上麵if輸出1,下麵輸出0.相減得1,輸出綠色;

如果輸入顏色值250,則上麵if輸出1,下麵if也輸出1,相減得0,輸出紅色。

2、金屬

但是,上麵討論的都是非金屬的basecolor,如果檢測的模型中有金屬,那basecolor可能超過240,所以我們需要在最後的輸出中排除這種金屬的情況。即如果得到的紅色部分中的金屬度有大於0的,則這塊區域的顏色值是正確的。

同樣先用SceneTexture獲取場景中的金屬,然後去飽和度,再用if判斷

7.webp.jpg

如果得到的值>0,則是金屬,輸出0,將輸出值與樓上紅綠顏色相乘,如果樓上的金屬那部分的顏色值是大於240的則相乘以後等於0黑色,符合pbr規定範圍。

我們將最後的輸出放到Emissive Color中。然後保存整個材質。

8.webp.jpg

然後將這個材質加入到我們要檢測的場景中。

首先給我們需要檢測的場景拉一個post process volume,放大到你想要檢查的區域。

9.webp.jpg

在postprocess的屬性中找到renderingfeatures屬性,並在Array中點加號新加一個AssetReference,把我們的mat_PbrValidate材質的instance放進去。

10-1.webp.jpg10-2.webp.jpg

然後在場景中移動攝像機到post process的範圍內,就可以看到不在範圍內的紅色和符合範圍的綠色啦。

11.webp.jpg

來源:Thepoly

华体会hth体育网 賞析
  • 2101期學員李思庭作品

    2101期學員李思庭作品

  • 2104期學員林雪茹作品

    2104期學員林雪茹作品

  • 2107期學員趙淩作品

    2107期學員趙淩作品

  • 2107期學員趙燃作品

    2107期學員趙燃作品

  • 2106期學員徐正浩作品

    2106期學員徐正浩作品

  • 2106期學員弓莉作品

    2106期學員弓莉作品

  • 2105期學員白羽新作品

    2105期學員白羽新作品

  • 2107期學員王佳蕊作品

    2107期學員王佳蕊作品

專業問題谘詢

你擔心的問題,火星幫你解答

微信掃碼入群領福利

掃碼領福利最新AI資訊

點擊谘詢
添加老師微信,馬上領取免費課程資源

1. 打開微信掃一掃,掃描左側二維碼

2. 添加老師微信,馬上領取免費課程資源

×

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯係,請保持電話暢通!
確定