PBR 除了工作流,還有什麼優勢?

遊戲中使用的 PBR,除了工作流更容易標準化,對藝術家更友好以外,在視覺效果方面有什麼是傳統 shader 做不到的?

補充:有答主說真實度有明顯提升。那麼麻煩舉出幾個 PBR 的實現細節,且這種細節是在傳統 shader 上無法實現的。


PBR從我的觀點來看,工作流是否簡化不好說,但是對工作流的標準化,以及美術的思維的轉變是有幫助的,至少我覺得有助於美術更深入的理解什麼是一個材質的"外觀",這部分好像14年gdc上crytek的美術曾經說明過他們幾張貼圖的製作工藝和從前非PBR的對比,看著挺有收穫。
基於物理主要是在普遍延遲渲染的框架下一個硬性需求,一來是光影效果逼真度的需求,二來延遲渲染本身就不支持類型龐雜的shader,從這個角度講減少了美術工作量,也不至於把大量性能敏感的shader交給美術造成性能隱患。巫師3我記得有一個關於他們引入PBR後shader數量的下降統計,似乎是減少了百分之八十以上。
從效果上,我覺得與其說"更好看"不如說「更接近真實」。它的兩個特點,一是參數都有明確的物理意義,二是保能量,拿原始的phong模型來說,它的高光項是pow(dot(N,V),m),這是一個純經驗公式,更具物理意義的是pow(dot(N,H),m),因為它代表了微表面某個方向的法線分布概率。而在實際效果中,前者在較小的視角下高光呈圓形,後者更方一些(不知道怎麼表達。。。回頭補圖),和真實光線更接近。另外,保能量舉例來說保證了光線打在表面的高光要麼聚焦特別亮,要麼分散比較暗,不會出現明顯的能量損失。
最後簡單總結一下我認為PBR的幾個特點:
1.美術參數減少
2.表達能力強(一個shader能通過調節表達過去十几几十個shader的效果)
3.相對非PBR開銷增加不大
4.渲染效果更接近真實
5.參數基於物理,美術程序更好理解

回到開始,我覺得PBR對於我們加深對渲染的理解的意義大於實際效果的提升。最近正遇到一個大坑,剛來的公司的渲染完全是各種trick毫無道理又很難調,美術壓根不懂什麼是PBR(好吧其實程序也不懂)。然後我又要把這些shader搬到max里讓美術所見即所得,說實話這工作真的非常蛋疼且沒什麼成就感,也讓我非常懷念當初用PBR的時候。


所謂「傳統」,覆蓋面就太大了,光照公式或者材質美術程序隨心定義一通都可以算作「傳統」,務實來講,就是非PBR就算作傳統好了。
這塊可以看看遊戲業內引入PBR的原因,實踐理論經驗主要是借鑒了cg行業,cg中面臨的問題就是:
如果給定一個場景,美術(TA級別)自己來定義,可以做到PBR一樣的水平或者更好,但是在愈發複雜的情況(足夠大的規模,足夠多的場景,加上時間光照環境變化),自己隨心定義的方式就崩潰了。
這還是高水平工作室的情況,如果是水平不足的話,那麼直接就在效果上差上一截,都沒走到規模化就跪了。
所以PBR在這個階段就牛逼起來了,物理模型加上準確的數學推導簡化,最後以簡單的系統化的方式達到了真實(真實應該說是第一步,在此基礎上,可以進一步自己去定義模型,玩出新的花樣)。
所以直接對於題主的問題來說,就是:

  • 給定情況下,PBR能達到效果都可以美術自己寫shader湊出來,水平好的還有自己的風格
  • 針對初級水平的非PBR,就是更真實的效果
  • 針對高水平的非PBR,在大規模高複雜度時候提供pipeline以及程序內部的系統化的一致性,進而對於實際項目來說(有限時間和資源),最後呈現出來更高的質量
    • 這一點來說,沒那麼直接,也導致一些對於PBR只看效果不看原理和歷史的同學,對於PBR持反對意見,但是現在已經成標配了,所以也好說了

進一步在實踐中,應該說有更深的延展,《天涯明月刀》中就是使用的PBR,一定程度上需要美術對光照模型這些有進一步的了解。
在科普的過程中,客觀上提高了美術的技術積累或者說開啟了美術的技術探索之旅,這個在後續的開發中帶來非常強勁的力量,美術可以做出更好的應用和發揮


