包含5節(jié)視頻教程
關注6.9萬次
3dmax強大的氣體插件afterburn是制作煙霧、云層的利器。朱峰社區(qū)誓要做最好的afterburn視頻教程奉獻給廣大會員。從零開始,讓你操控氣體于無形。成為氣體大師。
HDRi的全稱是high?dynamic?range?image,意思是高動態(tài)范圍圖片。最近的這些年已經非常的火熱了。使用一張HDR圖片或者再另外補一兩盞燈光作為場景的照明,已經是越來越普及的做法。而很多對這種圖片以及這種照明方案了解不深的朋友心里可能總有個疑惑——在以前的CG行業(yè)里,照明是一件非常復雜的事情,一個場景經常要打幾十甚至上百盞燈光才能得到好效果。怎么到了現在只需要一張圖片就解決照明問題了?世界上有這么輕巧的事情。
世界上就有這么輕巧的事情。CG行業(yè)是一個發(fā)展非常迅速的行業(yè),往往你上個月還在用的軟件,這個月就出了新版本;你上個月還在使用的工作流程,這個月已經有了更快的解決方案。在這樣一個日新月異的行業(yè)里,照明的解決方案,也當然飛速地發(fā)展了。以前要手動打很多盞燈光來照明的主要原因是機器性能不行,跑GI(全局照明)太慢,所以要手動打補光,人為處理出全局照明的感覺。然而時代進步了,機器速度已經幾何級增長了,現在大家都用得起GI了,理論上完全不需要再依賴手動打補光了。你可以選擇在場景中設置跟真實世界接近的光源,或者你還有這樣的選擇:使用一種HDRi貼圖來照亮你的場景。
因為大部分朋友早就將HDR照明應用到自己的工作流程中去了,所以,這篇文章的內容對于大部分朋友來說都會很熟悉。如果你已經知道怎么去運用,而對這背后的原理和邏輯有一定興趣的話,可以看看理論部分。而這次的教程更傾向于對HDR并不太了解的新手朋友,相信你們看完這次的教程,會對HDR的概念原理有一定的認知,并且知道該怎么使用HDR對自己的場景進行照明。
雖然本教程使用三維軟件為maya,渲染器是mental?ray和vray。但是講述的原理是完全可以互通的,你只要理解透了這些概念,方法拿到哪里都是一樣適用的。
全文分理論部分,CG領域中的應用部分,和噪點問題的解決方案三大塊兒。
其中理論部分梳理了完備的理論體系,全部消化吸收能夠讓你對整個CG技術的認知有所提高,說起來適合所有人閱讀,但是如果你對理論頭大也可以先跳過或暫時跳過理論部分直接從實戰(zhàn)部分開始看起。
CG領域中的應用部分則著重介紹在CG領域里怎么運用HDR技術,以及HDR技術給我們帶來的好處到底體現在哪里,適合新手,或者知其然不知其所以然的朋友。這一部分觀看視頻會吸收得更好。
如果你已經是個高手了,那么可以直接跳過前面兩個部分,到達這次教程在實戰(zhàn)意義上真正精華的最后一部分——噪點問題的解決方案,你將了解解決采用HDR照明時GI通道和reflection通道噪點問題的完美方案。
HDRi是一種類型的圖片的統(tǒng)稱,同時也是一種圖片格式。所謂HDR就是高動態(tài)范圍圖片,和它對應的一個概念是LDRi(low?dynamic?range?image),低動態(tài)范圍圖片。而我們日常使用的大部分圖片,幾乎都是LDR,不管是我們的jpg、png、tga還是tiff,都是低動態(tài)范圍。而我們現在用的最多的HDR圖片格式主要有兩種:openEXR和HDR。
那么這個動態(tài)范圍又是什么,怎么劃分的呢?
這本來是一個攝影的概念,說起來復雜,相信看這文章的都是搞CG的,我就從CG的角度簡單地說些有用的。在我們的認知領域里,你可以把動態(tài)范圍簡單地理解為一個圖片所能涵蓋的信息量。涵蓋的信息量越多,那么動態(tài)范圍越大,反之亦反。
這里就要說一個“位深度”的概念了。我們都知道,電腦是二進制的,只有0和1,而你可以把位想象成一個開關,當這個位等于1的時候,開關打開;當這個位等于0的時候,開關關閉。所以,每一個位,有兩種可能。
而如果我有兩個位,或者說兩個開關呢?它們放在一起會有多少種組合?答案是4種,分別為:00,01,10,11。
那么,如果有三個位,或者說三個開關,又有幾種可能?答案是8種,分別為:000,001,010,011,100,101,110,111。
那么,如果是四個位呢?答案是16種。聰明的朋友應該已經發(fā)現規(guī)律了:有多少位,就有2的多少次方種可能。這其實是高中的排列組合知識,我給大家義務復習了一下。
看到這里有人會說了,我是做美術的,你跟我說這些亂七八糟的數學知識搞毛呢?其實你不要急躁,了解這些知識,才能讓你完全吃透,并且駕馭你所使用的流程與工具。很快我就要講到,這些數學和計算機知識跟我們的CG是怎么聯系的。
可能有的朋友一直有聽說過,我們的圖片也有位數。比如說,我們的jpg圖片就是8位的。而很多人只是知道,卻并不真正了解這到底意味著什么。根據我們前面說的知識,8位即意味著2的8次方種可能,即為256種可能。相信很多朋友看到這個數字心里會一激靈,因為有點ps基礎的朋友都知道,我們的圖片放進ps里是有256個色階的。這二者是不是有什么聯系?你猜的不錯。
我們說的8位的jpg圖片,真正的說法應該是:每個像素每個通道使用8個二進制位儲存信息的圖片。
對于儲存顏色信息,我打一些比方,如果你只有一個位去儲存信息,那么你就只有開或者關兩種可能,如果你用開表示純白色,關表示純黑色,那么你就的世界就只有黑與白;如果你使用兩個位去記錄信息,那么你就有四種可能,你就可以在純黑和純白之間再加入兩個過度的灰色。
那么,你要是使用8個位共產生256種可能,亦即是256個色階,從黑到白有一個均勻的灰度過度。
你一定要弄明白,到這里為止,就算你有8個位,256個色階,你也暫時只能制造出灰色的過度色階。而如果你想要彩色的照片的話,你還要讓這些灰度的色階產生顏色,想要表達大自然絢麗的色彩,我們是使用三種純純的顏色,分別發(fā)出不同的亮度,復合在一起而產生出來的。這三種顏色就是我們頂頂大名的RGB紅綠藍了。
我大概描述下這個過程。比如說紅通道,只能發(fā)紅光,而紅光的強度,根據你的色階來定:色階為0,則是純黑的紅色,色階為128,半亮的紅色,色階為255,則為純純的最亮的紅色(0-255一共256個色階)。同時綠通道和藍通道也是一樣,發(fā)出某種強度的光,最后把他們復合在一起,就產生我們所見的顏色。
也就是說,我們彩色的jpg圖片,每個像素點都有三個通道,每個通道都有8位,于是每個像素就需要24位來記錄色彩信息。到這里,我們可以做一個簡單的小實驗來驗證我們前面探討的知識點。在計算機中,1位即是1Bit,8個位占一個字節(jié),即是1byte。而我們平時說的1kb則為1024byte,1Mb?為1024kb。那么根據我們剛才的說法,每個像素都占24位的空間,即是3byte的空間,那么我們創(chuàng)建一個1024*1024的圖片,就有1024*1024*3byte=3MB的大小了。我們可以在ps里創(chuàng)建這么大一張圖然后看看ps算出來的大小。果然論證了我們的說法。
在你儲存TGA圖片格式的時候,你會發(fā)現,ps會為你,到底要儲存多少位的圖片。我們主要關心的是24位和32位兩種。根據之前說的知識,你大概可以猜到,24位的圖片,意思是,24位/像素,即3個通道每像素;而32位怎么來的呢?32 = 4*8;也就是說,4個通道每像素?是的。那這多出來的通道是啥?其實就是我們平時說的alpha通道了。如果你做了一個帶alpha通道的TGA圖片,儲存的時候選的是24位,你會發(fā)現最后你的alpha通道不見了?吹竭@里你應該明白原因了。
說了這么多,大家應該已經開始熟悉位深度相關的概念了;氐轿覀冏铋_始的概念上。所謂低動態(tài)范圍圖片LDR,一般是指數值以整型(integer)類型來儲存的圖片;而HDR,則是指數值以浮點(float)類型來儲存的圖片。整型和浮點是編程里的術語,用人的語言來說,就是整數和小數。比如說,我們傳統(tǒng)的jpg圖片,色階只能是整數0到255,不能是小數,你沒見過哪個色階是1.5,2.8什么的吧。但是我們的HDR圖片,因為自身獨特的編碼方式,卻可以用小數來表達色階;更重要的是,HDR的圖片,儲存的色階信息可以超出屏幕亮度范圍之外,亮的地方可以比純白還亮,黑的地方可以比純黑還黑。
而這些超出顯示范圍之外的數據,甚至不能被直接觀察到!那么我們要這些數據有什么用呢?HDR圖片主要會被攝影和CG兩個領域所使用,主要利用的點也正是它本身的動態(tài)范圍夠大。我們傳統(tǒng)拍照的時候,你如果直接去拍天空,那么太陽以及其附近的范圍,因為亮度太亮,所以會得到沒有細節(jié)的純白的一片,就是我們俗話說的曝掉了。但是如果你使用HDR的手法去拍攝天空太陽,雖然直觀的效果也是純白的一片,但是在后期軟件中,我們可以通過調整曝光,讓隱藏在純白色一片里面的亮度信息逐步顯現出來。如前文所說,HDR圖片可以儲存范圍極廣的信息,有很多信息在你的屏幕上不能直接觀察到,你只能通過調整曝光來觀察。
雖然你不能直接觀察藏起來的信息,但是這些信息是一直存在圖片中的,你不知道電腦知道。它們可以正確讀取圖片上特別亮和特別暗的區(qū)域的信息,在我們的CG領域里,我們就可以使用這些信息對場景進行照明。
這一部分參考視頻教學會得到最直觀的感受。
那么HDR貼圖為什么可以儲存這么大量的信息呢?這是跟我們HDR貼圖儲存信息的方式有關的。我們這里主要講講最常用的HDR格式和exr格式。
HDR格式是使用RGBE四個8位通道,一共32位通道來儲存信息。前面的RGB大家都知道是干嘛的了,那最后的E呢?這個通道指的是exponent,曝光通道,你可以把前面的RGB理解成某個像素的顏色,而這個E通道,可以理解成這個像素的亮度。他們的計算公式也很簡單,如下圖:
因為E有8位,所以取值范圍也是0到255;當E為128時,2的0次方為1,RGB值保持初始。當E大于128時,沒大個1,RGB的亮度就會比之前亮一倍,指數上升。比如說,我們使用(100,100,130,150)的參數,得到的正真RGB值其實是:
你想象一下,在我們的電腦上,255就已經是純白的了,這三個數字所代表的亮度是有多大!
而如果E小于128,則相當于是用原先的RGB值除以2的倍數,會得到一些小數,就是我們之前說的浮點數,這樣就會在暗部得到很多8位圖片不具備的中間過渡信息。同樣,假如我們使用115作為我們的exponent,即E通道的值,那么結果就是:
可以想見,這是多么逼近于純黑的顏色,人眼根本無法察覺。而這些信息,就都老老實實地儲存在我們的HDR圖片中。
所以,HDR格式的圖片,是以RGBE?4個8位通道,一共32位信息儲存的,F在我要講一講我們CG行業(yè)里更流行的另外一種圖片格式openEXR(以下簡稱exr),這個在早些年被工業(yè)光魔發(fā)明并且逐漸變成行業(yè)標桿的格式。
Exr格式的儲存方式是使用4*16Bit?RGBA來儲存數據的,即是說,它使用四個通道分別為紅綠藍和alpha,每個通道占16位儲存空間,每個像素占48位儲存空間來儲存數據。而這16位信息exr圖片是這樣分配的,拿出一位來表示這個數值的正負;拿出10位來儲存RGBA的基本信息;拿出5位來表示曝光度。跟之前HDR圖片的記錄方式有些類似。
只不過,我們基本的RGBA值的精度更高,有2的10次方,1024個色階;而能表達的亮度范圍卻比較小一些,只有2的5次方,32個檔。
所以這兩種圖片格式的區(qū)別就很明確了。openEXR圖片的精度要高于HDR圖片(RGBA有1024色階);而HDR圖片的亮度范圍要高于openEXR圖片;但是最關鍵的點在這里,HDR圖片不能帶alpha非常不方便合成,所以攝影里用的相對多一些;而openEXR格式除了能帶alpha通道以外,還可以人工置入一些我們三維軟件里渲染出來的別的通道,非常適合CG工作者。
附一張各種HDR格式的對比。
這里要跟大家梳理一個比較容易混淆的概念。就是16位/通道/像素的圖片,即有可能是HDR的也有可能是LDR的。比如說,你在ps里打開一些jpg圖片,然后你可以在模式里,將圖片的位深度從8位/通道/像素改成16位/通道/像素,但是這并不意味著圖片就被改成openEXR類型,圖片并沒有因此由LDR變成HDR。
這是因為同樣是16位/通道/像素,也是有兩種儲存方式的。像工業(yè)光魔的儲存方式我們剛才介紹過了,是一種浮點的儲存方式,結果是HDR的。但是ps默認改成16位/通道/像素,卻是整型的儲存方式,即是說,把黑到白的信息,分配到2的16次方,65536個色階里去了。0表示黑色,65535表示白色,而其間的一些數值表示過度的灰階。只是說,相對于8位的256個色階,我們儲存的信息量確實大了很多,色階和色階之間的過度也微妙了很多。但是我們的儲存方式依然是用整數的方式,并且,我們的最大亮度也不能超過純白。所以,使用16位/通道/像素的整型方式儲存數據的圖片,完全不具有HDR的效果。(16位/通道/像素整型儲存的圖片,主要作用于tone?mapping過程中,浮點數據塌陷為整型數據之后如果有調色的步驟,可以使用16位/通道/像素的整型格式作為緩沖格式,進行調色之類的工作,完了之后再把16位/通道/像素的信息塌陷成8位/通道/像素的一般圖片,方便在網上發(fā)布和在pc上瀏覽;如果要打印,可能保留16位/通道/像素的信息以及將色彩空間設置在adobeRGB會得到更理想的效果。這是關于tone?mapping的知識,不是本篇教程所討論的主要內容)
而在mental?ray的frame?buffer中,你是可以設定你的輸出類型的。
你會發(fā)現你有兩種RGBA?4*16Bit,就是說你有兩種16位/通道/像素的圖片儲存方式。其中half類型就是工業(yè)光魔開發(fā)的方式,即是HDR的類型;而short,則是我們剛才說的整點儲存類型,實則是LDR類型。
所以對于你渲染輸出的圖來說,如果你想獲得HDR圖片的收益,就要使用RGBA(Half)4*16Bit。
HDR的圖片,主要有兩種生產方式。一種是我們熟悉的三維軟件渲染,另一種就是用相機拍攝。而用相機拍攝的時候呢,并不像一般拍照那樣,卡擦一下就拍好了。而是要對著同樣的構圖,卡擦卡擦拍好多張,而每張的曝光度要有所差別,最后用軟件將這些曝光度有差異的圖片合成成一張,就得到了我們的HDR了。
所以說,其實一張HDR圖片,就相當于我們正常的n張曝光圖片的合成,就涵蓋了很觀光的亮度范圍。有一句話概括得非常好:HDR圖片相當于一個將當時的光照信息完全記錄下來的打包文件。
所以說,我們每次使用HDR貼圖去照明的時候,就相當于把我們的三維場景放置在當時拍攝的環(huán)境里去照明一樣。所以,有很多時候,僅僅使用一張HDR貼圖作為你場景的光源就已經足夠了。
視頻教程中,我使用自己拍攝的三張照片做了一個簡單的例子。因為硬件的限制,只拍了三張,HDR的作用沒完全體現出來,但也足夠大家體會了。
關于后期景深的文章:
后期軟件中制作景深效果(基礎篇) 后期軟件中制作景深效果(進階篇)關于后期運動模糊的博文:
詳解在后期軟件中制作運動模糊效果(理論篇) 詳解在后期軟件中制作運動模糊效果(實例篇)推薦閱讀書籍:
The?HDR?hand?book2.0?——Rocky?Nook(書中推薦的sIBL解決方案非常方便快捷,跟我第三部分講述內容接近;他們提供了一個插件,可以快速設置場景,但是有一定學習成本)
精通HDR攝影?——弗里曼?(偏攝影的HDR書籍,給你另一個理解HDR的角度)
2005-2025 朱峰社區(qū) 版權所有 遼ICP備2021001865號-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP