包含15節(jié)視頻教程
關(guān)注14.4萬(wàn)次
Mental ray是一個(gè)專業(yè)的3D渲染引擎軟件,它可以生成高質(zhì)量逼真效果的圖像,非常具有真實(shí)感。至今它的發(fā)展非常成熟,為許多電影成功實(shí)現(xiàn).
過去主要有三種方式來制造色溢效果。第一種就是簡(jiǎn)單的用輔助燈光來模擬色溢,也就是需要出現(xiàn)色溢的區(qū)域設(shè)置一些輔助光源來制造假的色溢現(xiàn)象。這種方式存在非常多的缺陷,首先是準(zhǔn)確性不能得到保障,并且創(chuàng)作者需要花費(fèi)大量時(shí)間和精力在輔助燈光的設(shè)置上。對(duì)于拓?fù)浣Y(jié)構(gòu)復(fù)雜和具有眾多物體的場(chǎng)景來說,使用這種方式基本上是不可能完成的。不過對(duì)于簡(jiǎn)單的小場(chǎng)景來說,用模擬方式速度很快,設(shè)置也簡(jiǎn)單。
另外還有光線追蹤(ray tracing)和光能傳遞(radiosity)兩種方式。但使用ray tracing方式,場(chǎng)景中燈光需要產(chǎn)生數(shù)以萬(wàn)計(jì)的射線(rays),而在傳統(tǒng)的radiosity方式中,場(chǎng)景需要?jiǎng)t需要進(jìn)行數(shù)以萬(wàn)計(jì)的因素細(xì)分(view factor,是輻射算法中的一個(gè)單位,用以描述從一個(gè)表面到另一個(gè)表面的輻射信息。傳統(tǒng)光能傳遞渲染中,view factor細(xì)分量越大,則燈光在場(chǎng)景中的傳遞信息越準(zhǔn)確)。
這些方式都可以實(shí)現(xiàn)非常真實(shí)的渲染效果,但實(shí)際上沒有一種真正在電影渲染中廣泛應(yīng)用。光線追蹤和光能傳遞方式可以達(dá)到驚人的真實(shí)照明效果,但對(duì)于電影級(jí)產(chǎn)品來說,過度的內(nèi)存消耗和極長(zhǎng)渲染時(shí)間使得整個(gè)渲染成本急劇增加甚至有點(diǎn)不切實(shí)際,大部分消耗不起這樣的渲染成本。(chaoskids:這也就是為什么《黑客帝國(guó)》、《加勒比海盜》這樣的特效大片中大量的特效鏡頭依然還是采用搭建實(shí)景和拍攝微縮模型的方式來實(shí)現(xiàn)的)。
新的解決方案
2004年,在似乎不太可能對(duì)電影渲染有實(shí)際應(yīng)用實(shí)時(shí)渲染(real-time rendering)領(lǐng)域,一個(gè)全新的想法誕生了。nvidia的高級(jí)工程師michael bunnell在《gpu gems 2》發(fā)表了一篇論文,在這篇論文中他設(shè)計(jì)了一種產(chǎn)生實(shí)時(shí)ao(ambient occlusion)效果的方法。
他設(shè)計(jì)的實(shí)時(shí)ao完全不依賴于光線追蹤,而是通過點(diǎn)云(point cloud)來計(jì)算和光線追蹤ao極其近似的效果。(chaoskids:michael bunnell后來離開了nvidia自己創(chuàng)建了fantasy lab公司!秅pu gems》是nvidia的一本專業(yè)論文集,內(nèi)容主要面向基于gpu的高性能運(yùn)算和實(shí)時(shí)圖形圖像渲染技術(shù),現(xiàn)在已經(jīng)出到第三冊(cè))。(圖02)
圖02
這個(gè)方案可以說是一次創(chuàng)舉。pixar的renderman高級(jí)工程師per christensen立刻開始考慮如何在原來為rnederman開發(fā)的基于點(diǎn)的次表面反射(subsurface scattering)材質(zhì)渲染工作流基礎(chǔ)上,把這種新的照明渲染方案整合到pixar renderman中去。在早些時(shí)候per christensen和sony旗下的rene limberger一起共事過。
rene limberger曾經(jīng)成功的將基于點(diǎn)的渲染技術(shù)整合到了《surf’s up》的視覺預(yù)覽流程中。per christensen和ilm(工業(yè)光魔)的christophe hery一起進(jìn)一步完善這些基于點(diǎn)云的渲染技術(shù),最終在《加勒比海盜:聚魂棺》一片中真正將這些技術(shù)應(yīng)用到了電影級(jí)產(chǎn)品渲染中。就這樣michael bunnell的一篇論文頓時(shí)在電影cgi渲染領(lǐng)域造就了異常革命!point-based rendering誕生了!
在《加勒比海盜:聚魂棺》的制作過程中,christophe hery使用基于點(diǎn)的渲染技術(shù)獲得了巨大成功。初期測(cè)試階段,基于點(diǎn)云的ao渲染把原來的渲染時(shí)間從10小時(shí)縮短到了2小時(shí)。而更不可思議的是他們實(shí)現(xiàn)了基于點(diǎn)云的色溢效果,因?yàn)闊艄庹彰餍畔⒖梢员恢苯雍媾嗟近c(diǎn)云上。這是一個(gè)具有重大意義的突破,過去色溢渲染效果幾乎被證明不可能應(yīng)用在要求如此嚴(yán)密的鏡頭中。
ilm的燈光和材質(zhì)組迅速開發(fā)了幾個(gè)工具,并且很快把所有的角色遷移到了新的基于點(diǎn)云的渲染流程中,并通過新的點(diǎn)云渲染方式計(jì)算ao,色溢,ibl(image based lighting基于圖像的照明技術(shù),如hdri背景光球)。在這些工具和技術(shù)的幫助下,章魚臉davy jones和他的水手們最終以難以置信的真實(shí)度完美展現(xiàn)在熒幕上!(圖03、04)
圖03
圖04
per christensen對(duì)christophe hery的成就深感震驚,christophe hery竟然能如此快速的將這項(xiàng)技術(shù)整合到他們的工作流中。隨后per christensen將這幾項(xiàng)應(yīng)用的dso原型直接整合到了pixar renderman里面,并且完善了性能和精度等方面。同時(shí)也根據(jù)ilm、sony以及其他一些特效工廠的需求對(duì)功能進(jìn)行了很多擴(kuò)展開發(fā)。(圖05、06)
圖05
圖06
到此為止,雖然pixar rnederman中已經(jīng)具備了很多基于點(diǎn)云的渲染技術(shù),但pixar自己的電影工作流中還沒有使用到任何點(diǎn)與點(diǎn)的色溢渲染。直到后來pete doctor的電影《up》才將基于點(diǎn)云的色溢渲染應(yīng)用到了pixar自家的影片生產(chǎn)中。對(duì)于pixar來說,把基于點(diǎn)云的色溢渲染方法整合到自己極端復(fù)雜的工作流中是一件很簡(jiǎn)單的事情!秛p》最終的成片中有大約90%的鏡頭都使用了基于點(diǎn)云的色溢。而《up》也應(yīng)此在畫面效果上得到了很大增強(qiáng)。
基于點(diǎn)云的渲染是一個(gè)旅程碑,它在光線追蹤和光能傳遞之外提供了我們一套更靈活和高效的解決方案。如果沒有這種技術(shù)的大規(guī)模應(yīng)用,我們也見不到影片《up》中各種惟妙惟肖的燈光。這項(xiàng)技術(shù)在某種程度上顛覆了過去我們對(duì)解決色溢效果和ao等等效果的方法,但它是怎樣運(yùn)作的呢?
深入實(shí)質(zhì)
首先我們先來看看什么點(diǎn)云。你完全可以直觀的把點(diǎn)云按照字面來解釋,就是在三維空間中的一團(tuán)以物體形狀等因素構(gòu)造的點(diǎn)集群。而點(diǎn)云中的每個(gè)點(diǎn)都可以帶有一個(gè)或者多個(gè)通道,例如照明信息、occ、位置、法線等等。
除了用于渲染意外,其實(shí)點(diǎn)云在很多別的領(lǐng)域都有很重要的應(yīng)用。例如用點(diǎn)云為3d紋理創(chuàng)建結(jié)構(gòu)緩存,以及在一些輔助設(shè)計(jì)和工程制造領(lǐng)域的應(yīng)用。歸功于 reyes算法對(duì)多邊形的切分方式,pixar renderman能夠極其高效的生成點(diǎn)云。
renderman可以快捷的將位置信息、法線、以及任何用戶自定義的通道寫入到一個(gè)點(diǎn)云中。下圖中你可以看到這個(gè)點(diǎn)云帶有很多renderman 默認(rèn)的通道,例如diffusecolor、subsurface等等。記錄多少通道以及通道內(nèi)是什么數(shù)據(jù)可以由用戶自定。(圖07)
圖07
深入基于點(diǎn)云的渲染
之前我們提到過michael bunnell的方案核心是用點(diǎn)云格式來取代光能傳遞和光線追蹤。那么采用點(diǎn)云如何記錄occ和色溢的信息呢?在renderman中,這個(gè)過程分兩步來實(shí)現(xiàn)。
第一階段
首先將場(chǎng)景中的多邊形和光照信息烘培到一個(gè)點(diǎn)云文件中(baking a point cloud)。每個(gè)點(diǎn)都帶有位置信息、細(xì)分多邊形信息(micropolygon )和法線信息。點(diǎn)云烘培文件生成以后可以以緩存方式儲(chǔ)存以便重復(fù)使用。
對(duì)于色溢的計(jì)算來說,使用點(diǎn)云可以將速度提高至幾乎和計(jì)算occ的一樣。因?yàn)橹挥挟?dāng)顏色被烘焙到點(diǎn)云上的時(shí)候才需要調(diào)用shader,這種算法唯一需要做的就是把顏色和燈光信息包含到每一個(gè)點(diǎn)上。因?yàn)辄c(diǎn)云描述的是場(chǎng)景中多邊形的近似信息(比如一個(gè)曲面被采樣生成一組形狀大致的點(diǎn)),相比起光線追蹤真正去精確計(jì)算多邊形信息來說,時(shí)間成本得到了非?捎^的優(yōu)化。
第二階段
也就是渲染階段。renderman會(huì)根據(jù)具體的 shader信息對(duì)點(diǎn)云進(jìn)行轉(zhuǎn)換。點(diǎn)云中的每個(gè)點(diǎn)在這個(gè)階段中會(huì)按照法線信息被粗略的轉(zhuǎn)換成碟形(因?yàn)辄c(diǎn)沒有面積,不能對(duì)最終效果產(chǎn)生區(qū)域性的影響,單個(gè)點(diǎn)被轉(zhuǎn)換成碟形后就具有了面積,然后再參與最后的計(jì)算。轉(zhuǎn)換成碟形后的效果可以通過大部分點(diǎn)云查看工具來預(yù)覽。)。然后在沒有光線追蹤的情況下計(jì)算這些碟型的色彩分布信息和occ信息。
和光線追蹤同樣實(shí)現(xiàn)同樣的結(jié)果,但點(diǎn)云的解決方案卻能把渲染色溢的速度提高到渲染occ的級(jí)別,這確實(shí)是一次質(zhì)的飛躍。(圖08、09、10)
圖08
圖09
圖10
性能表現(xiàn)
下圖是同一個(gè)模型使用傳統(tǒng)光線追蹤occ和點(diǎn)云渲染近似occ的效果對(duì)比。點(diǎn)云渲染的occ在一些多邊形相對(duì)集中的部分稍微偏暗,但整體視覺效果是幾乎相同的,對(duì)于occ這個(gè)pass來說,這樣的精確度足夠了。而點(diǎn)云occ的渲染比光線追蹤的速度快了將近8 倍,內(nèi)存占用量只是前者的三分之一。(圖11)
圖11
優(yōu)勢(shì)與缺點(diǎn)
優(yōu)勢(shì):
基本沒有雜點(diǎn),使用光線追蹤時(shí)畫面容易出現(xiàn)雜點(diǎn),而點(diǎn)云則不會(huì)出現(xiàn)。
速度快捷,在大場(chǎng)景中速度可以比光線追蹤提高4到10倍。
色溢、基于圖像的照明(hdri)渲染速度基本上和渲染occ一樣快。
在渲染置換(displacement)的時(shí)候沒有任何時(shí)間上的增加,這點(diǎn)相對(duì)于光線追蹤來說是一個(gè)巨大的優(yōu)勢(shì)。
渲染時(shí)燈光和物體可以方便的排出或包含。
缺點(diǎn):
有時(shí)候基于點(diǎn)云的渲染會(huì)產(chǎn)生過度的occ(太黑),因?yàn)辄c(diǎn)云本身就是一個(gè)近似取值方法如果精度過于高的話也就失去了使用點(diǎn)云的意義。還有由于一些隱藏表面的問題,有時(shí)候色溢效果中會(huì)產(chǎn)生一些錯(cuò)誤的顏色瑕疵。
基于點(diǎn)云的色溢效果在《up》和《toy story 3》中的到了大規(guī)模應(yīng)用。(圖12、13)
圖12
圖13
pixar基于點(diǎn)云渲染技術(shù)的將來
由于點(diǎn)云解決方案在《up》中獲得大成功,基于點(diǎn)云的渲染技術(shù)現(xiàn)在已經(jīng)應(yīng)用在了pixar所有的產(chǎn)品制作流程中;邳c(diǎn)云的渲染很適合極度復(fù)雜的大場(chǎng)景,例如擁有大量多邊形和大量置換shader的場(chǎng)景。但同時(shí)也要注意,點(diǎn)云方案并不是萬(wàn)能的,他只是在常用技術(shù)中提供了技術(shù)導(dǎo)演一個(gè)額外的選擇。
在pixar,負(fù)責(zé)燈光的高級(jí)技術(shù)導(dǎo)演必須決定當(dāng)前的鏡頭應(yīng)該使用哪一種渲染技術(shù)才是最優(yōu)化的。如果能夠用模擬的方式制造模擬色溢,那還是首先考慮采用模擬方式。如果場(chǎng)景已經(jīng)足夠復(fù)雜,那么就采用基于點(diǎn)云的渲染。就occ效果而言,在pixar的工作流里面,點(diǎn)云方案和光線追蹤兩種方法都會(huì)使用,具體采用哪一種則取決于場(chǎng)景本身的因素。
基于點(diǎn)云的全局照明效果并不能完全取代過去的技術(shù),他是實(shí)現(xiàn)方法上的一種創(chuàng)新,而不是制造某種前所未見的效果。pixar當(dāng)前渲染的某些最復(fù)雜的極端場(chǎng)景單計(jì)算生成點(diǎn)云文件就需要花費(fèi)20多小時(shí),生成出來的點(diǎn)云文件超過300gb,這些場(chǎng)景如果不使用點(diǎn)云技術(shù)的話更本得不到最后我們看到的效果。
靈活性
基于點(diǎn)云的渲染還有一個(gè)重要優(yōu)勢(shì)在于他的靈活性。他并不會(huì)像光線追蹤等方法受到燈光物理特性的限制。在 pixar的工作流中,他們只用數(shù)量有限的燈光和場(chǎng)景中特定的某些多邊形來生成點(diǎn)云,從而在最低的內(nèi)存及性能消耗和最好的最終渲染結(jié)果之間找到一個(gè)平衡。
同時(shí),點(diǎn)云渲染的效果是可以精準(zhǔn)定位的。舉個(gè)例子來說,在某些鏡頭中,只有離鏡頭特別近的物體需要比較明顯的色溢和復(fù)雜的照明,離鏡頭比較遠(yuǎn)的物體在視覺上很難被察覺到。我們可以只讓鏡頭前景中直接面向觀眾的物體使用基于點(diǎn)云的方式來渲染色溢,較遠(yuǎn)的部分則可以排除在點(diǎn)云計(jì)算之外。雖然pixar的極端復(fù)雜鏡頭中,即便是用這種靈活的方式,仍然會(huì)生成超過300g的點(diǎn)云文件,但結(jié)果證明他是高效可行的。如果這種復(fù)雜程度的場(chǎng)景用光線追蹤來渲染的話過度的內(nèi)存消耗導(dǎo)致可行性基本為零。
輕松的燈光設(shè)計(jì)
在pixar的工作流中,基于點(diǎn)云的色溢通常通過燈光來烘培和讀取。對(duì)整體照明效果的調(diào)整可以簡(jiǎn)單通過調(diào)整燈光強(qiáng)度來實(shí)現(xiàn)。由于這些燈光都是普通光源,所以普通光光源的常規(guī)屬性都有效的。pixar整合基于點(diǎn)云的渲染技術(shù)到自己的工作流中是一個(gè)很平滑的過程,對(duì)于他們的燈光技術(shù)導(dǎo)演來說,點(diǎn)云就像是多了一種特殊的燈光類型而已。
結(jié)束語(yǔ)
基于點(diǎn)云的技術(shù)已經(jīng)被cgi業(yè)界廣泛認(rèn)可,per christensen說:“基于點(diǎn)云的色溢渲染已經(jīng)在超過30部電影中得到了應(yīng)用。這意味這色溢終于成為了cgi電影工業(yè)生產(chǎn)流程中的一項(xiàng)常規(guī)應(yīng)用。 cgi技術(shù)生成的影像質(zhì)量將達(dá)到一個(gè)全新的高度!
現(xiàn)在很多電影中的cgi場(chǎng)景復(fù)雜程度已經(jīng)超過了光線追蹤和光能傳遞技術(shù)能夠支撐的范圍(chaoskids:例如《avatar》的場(chǎng)景,巨量的植物和非常復(fù)雜的光照設(shè)計(jì)。),對(duì)于這些日趨極端話的需求,基于點(diǎn)云的解決方案是唯一的選擇。歸功于pixar對(duì)點(diǎn)云技術(shù)和自家的renderman產(chǎn)品無縫完美的整合,導(dǎo)演可以設(shè)計(jì)空前復(fù)雜,要求苛刻的場(chǎng)景。
所有的這一且是一個(gè)旅程碑,但也只是一個(gè)開始,今后你肯定還能看到基于點(diǎn)云的技術(shù)帶來更多的革新!
朱峰社區(qū)網(wǎng)頁(yè)版(手機(jī)掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(hào)(微信掃一掃-關(guān)注)
未知用戶
2005-2025 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP