AI生成遊戲中基於物理的渲染(PBR)貼圖探索

Xurong發表於2023-04-17
AI繪圖進展的如火如荼,從剛開始的“AI繪畫也就圖一樂”,發展到如今質量越來越好、效果越來越穩定,各種特性模型、輔助外掛層出不窮,其進展速度可以用日新月異來形容。在這個時間節點做的任何AI相關調研,恐怕都難以逃脫三五個月後便徹底過氣的命運。在此前提下,本文基於現在的AI發展情況,儘可能地概述目前使用AI生成PBR材質貼圖的可行性,以及對未來的展望。

雖然目前PBR材質貼圖已經有了很多或收費或免費的庫,可供美術進行購買使用,但終歸數量有限,並且檢索困難。即便找到了效果相近但不完全合適的貼圖,如果不是提供了原始檔的程式化生成貼圖,想要對現有效果進行輕微的變體修改也很困難。因而如果能使用AI模型的輔助,能夠從文字描述中生成想要的PBR無縫貼圖,並且生成多種變體,便能夠給美術提供更多選擇。然而,時下大火的幾個AI繪圖模型主要還是以生成顏色圖片為主,為了得到PBR貼圖則需要藉助其他工具進一步進行處理。當然,也有人將這兩步結合起來,製作了可在一條流水線上進行ai製作PBR貼圖的工具。本文將逐一對其進行說明。

一、Ai生成無縫顏色貼圖

第一步AI生成的顏色貼圖是後續PBR貼圖生成的參考,一張高質量可用的顏色貼圖應該具備以下特徵:

  • 照片級真實。本文介紹單張貼圖生成PBR貼圖的AI模型,大多還是以真實或接近真實的貼圖作為訓練樣本的。雖然具有手繪風格的顏色圖片有時也可以得到很好的PBR貼圖結果,但是不穩定。
  • 無縫貼圖。無縫貼圖的適用性更廣。
  • 無透視。理想是無透視視角下的俯視特寫圖。
  • 少光影。Base Color貼圖中如果還存在影子一類的資訊,會導致錯誤的渲染結果。雖然可以透過後期處理消除這些光影,但是目前這一處理能力也是有限的,過度地處理也會破壞本身基礎的顏色。但是如果完全沒有光影也是不行的,後期無法從圖中得到法線粗糙度等資訊。

從模型上來說,目前流行的AI繪圖模型:MidJourney,Dall-E,StableDiffusion都可以生成類似base color貼圖的效果,如圖1所示。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖1 從左自右,依次為MidJourney、Dall-E和Stable-Diffusion v1.5的生成結果。自上到下三排分別生成的是:樹皮、覆蓋著苔蘚的鵝卵石、羊毛紡織物。]

從圖片質量和穩定性上來說,MidJourney和Dall-E表現最好,但這兩者也比較容易出現一些類似背景虛化、鏡頭眩光之類的後處理效果和鏡頭畸變。MidJourney和Stable-Diffusion都有顯式的直接生成無縫貼圖的選項(MidJourney的—tile指令和Stable-Diffusion的Tilling選項),但Dall-E目前則需要透過塗抹等手段生成無縫貼圖,相對來說有點麻煩。

但是以上三個模型本身不是為了生成貼圖而訓練的,因而會機率出現視角不夠平鋪、帶有不期望的拼貼、或結果模糊等問題,這也催生出專門為生產無縫貼圖而設計的AI模型。

AI繪圖的生成結果往往會受到訓練資料的影響,因而有人專門將PBR材質的貼圖作為訓練樣本對模型進行訓練,如DreamTexture。DreamTexture基於Sable-Diffusion v2進行訓練,訓練資料是來自Poly Haven的278張cc0的貼圖。其生成的貼圖基本不會出現不平鋪或者有縫隙的情況,並且很少有光影資訊,更接近PBR中的base color貼圖而不是照片。但顏色太平也可能會導致沒法使用它在下一步生成具有很多細節的法線貼圖。另外DreamTexture所基於的Stable Diffusion V2為了規避版權問題,替換了公共的資料進行訓練,整體效果其實不如Stable Diffusion V1.5,因而Dream Texture生成的整體圖片質量也略差。

Material Stable Diffusion也是專門以生成無縫貼圖為目的而訓練的模型。這一模型是Stable Diffusion v1.4 的分支,其部分輸出的結果非常接近Stable Diffusion v1.4生成無縫貼圖的結果,但是同樣關鍵詞和隨機數下生成圖的對比度和清晰度更高,不易出現奇怪拼接現象,作為貼圖質量更高。

