Unity ArtEngine 是一款強大的3D內容創建工具,能夠藉助AI輔助功能創建逼真的數字藝術內容。ArtEngine免去了材質創作工作中冗繁、瑣碎的部分(如將照片轉換為基於物理渲染的材質、解析度增強、去模糊、接縫消除、平整和配色等),幫助藝術家聚焦於創作工作流程中能帶來附加值的部分。
今天進行一個很有意思的嘗試,使用Unity ArtEngine將用手機拍攝的照片最終輸出為一個PBR的材質表現。先上最終效果圖:
製作的樹皮材質
那麼接下來我們就一起製作這個有趣的材質。照片轉化為PBR材質的大致可以分為兩個步驟:
規範的拍攝需要轉換為材質的照片;
使用ArtEngine相關功能節點進行製作。
拍攝篇
如果在戶外直接採集並拍攝的話,為了避免過多的光線和陰影對製作材質時的影響,最好選擇陰天。但今天我們是在室外採集所需的樹皮和苔蘚實物,在室內進行拍攝。
對於採集實物的時候要特別注意:表面要避免反射、透明以及潮溼。因為這樣容易產生高反光,使拍攝的照片產生亮點。再者就是注意拍攝物體儘量平坦。如以下兩張樹皮,建議選用第一張中的樹皮進行拍攝。
然後將我們採集到的一部分小樹皮,進行簡單的清潔處理,帶回工作室。此刻在工作室我已經準備好了一個可以固定手機的支架,調整合適的位置,鏡頭大致距離樹皮30~50cm,為了避免手按拍攝鍵產生晃動影響照片質量,我用了藍牙連接器按鈕來拍攝。
我們需要一張帶有刻度的圓盤背板,這裡我在百度上找了一張帶有刻度的圖片列印出來來充當。
使房間變暗,接下來比較重要的一步是打光,我使用單個可攜式漫射光源(通俗點就是LED燈),按照順時針或者逆時針方向,將光源依次移到材料周圍的4等分羅盤刻度點上拍照。此過程中,相機必須保持在固定位置,且不能移動,僅光源移動。當然按照8等分點拍八張以便軟體更準確得根據陰影位置的變化來計算高度。
拍攝時光源的位置
Ok,到這裡的話,關於如何規範的拍攝照片已經告一段落。接下來就是使用ArtEngine相關功能節點進行製作。
製作篇
在這裡我已經默認大家拍出了規範的照片。(當然如果你還是不小心拍出局部高光的照片也沒有關係,我會在後續文章中來講解如何使用ArtEngine去Delight。)
關於ArtEngine的簡單使用我會在接下來的製作過程中進行簡要說明,但還是希望大家可以去Unity官網或者官方B站上再熟悉下(B站ID:Unity官方)。
首先對我們拍攝的照片進行裁剪,這一步可以在ArtEngine中進行操作,當然你也可以在其他軟體上進行裁剪。
ArtEngine Crop裁剪節點
接下倆我們把裁剪過的4張照片直接拖入到ArtEngine Asset窗口中,在節點編輯窗口創建Multi-Angle to Texure節點。從下圖的參數中可以看到,照片必須按照拍攝時光源的順序,也就是順時針或者逆時針的有序地與Multi-Angle to Texure輸入點相連。
最終Multi-Angle to Texure 節點會輸出Normal與Albedo兩張貼圖。接下來我們研究下合成材質節點Compose Material,但我們需要為 Compose Material 節點分配正確的PBR映射類型,ArtEngine Compose Material 節點默認需要提供Albedo、Normal、Height、Roughness、Metalness、 AO 這六種貼圖。也可以通過參數Input Connections來修改需要輸入的貼圖數量。
接下來就按部就班進行分配,首先Multi-Angle to Texure 節點會輸出Normal與Albedo貼圖,我們直接連接到Compose Material節點相對應的輸入參數上。
關於材質的粗糙度貼圖,Roughness定義了材質的微表面(粗糙)狀況。這裡值得注意的是,ArtEngine Compose Material 節點要求輸入的貼圖是粗糙度貼圖(roughness map),而不是光滑度貼圖(gloss map)。這兩種類型其實幾乎沒有區別,頂多就是粗糙度貼圖是一張反色的圖,例如,暗色表示光滑表面,亮色表示粗糙表面。
在上面的理論基礎之上,我們來進行粗糙度貼圖的製作。先創建Grayscale節點,將Albedo 貼圖轉換為灰度圖,然後創建直方圖掃描節點這個節點。其實跟Substance 中的節點是類似的,通過調參來重新調整灰度圖的對比度和亮度。
正如上面說提到的,我們需要進行一次反轉,轉化成粗糙度貼圖。
接著我們要生成高度貼圖了,ArtEngine提供了Height Generation 節點,允許直接從法線貼圖生成高度貼圖。繼續添加AO Generation 節點,由高度貼圖生成AO貼圖。
OK,我們按照類型連接好後,就已經成功了80%了。
雙擊Compose Material,可以看到我們目前輸出的材質效果圖,會發現材質的接縫問題很嚴重。
這個怎麼處理呢?我們可以使用 ArtEngine提供的Seam Removal 節點 智能的去除接縫,這無疑避免了美術手動去接縫的麻煩。
以上的具體節點連接步驟如下所示。
除此之外,還有一個節點必須介紹,那就是Mutation突變節點。這對創作材質變體絕對非常有用。只要修改節點的參數就可以獲得不同的效果。試想下這會是一個多麼美妙的體驗。
另外,ArtEngine還包括提高解析度、去模糊、展平、色彩匹配等功能。講到這裡,我們創作材質的過程就已經完成啦,接下來用Export to Unity節點將我們製作完成的材質導入到Unity中,就可以進行使用了。關於這塊我會在下一篇文章進行介紹。
下篇我還會分享將樹皮與苔蘚混合後的材質製作過程。先放個效果圖。