這一講我們用一個(gè)范例來講講使用Arnold渲染的時(shí)的基本布光原則及操作規(guī)范。
準(zhǔn)備場(chǎng)景
我們的使用的場(chǎng)景是一個(gè)破敗的辦公室場(chǎng)景,這個(gè)場(chǎng)景模型本身其實(shí)有很多值得吐槽的地方,但本文只是那它過來做白模打光測(cè)試,就不管那么多了。
場(chǎng)景模型下載鏈接:https://pan.baidu.com/s/11hx3R-EqXTv4C7xobOe3Gg
提取碼:wdtd
首先要做的,是確定場(chǎng)景比例。
我假定這個(gè)房間凈空高3.5米,所以創(chuàng)建了一個(gè)350×350×350的方盒子來做參考。
在場(chǎng)景中添加渲染用攝影機(jī),調(diào)整到合適的機(jī)位,鎖定移動(dòng)和旋轉(zhuǎn)屬性以避免不小心改變了機(jī)位。
請(qǐng)大家改掉直接使用persp攝影機(jī)當(dāng)渲染攝影機(jī)的習(xí)慣!
如果預(yù)想的機(jī)位其實(shí)是在墻壁的另一邊,可以提高攝影機(jī)的Near Clip Plane
值將遮擋的墻壁給“裁掉”。
如果因?yàn)閳?chǎng)景的尺寸很大導(dǎo)致在攝影機(jī)中出現(xiàn)這種顯示錯(cuò)誤的問題,也可以通過適當(dāng)增加攝影機(jī)的
Near Clip Plane
值來解決。
給整個(gè)場(chǎng)景添加一個(gè)aiStandardSurface
材質(zhì),設(shè)置其為灰色純漫反射材質(zhì)(無高光、無透明),然后刪除掉場(chǎng)景中的多余材質(zhì)節(jié)點(diǎn)。
最典型最簡(jiǎn)單的白天室內(nèi)照明
典型的白天室內(nèi)照明由兩大光源:天光(用以提供整體全局光照亮度)和陽光(用以塑造陰影形狀,產(chǎn)生明暗對(duì)比),那么在Arnold中就是一個(gè)Skydome Light
加一個(gè)Directional Light
。
因?yàn)槭褂?code>Skydome Light通過窗口照亮室內(nèi)場(chǎng)景,所以需要為每個(gè)窗口創(chuàng)建一個(gè)Light Portal
。
這樣照明質(zhì)量會(huì)明顯好一些,同時(shí)還不會(huì)增加渲染時(shí)間。
因?yàn)槭亲钤绲陌啄4蚬鉁y(cè)試,所以我們保持場(chǎng)景的簡(jiǎn)單統(tǒng)一,先不使用HDRI天空貼圖,直接用純白色天光和純白色陽光來建立最基本的亮度分布。
我們可以使用Light Editor(燈光編輯器)來快速“關(guān)閉”或“單獨(dú)顯示”某個(gè)燈光的照明效果。每個(gè)燈光單獨(dú)調(diào)節(jié)有利于我們準(zhǔn)確判斷各個(gè)燈光的實(shí)際效果,避免互相影響。
在Light Editor的面板中我們可以直接調(diào)節(jié)燈光的一些關(guān)鍵參數(shù),比如顏色、亮度、曝光度、取樣值等等。
由于我們現(xiàn)在這個(gè)場(chǎng)景主要是被間接光照照亮的,所以Diffuse Ray Depth
就很重要了。增加Diffuse Ray Depth
對(duì)于渲染時(shí)間的影響還是很大的,要注意在渲染效果及渲染效率兩邊的平衡。
場(chǎng)景照明亮度分布調(diào)整好之后,再針對(duì)噪點(diǎn)問題進(jìn)行測(cè)試。增加Sample的順序一般為:
- 增加天光、面積光、物體光之類會(huì)產(chǎn)生模糊陰影的燈光Sample,一般不超過4
- 增加
Camera (AA)
采樣值到2或者3,然后再逐步增加Diffuse Sample,消除間接漫反射帶來的陰影(建議在diffuse_indirect
分層通道里查看間接漫反射照明效果)
這張圖我最后的參數(shù)是4/6/0/0/0
,也就是Camera (AA)
= 4,Diffuse
= 6,并沒有完全消除干凈間接漫反射噪點(diǎn),但整體效果是滿意的。
關(guān)閉IPR渲染的“漸進(jìn)式渲染(Progressive Rendering)”可以稍稍加快渲染速度,或者將所有CPU進(jìn)程都分配給渲染器,但這樣會(huì)導(dǎo)致我們?cè)阡秩具^程中基本上不能操作Maya了。
添加光色
我們可以將Skydome Light
上貼一張HDRI天空?qǐng)D,然后修改直接光照的光色來匹配一個(gè)不一樣的照明環(huán)境。
還可以將地板材質(zhì)換成一個(gè)略有反光的材質(zhì)。
因?yàn)閳?chǎng)景中有一個(gè)疑似“鏡子”的物體,所以我決定做一個(gè)鏡面反射的效果。
將這個(gè)物體的“鏡面”提取出來成為一個(gè)獨(dú)立的幾何體,單獨(dú)指定一個(gè)aiStandardSurface
材質(zhì)。
漫反射顏色改為黑色,高光Roughness改為0,最重要的是需要大幅度提高IOR
值才能獲得比較“明亮”的反射圖像。
將白天室內(nèi)照明修改為夜晚
可以簡(jiǎn)單地對(duì)Skydome Light
的HDRI天空貼圖的Color Balance
欄中的參數(shù)進(jìn)行調(diào)整,將其修改成夜晚的光照效果,當(dāng)然其照明亮度也需要大幅度降低。這里我修改了Color Gain
為比較暗的灰藍(lán)色。
Directional Light
的亮度和色溫也要相應(yīng)進(jìn)行修改。這里我還增加了Angle
值以增加陰影的模糊程度。
可以看到,低分辨率(50%)和低取樣值(2/3/2)下,渲染速度還是非常快的,這樣我們?cè)谡{(diào)試的時(shí)候不至于需要浪費(fèi)很多時(shí)間等待渲染。這是我對(duì)Arnold渲染器最滿意的地方。
添加人造光源
在這個(gè)場(chǎng)景中,我想要使用3盞吊燈來作為人造光源。我們可以有很多種選擇:1. 將燈泡物體轉(zhuǎn)換成Mesh Light
;2. 用點(diǎn)光源替換燈泡物體來模擬;3. 用聚光燈替換燈泡物體來模擬。方案2可以通過調(diào)節(jié)點(diǎn)光源的高度來調(diào)整其照亮范圍,方案3可以讓我們精確控制燈光的照明范圍(完全不被燈罩模型所限制),但我們這個(gè)范例中使用最簡(jiǎn)單的方案1。
Mesh Light
默認(rèn)不顯示燈的外觀,只顯示其照明效果。因?yàn)閳?chǎng)景很大,且Normalize
被勾選,所以需要較高的亮度(Exposure
= 13)才能照亮場(chǎng)景。
為了控制這盞燈直接照明的范圍(比如我們需要燈泡很亮很顯眼但不想它過份照亮整個(gè)場(chǎng)景),我們可以給這盞燈添加一個(gè)Light Decay
。
雙擊添加進(jìn)Light Filter
里的Light Decay
,我們可以修改Far Start
和Far End
來設(shè)定這個(gè)燈光的亮度從什么距離(Start)開始強(qiáng)制性衰減,以及達(dá)到什么距離(End)時(shí)完全沒有照明效果。
最好根據(jù)
diffuse_direct
通道來修改Light Decay
,因?yàn)樗绊懙氖侵苯庸庹眨苯庸庹帐欠从吃?code>diffuse_direct中的。也就是說,在Far End
距離以外的場(chǎng)景其實(shí)也會(huì)受到這盞燈的照明影響,但不是被直接照亮,而是被間接照亮(比如地面的反彈光線)。
同理設(shè)置好另外兩盞吊燈:
最終照明效果如下:
添加燈光霧
在渲染設(shè)置的Environment
欄中,給Atmosphere屬性添加一個(gè)aiAtmosphereVolume
節(jié)點(diǎn),并設(shè)置aiAtmosphereVolume的參數(shù)。
Density
這個(gè)參數(shù)非常敏感,稍大點(diǎn)數(shù)值就可能產(chǎn)生非常強(qiáng)烈的燈光霧效,而且會(huì)影響我們對(duì)于燈光亮度的判斷。所以,我建議在沒有燈光霧效的時(shí)候先把燈光顏色測(cè)試好,然后再添加燈光霧,調(diào)節(jié)Density
值以匹配我們想要的效果。另外要注意的是,
Environment
中設(shè)置的不論是aiAtmosphereVolume
燈光霧也好,還是aiFog
場(chǎng)景霧也好,都不算做Arnold的“Volume”,不會(huì)出現(xiàn)在“Volume”相關(guān)AOVs通道中,也不受Volume Sample的數(shù)值影響!
最終渲染的結(jié)果如下:
我個(gè)人對(duì)于這個(gè)渲染時(shí)間和渲染質(zhì)量并不是特別滿意,真的是太久了。而且這3盞人造燈源在間接漫反射中產(chǎn)生的噪點(diǎn)幾乎遍布整個(gè)場(chǎng)景。
我們可以使用一些辦法來改善這種問題。一方面,我們可以用分通道渲染再合成的方式將diffuse_indirect
單獨(dú)提取出來做降噪處理,但這需要保證不會(huì)出現(xiàn)“漏光”的區(qū)域;另一方面,我們鎖定Sample Pattern,將噪點(diǎn)當(dāng)做場(chǎng)景貼圖紋理的一部分,有噪點(diǎn)沒關(guān)系,只要?jiǎng)赢嫊r(shí)噪點(diǎn)不會(huì)出現(xiàn)閃爍就好。
我個(gè)人電腦的基本配置是AMD R5 2600 + 16G DDR4 3000內(nèi)存,并不是一個(gè)特別有利于渲染的配置。目前Arnold渲染器主要還是依賴CPU在做計(jì)算,所以CPU越快渲染速度就越快。
從單幀渲染時(shí)間上來講,Arnold并不比Mental Ray慢,但Mental Ray可以保存GI光子圖、FG燈光圖等緩存數(shù)據(jù),在渲染動(dòng)畫序列幀的時(shí)候,Arnold的渲染時(shí)間就慢很多了(因?yàn)椴荒苋∏闪恕K闶?strong>犧牲最終渲染速度來換取制作時(shí)的便捷性吧。