以部分關鍵詞為例,不同模型生成的效果如圖 2所示。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖2 從左到右,依次為Stable-Diffusion v1.5、DreamTexture和Material Stable Diffusion的生成結果,自上而下關鍵詞分別為:乾裂的泥地,樹皮,紡織物。]

總體來看,對於普通材質的生成,效果是Material Stable Diffusion> Stable-Diffusion v1.5>DreamTexture。

AI生成貼圖的優勢在於可以根據關鍵詞短時間內生成大量的不同效果,對於常見的材質如木材、地表、石頭、紡織物,都可以透過幾個關鍵字快速生成大概效果,並且滿足無縫、平鋪、光照均勻等條件。除了常見的自然材質,也可以透過關鍵詞引導AI繪製出具有AI特色的具有堆砌細節和複雜結構的人造材質,如圖3所示。對於有參考圖,但是參考圖本身不是無縫的或者有輕微水印的,也可以透過AI圖生圖的形式快速處理成可用的無縫貼圖,並生成大量變體,供美術使用,如圖4所示。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖3 以SD為例生成的大量貼圖結果 ]

AI生成遊戲中基於物理的渲染(PBR)貼圖探索

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖4 在有參考圖的情況下利用Stable Diffusion v1.5生成大量變體無縫貼圖。圖為有青苔的懸崖巖壁參考(上圖)和AI生成的無縫貼圖(下圖) ]

AI生成貼圖的侷限性在於其生成是不穩定的,並不是生成的每張圖都可用。生成結果有可能細節處不符合現實邏輯,或者機率會生成有奇怪拼貼的素材,不適合作為顏色貼圖使用。另外,AI能生成什麼結果和其使用的訓練資料非常相關,對於複合性材質,或者具有設計感的影像,僅使用關鍵字的情況下ai不一定能夠生成。例如,“奈米合金和塑膠嵌合的太空艙門板,佈滿劃痕和噴繪”,或者“一部分生滿銅鏽,一部分塗滿紅漆的銅板,上面裝飾有中式圓形門釘”,得到的結果可能不符合設計師心中理想需求。如圖5-1所示。當然這可能和使用的關鍵詞有關,往往使用以圖片作為參考進行生成會更好,甚至可以注入自己訓練的有特殊風格和傾向的lora作為輔助,此處可能需要更多嘗試。另外AI生成的貼圖對於一些要求規整的效果,如地磚、蜂巢等效果,可能會出現不符合預期的形狀畸變,如圖 5-2所示。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖5-1 AI生成結果不佳的示意 ]

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖5-2 以六邊形磚塊地板為主要關鍵詞得到的結果,AI生成的結果容易出現部分地磚變形的情況 ]

二、根據單張貼圖生成PBR貼圖

現在我們已經透過AI為我們生成了合適的顏色貼圖,由於AI生成圖目前的限制,暫時不方便生成同樣材質多燈光下的可信結果,因為需要根據單張顏色圖生成PBR貼圖。根據單張貼圖生成PBR貼圖需要工具具備:消除輸入圖片光照(delighting)以作為BaseColor,根據輸入圖片生成其他PBR貼圖,對生成的貼圖進行無縫處理的功能。本文將介紹兩個可以滿足以上需求的工具,Materialize和Adobe Sampler。

Materialize是一個用於從影像中建立可用於遊戲的材質獨立工具。既可以輸入單張的影像進行生成,也可以輸入已有的紋理進行二次處理修改。Uncharted 1 和2中大部分的環境貼圖都由其生成。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖6 Materialize介面 ]

將AI生成影像匯入該軟體後,會有一個預設的生成效果,但是這個效果不一定是美術需要的,因而Materialize提供了大量的豐富引數,能夠對這個效果進行調整和修改。所以Materialize是一個可調控性非常自由的軟體,也因如此導致該軟體的入門需要一定的學習成本,調節也需要一定的人力。

Adobe Sampler具有同樣的將單張真實世界的圖片轉為3d材質的功能,但是更加自動化,其透過AI生成的預設結果往往就具有很好的效果。具備一定的引數可供二次修改生成的PBR貼圖,但和Materialize相比比較有限。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖7 Adobe Sampler介面 ]

Sampler的預設效果更加好,Materialize則基本都需要手動調整。Materialize的Delight效果相比Sampler更強,並且可以透過調節生成金屬度貼圖;Sampler的自動生成中是沒有金屬度貼圖這一項的。兩個軟體在處理無縫貼圖上的方法不太一樣,等等。總結來說,兩者從最終生成結果來看,沒有明顯的優劣差別,如圖8所示,但Sampler生產效率更高。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖8 Materialize和Sampler生成PBR貼圖對比 ]

有了這一工具和上一步AI生成的無縫貼圖,便可以生成PBR材質貼圖。

Sampler背後的先進的機器學習技術是使其材質生成過程自動化、表現質量穩定的關鍵。簡單瞭解其演算法可以使我們更清楚如何利用好這一工具[1]:

  • 自然光下生成結果更好。該AI模型的目的是從單張照片中還原室外的PBR材質,不同於其他一些演算法,其輸入的訓練資料為閃光燈下捕獲的圖片,該模型使用的輸入圖片的渲染燈光環境為HDR貼圖營造的環境光照,目的是為了模擬室外不同時刻由天空和太陽構成的自然光。因此,在使用Sampler時輸入自然光照下的圖片生成效果更好,對於AI生成的圖片則可以增加“室外自然光”的關鍵詞。完全沒有光影的圖片無法在這一步預測得到法線以及其他PBR貼圖。
  • 並不是所有的PBR貼圖都是由神經網路預測生成的。在Sampler中輸入一張圖片(真實照片),該神經網路模型實際上預測得到的是一張沒有光影資訊的Albedo圖和一張法線圖。其他PBR貼圖由這兩張貼圖計算得到:高度圖是由法線圖計算得到的;AO是由HBAO(Image-Space Horizon-Based Ambient Occlusion)演算法計算得來的;粗糙度貼圖是根據法線圖近似模擬的,這裡用到的是TA常會用到的一個trick,即認為在區域性結構上,突出的部分具有更小的粗糙度,而AO的部分、即凹陷的部分粗糙度比較大。這一辦法雖然可以得到粗糙度的灰度圖,但是不能得知粗糙度的具體範圍,因而演算法將這一粗糙度貼圖向中性灰附近靠近,同時開放給使用者一個可以調節粗糙度範圍的引數。因而,該自動生成粗糙度貼圖,往往需要使用者對整體粗糙度進行二次調整。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖 8 演算法預測的貼圖和Ground truth對比 ]

  • 這一演算法在最初設計的時候就沒有考慮金屬度貼圖的生成。因此Sampler也是不會自動生成金屬度貼圖的。雖然軟體中有增加金屬度的功能,但是主要是以預設為主,不會依據輸入影像生成,不一定可以得到期望中的結果。因而如果想要生成一些金屬材質的貼圖,金屬度貼圖要麼選擇純色,要麼可以一鍵傳送到同為Adobe全家桶的Substance Designer,再透過一些Trick進行手工處理得到。
  • 該演算法去除陰影的能力是有限的。儘管可以透過調節引數控制去除陰影的程度,但得到的結果往往不盡如人意。所以儘量不要輸入有很強陰影的圖,生成的Albedo圖很有可能不符合標準。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖 9 Sampler去除圖片光影資訊的能力是有限的。左圖為輸入影像,右圖為生成的Albedo圖,圖中的藍色陰影不應該出現。]

三、合二為一的工具流

上文已經描述了這一流程的可行性,如果能將這兩個步驟整合為一個工具,自然會大大提高生產的效率。

3.1 Poly

Search 1000s of free seamless HD PBR textures | Poly: AI Texture Engine (withpoly.com)

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖 10 Poly網站頁面 ]

這是可以一步完成AI材質生成的網站,同時網站上還有很多AI已經生成好的材質可以免費下載。目前該網站基礎功能免費,進階功能需要開通會員。

從AI生成材質的質量和多樣性來說,對於普通材質都有比較好的生成效果,並且覆蓋的範圍比較廣。由於整個功能都不是開源的,創作者也沒有提及很多關於這個產品製作的思路,因此只能大概得知其使用的也是擴散模型,除此之外的資訊就很少了。就個人使用感上來說要比StableDiffusion穩定一點。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖 11 Poly網站上生成樹皮、土壤、紡織物和山岩的顏色貼圖 ]

對於規則的物體雖然其網站上有比較好的生成的效果示例,但自己去生成的時候還是會機率得到不規則的圖案。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖12 以六邊形磚塊地板為主要關鍵詞得到的結果。雖然結果相較部分AI模型更加穩定,但也會出現部分形狀變形或模糊的情況。]

PBR貼圖的生成也比較穩定,不會出現生成的PBR貼圖和材質完全不匹配的情況。但網站上沒法對生成的PBR貼圖進行二次調整,例如修改法線強度或者粗糙度,需要下載下來再使用工具進行修改;同樣無法生成有灰度的金屬度貼圖,金屬度貼圖只能是純黑或者純白。將Poly網站上生成的顏色貼圖匯入Sampler生成的PBR貼圖,和Poly上生成PBR貼圖對比,材質渲染結果在視覺效果上沒有太大的差別。Poly預設生成的法線和粗糙度可能會更平,AO灰部更多,但最終整體表現上差別不大。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖 13 Poly和Sampler生成PBR貼圖的區別 ]

總體來說這是一個非常不錯的產品,網站的形式就大大降低了使用者的使用難度,另外一鍵式生成的形式也節省了部分人力。網站上提供了大量已經生成的PBR材質,可以作為關鍵詞參考或者直接下載。對於AI材質的生成,該網站的生成結果也算是比較穩定,質量也在中上水平。除了生成AI材質,網站本身帶一些AI提升解析度、建立無縫貼圖等功能。缺點是由於AI不開源,無法在其基礎上使用自己訓練的資料輔助生成特定影像,另外目前網站上可供調整的部分比較少。

3.2 DT2DB Bridge

DT2DB Bridge是一個基於blender開發的免費外掛,其主要作用是作為一個橋樑聯通了同為blender外掛的DreamTexture和DeepBump。DreamTexture是一個在Blender中使用AI模型繪畫的外掛,它可以選擇多種AI模型進行繪製,如常用的stable diffusion,上文提到的專門為生成貼圖Dream Texture,以及大量的社群提供的AI模型。DeepBump則是一個基於機器學習從照片中重建法線的外掛,它的訓練資料是真實世界照片和程式材質渲染,但在少數情況下,對於手繪貼圖也能有比較好的法線生成表現,它使用的網路架構和上文提到的Sampler一樣,是U-Net。DT2DB Bridge可以聯動這兩個外掛的功能,從而實現在Blender中一鍵生成PBR材質,並且在Blender中預覽渲染結果的功能。

AI生成遊戲中基於物理的渲染(PBR)貼圖探索
[ 圖 14 DT2DB Bridge 工作介面 ]

DT2DB Bridge的優點在於設計非常人性化,一鍵生成的操作本身就節省了很多時間,在關鍵詞方面還設計了聯想詞功能,方便使用者更準確地描述想要的效果。設計了Beautify Tag,可以將一些常用的美化關鍵詞放入該佇列,輸入關鍵詞時就可以自動帶上這個Tag裡的所有關鍵詞,無需二次編輯。和DreamTexture聯動也意味著可以選擇不同AI模型加入這個流程中嘗試結果,自由性高。

缺點在於這個PBR貼圖生成實際只有法線,對base color沒有delight的功能,粗糙度和金屬度透過color ramp來實現,這個方式是比較粗暴的。當然也可以在Blender的shader介面中透過節點編輯,參考Sampler中實現方式,透過對法線進行二次計算得到粗糙度和AO等。但目前來看,這個工具的完成度還有待提升。

總結

目前AI生成PBR貼圖已經可以看到比較好的效果,可以初步投入到設計甚至生產中,但依然有很多可以提升的方面。比如,設計操作更加人性化,編輯功能更加靈活的生成工具,使其可以一鍵生成PBR貼圖的同時,也能提供細節的修改:例如已經生成了我需求的地表材質,是否可以在此基礎之上再加入落葉等元素,而不改動已有結果。針對材質貼圖所做訓練的AI應擴充學習的資料庫,也可以覆蓋更多材質需求,像材質中常用的做舊、磨損、拋光等概念,也應加入到這種專門的AI訓練集中,方便美術操作。對於PBR貼圖的生成,目前的AI模型大部分都只對非金屬表現良好,對材質金屬度的還原則比較空白;另外對於一些特殊材質,如次表面散射、各向異性、自發光等材質,如何去透過單張圖片或者少量AI生成圖預測其散射相關引數、各向異性引數或者生成自發光貼圖,也都是未來可以期待的方向。

[1]Martin, Rosalie, et al. "MaterIA: Single Image High‐Resolution Material Capture in the Wild." Computer Graphics Forum. Vol. 41. No. 2. 2022.


來源:騰訊遊戲學堂

相關文章