概述介紹
分層渲染實際上是一個很傳統的問題,相信很多參與過動畫或影視項目的朋友都使用過分層渲染來解決最終的渲染問題。本次話題主要是介紹分層渲染的基本概念和一些擴展討論。
那麼說到分層渲染就一定要將合成聯係在一起,因為分層渲染是為合成服務的。下麵我們來看以下幾張圖:
圖1
圖2
圖3
這三張圖像分別是一張完整的圖像中的一部分,第一張是一輛已經渲染好的車,第二張是這輛車在地麵上的投影,第三張是一張普通的背景照片。那麼通過合成軟件我們可以很輕鬆的將他們整和在一起,並且還可以在後期軟件中對不同部分進行調色及修改使之匹配。相信通過剛才的幾張圖我們已經基本知道在maya裏分層渲染的用途了。
圖4
分層渲染後我們還會得到哪些實惠呢?
在計算機圖形使用於動畫和電影之初,計算機的性能限製了渲染能力,為了使計算機能完成預期的工作,人們不得不將一個場景分為幾部分進行渲染。分層渲染可以減輕渲染對於機器的壓力。另外在處理分層素材時我們會像在photoshop中處理圖層一樣方便快捷,對於畫麵中不同元素的色彩明度等信息可以輕鬆的作修改,這樣就可以減少在三維軟件中的修改工作。
基礎原理
我們先從最簡單的分層方式開始。最基礎的分層方式是將最終鏡頭中的角色、陰影和背景分離出來進行渲染。
通常提到的角色層多數是指鏡頭中的角色或者運動相對背景比較大的物體,比如飛機或者汽車等道具。所以角色層的定義相對是廣義的,是處於場景之上相對運動比較快的部分。那麼陰影層多數是場景中角色層中物體產生的投射到背景上的陰影,背景層則是處於最後的場景部分。
為了日後渲染方便通常會在分層時,把層單獨另存儲為層文件,也就是說我們分多少層就有多少個Maya文件。當然這是一個比較傳統的做法,自從有了渲染層後很多分層方式都有了增強,我將在日後逐步的探討這些問題。
圖5
圖6
角色層文件
我們來看一下這些層如何分離,角色層渲染時可以將背景直接隱藏或者刪除。
當然有些特殊情況直接隱藏是會出現異常效果的,比如一個進門的鏡頭將門框隱藏掉後渲染的角色將是完整,合成時會發現角色如果放在背景層之上,角色會變成站在門裏,如果角色層放在背景層之下就看不到角色了。
圖7
[page]
角色與場景發生遮擋
所以這是我們對於角色需要進行特殊處理,需要給具有遮擋關係的場景部分賦予統一材質,並將材質的遮罩類型改為black hole,這時渲染出的角色就會具有遮擋關係。
圖8
圖9
背景層在渲染時相對簡單直接將角色隱藏或者刪除就可以了。
圖10
隱藏或刪除角色後渲染的場景
陰影層的分離會有些麻煩,要直接渲染出角色在牆壁和地麵上的投影需要給接受陰影的背景部分一個backgroud材質來接受陰影。
圖11
這時我們會發現如果是不平坦的場景它會產生自身陰影的投射,我們實際上隻需要角色的陰影。場景中如果使用光線追蹤還會渲染出反射。
圖12
這時我們可以選中所有的背景模型,在屬性批量更改列表中將場景的產生陰影屬性關閉,同時將反射和折射都關掉。這時渲染結果中依然有我們不需要的部分就是角色,同理可以在批量屬性更改列表中關掉角色的一級光線和折射反射,這時我們得到了真正的陰影信息。
圖13
圖14
圖15
但渲染結果中依然有我們不需要的部分就是角色,同理可以在批量屬性更改列表中關掉角色的一級光線和折射反射,這時我們得到了真正幹淨的陰影信息。
圖16
圖17
[page]
接下來後期中將這些元素整合在一起, 就得到了最終的效果。
圖18
由於本次主要介紹的是Maya中的分層渲染,關於後期的內容我們暫且略過,以後我們將更深入的討論後期在三維製作中的用途。
當然我們經常因為場景過多也會將場景分為前景、中景和背景來輸出渲染。那麼角色層有時也會麵臨角色數量過多的情況,為了減輕渲染壓力我們也會經常將角色分為不同層次渲染。比如場景中有三個角色,我們可能會將他們單獨分成三個層。這樣分層也會給我們帶來一個好處,當需要對場景中不同角色的色彩和明度等信息進行修改時會方便,當然在處理不同角色進行分層時也要考慮角色與角色之間的遮擋關係。
如圖下麵是以前為伊利製作的商業案例畫麵:分別是天空、背景山坡、包裝盒陰影、包裝盒、春聯背景、草和角色。(以下圖片僅用於學習)
之所以這樣分層,主要是考慮在渲染後每一部都可以獨立在後期調節,這樣就可以提高我們的工作效率。
圖19
圖20
當然分層的基本原則是盡量將畫麵中完整部分分離出來,而且便於修改。有時我們可以實現預計到修改最頻繁的部分,比如說下圖中的角色的圍巾和後麵的春聯,那些可能會被導演要求反複修改,所以我們會將它們單獨分層。
以上是最基本的分層方案,我們經常會發現當渲染後高光或者自身陰影不理想,那麼如果我們使用之前分層方式進行輸出勢必會造成重新修改渲染的結果。為了能夠減少返工並增強畫麵效果我們可以將高光、漫反射、自陰影等分離出來,我們來看一下如下的一組分層圖片,這些分層信息經過合成被整合成完整的圖像信息,在修改和增強效果上我們都會有很大的空間,並且有一些特殊的層信息會使我們的畫麵效果得以提升。我們還可以根據需求自己分離出不同效果的層來實現畫麵要求。
圖21
圖22
其實在於分層渲染的理解完全是基於合成概念下的,掌握更多的合成知識將會有助於我們提高渲染的效率和品質,下次我們將更深入的探討分層渲染與合成之間的關係。