我個人是做遊戲角色美術的,感覺PBR更多的是從感性過渡到理性
藝術家在創作的同時腦海中大量的感性思維較多存在於設計環節,在把設計轉化成產品時,PBR工作流提供了類似於公式般的直觀效果。
以前的美術更多的是看角色對美術的反饋,就拿鋼鐵來舉例子,物體材質方面只是簡單的看起來像鋼鐵,並沒有具體到參數的標準,知識看起來像就行了。這種抽象的思維藝術家可以理解,但是換成圈外人可能就難以消化。再加上SP、SD、Quxel這些生產工具使得美術在工作時增加了效率,理清了思路,越來越趨向於及時反饋和所見即所得,而且與幾大引擎介面互導也方便了許多,很大程度的減輕了純美術方面的負擔,有點偏向於TA了。
只是個人認為,PBRshader在模擬真實方面已經超越了原先的遊戲材質系統,在統一光照下在Specular和Gloss上很清楚的能看到不同Shader下的相同物體的材質表現差別。

我瞎寫的....


PBR對於美術的最大優勢確實是工作流。能夠保證大量美工的作品風格統一(後文會有解釋)。

PBR本身的優勢在於PBR理論來源於對現實的觀測。現有的PBR理論基本都是參照MERL資料庫進行驗證。這是個很大的通過掃描記錄各種現實中物體表面數據的資料庫。

實際上現實世界中的物體材質不止一層表面,可能在內部發生複雜的散射,沒有什麼真正意義上的基於物理計算的系統。我們只能通過觀察和數據比對來擬合PBR公式。當然在樣本足夠的的情況下就保證了足夠的真實感。以前簡單的phong光照模型無法比的

PBR應用的最大難度在於需要了解一些通過觀察得出的經驗。另外了解PBR是針對哪些物理特性進行了計算也很重要。

舉幾個例子:
1.現實觀測中即使是純黑的碳,RGB的albedo也只有15-17,所以albedo里不能有數值低於這個等級。
2.PBR已經把漫反射,高光,ao都分別進行了計算,所以albedo里不需要這些。
3.normal map是為了表現物體表面的凹凸程度。而PBR里的roughness能夠表現比normal map更微小表面的凹凸程度。

像ao,高光,roughness這些以往美術會按照自己的風格加入作品影響風格統一的元素現在全都交給PBR自動計算,美術風格能夠得到統一。


另外PBR還能保證在多光源的環境下渲染效果一致,即使有很多的美工同時工作也不會破壞作品風格。


這行當,我啥都不懂。


PBR除了工作流。在效果方面提升還是挺大的。
基於標準流程製作的遊戲。通常會給人油的印象。這主要是因為高光圖製作的模型在複雜環境下。很難統一。比如明明不應該有高光的地方,出現高光。3A大作會根據場景單獨仔細處理每個物體的貼圖。以達到最佳效果。
而在現在PBR流程中。處理好的效果將不再出現這樣的現象。且一個物體在換到不同的場景下,依然能顯示正確的效果,整體遊戲效果會更真實。


主要的長處就是標準化,再之後就是自動化以及為Open world 地圖的大量的美術資源製作提供一個穩定可靠的可能。

目前主要的問題是這麼幾個:

1. 通常只計算了shadow 和 mask, 對於粗燥度大的表面,retro reflection, sheen等多次反彈沒有計算。造成在某些角度,能量損失高達40%.這也是為什麼很多人說PBR 渲染效果看上去平的原因。

2.GGX模型的單一性,雖然他能代表很多自然界的微表面,但還有很多表面的結構完全不同。

3.一直沒找到,正確,高效的基於微表面的 diffusion 模型


我想問下大神們,我在SP里製作好PBR材質後,要導出什麼圖到虛幻裡面去,才能達到SP里的效果?我導出了M,R,D,N,這幾張,可是在虛幻里的效果好像不對。


推薦閱讀:

大學學渣,畫渣,求問大神們我怎麼才能進步?
為什麼概念設計師多是男性?
CG場景繪製時為了拉開距離塑造空間感而不敢在遠處使用重色 ,這個問題如何解決呢??
臨床醫學五年制,想轉行畫CG插畫,有類似經驗或想法或已經付出實踐的人么?
再掙扎到底要不要去培訓機構學習原畫?

TAG:遊戲開發 | 遊戲引擎 | CG | 計算機圖形學 | 遊戲美術設計 |