在以下教程中,我會全面介紹一下如何在3ds Max中使用VRay3.0設(shè)置并渲染出Deep圖像并在Nuke中合成。對于那些不知道Deep圖像合成這個(gè)詞真正含義的,我簡單解答一下,這是一種新的渲染合成數(shù)字圖像的方法。使用DIC,在以前數(shù)據(jù)里面存儲的是顏色,不透明。而現(xiàn)在新加了Deep,這允許在圖像深度上使用多重采樣來實(shí)現(xiàn)圖像色彩的最終合成,使用這項(xiàng)技術(shù)可以避免與其他素材合成時(shí)出現(xiàn)的錯(cuò)誤的抗鋸齒效果。在以前的合成方法中,使用Z-Blurring跟Color-Correcting的時(shí)候,這些錯(cuò)誤十分明顯的,現(xiàn)在是時(shí)候推陳出新了。
工程文件:文章中包含了原始的工程文件。3ds Max2014的場景文件,Nuke8.06的合成文件,以及EXR的Deep圖像。
渲染設(shè)置
介紹:在渲染設(shè)置里面,我會盡量的講解到每一個(gè)渲染Deep EXR圖像的必要步驟,這些步驟都將會在3ds Max中使用VRay渲染器來完成。
步驟一:對于要渲染的場景,確保當(dāng)前激活的渲染器為VRay。
步驟二:想要渲染出EXR的Deep圖像,必須確保當(dāng)前的渲染器采樣設(shè)置為Adaptive或者Adaptive Subdivision。
步驟三:在Frame Buffer區(qū)域那,設(shè)置VRay raw image file輸出類型,并且在彈出窗口中勾選Deep EXR。
步驟四:在Render Elements標(biāo)簽下,添加一個(gè)VRayObjectID的渲染元素。添加完之后設(shè)置輸出類型參數(shù)為Integer(no AA)。重命名你的渲染元素是非常重要的額,這里必須使用一個(gè)名字里面含有”.”這個(gè)字節(jié)的名稱,在這個(gè)教程里面我就是用Mattes.i作為我的渲染元素的名稱。
步驟五:渲染元素里面的VRayObjectID生成出來的遮罩是由場景中每個(gè)節(jié)點(diǎn)的物體ID控制的。當(dāng)前,在渲染之前去設(shè)置每個(gè)節(jié)點(diǎn)的物體ID是很重要的。在教程里面,我為每個(gè)茶壺以及相對應(yīng)的hair設(shè)置為一樣的物體ID。最后,我也給予地面平面一個(gè)ID。這樣教程里面我就一共設(shè)置了四個(gè)ID。
步驟六:渲染場景生成EXR,渲染的時(shí)候來杯優(yōu)樂美吧~~~
合成
介紹:教程的合成部分,我會講解到如何在Nuke中讀取Deep的EXR文件,一旦讀取進(jìn)Nuke之后,我會向你們展示如何為場景中的每一個(gè)特定的節(jié)點(diǎn)使用顏色矯正(之前我們已經(jīng)設(shè)定了物體ID)。
步驟七:為了在Nuke中讀取Deep EXR文件我需要使用到DeepRead,當(dāng)在Nuke中使用Deep EXR的時(shí)候,你只能夠去使用以Deep開頭的節(jié)點(diǎn)。
步驟八:為了能夠給中間的茶壺使用顏色矯正,我們必須先單獨(dú)選出這個(gè)節(jié)點(diǎn)。首先,我得檢查清楚這個(gè)節(jié)點(diǎn)的ID是什么,為了實(shí)現(xiàn)這步操作,我把channel viewer改為Mattes,然后調(diào)節(jié)f-stop,直到我能夠看到顏色之間的差異。這樣我通過放置鼠標(biāo)就能夠很輕松準(zhǔn)確的查看到了,然后鼠標(biāo)放上去并且去查看我的紅色通道的數(shù)值,在當(dāng)前案例中為2.0。
步驟九:接下來,添加一個(gè)DeepExpression節(jié)點(diǎn)來但選出中間的茶壺。添加完之后,我設(shè)置圖像的RGB以及Alpha通道為下面的表達(dá)式。
Mattes.i==2 ? rgba.red : 0.0
Mattes.i==2 ? rgba.green : 0.0
Mattes.i==2 ? rgba.blue : 0.0
Mattes.i==2 ? rgba.alpha : 0.0
這里之前設(shè)置的渲染元素Mattes.i就起到了關(guān)鍵作用。數(shù)值為2,也就是你想要單獨(dú)選出來的那個(gè)物體的ID。
步驟十:下一步,我使用另一個(gè)DeepExpression來中間的那個(gè)茶壺從圖像中移除出去。添加完之后,我設(shè)置圖像的RGB以及Alpha通道為下面的表達(dá)式。
Mattes.i!=2 ? rgba.red : 0.0
Mattes.i!=2 ? rgba.green : 0.0
Mattes.i!=2 ? rgba.blue : 0.0
Mattes.i!=2 ? rgba.alpha : 0.0
把表達(dá)式中間的i==2改為i!=2我們就完成了一次反向選擇。
步驟十一:添加個(gè)DeepMerge節(jié)點(diǎn),重新合并這兩元素,鏈接到兩個(gè)表達(dá)式節(jié)點(diǎn)輸出端。
步驟十二:為了調(diào)節(jié)中間茶壺的顏色,在單選出來茶壺的DeepExpression只會添加一個(gè)DeepColorCorrect。當(dāng)前的Color-Correct節(jié)點(diǎn)只會作用于中間的茶壺。
合成中有趣的小技巧
有趣的小技巧:想要在Nuke的3D空間中查看渲染出來的元素,添加一個(gè)DeepToPoints節(jié)點(diǎn)。然后添加一個(gè)Camera,這樣一來就會把你的試圖設(shè)為3D并且可以移動它。為了能夠正確的顯示出點(diǎn)云信息,在Nuke里面的3D相機(jī)必須跟你在渲染時(shí)候的渲染相機(jī)設(shè)置相匹配,否則出來的點(diǎn)云就會是扭曲的。
總結(jié)
使用EXR的Deep圖像合成有很多的好處,例如,邊緣不會出現(xiàn)錯(cuò)誤,3D的深度數(shù)據(jù)有更多的信息讓你來操作數(shù)字圖像。最主要的缺點(diǎn)就是圖像文件會變得非常大,并且合成的時(shí)候速度會變慢。下面的對比圖展示的是使用非深度合成,以及深度合成時(shí)會出現(xiàn)的一些問題。下面的圖片如果你查看大圖的話會發(fā)現(xiàn),與中間那個(gè)茶壺重疊的邊緣部分會出現(xiàn)輕微的Glow效果,跟右邊的圖像對比,你會發(fā)現(xiàn)根本就沒有g(shù)low的邊緣,顏色校正之后出現(xiàn)的效果依然是正確的。我把中間的茶壺直接調(diào)為藍(lán)色,你會發(fā)現(xiàn)下圖左邊的顏色全部都是錯(cuò)誤,而右邊的根本就沒有!