彭城
摘 要:影視特效絢麗的外表下無外乎是強(qiáng)大的流體和粒子特效,Maya的Fluid Effects流體技術(shù)是基于物體特性的真實(shí)模擬,同時易于操作的特性和真實(shí)可靠的渲染輸出使其成為影視后期制作中被廣泛使用的軟件之一。
關(guān)鍵詞:Maya 流體 影視特效
從《星球大戰(zhàn)》開始,觀眾就開始將電腦影視特效與好萊塢大片聯(lián)系在了一起?!顿_紀(jì)公園》、《泰坦尼克號》、《2012》、《阿凡達(dá)》,一部部耳熟能詳?shù)膬?yōu)秀電影中都包含著令觀眾嘆為觀止的影視特效。這些影視特效的制作是依靠多款軟件共同協(xié)作而產(chǎn)生出來的,其中Maya的Fluid Effects流體技術(shù)在環(huán)境模擬和細(xì)節(jié)體現(xiàn)上可謂功不可沒。
一、Fluid Effects流體技術(shù)的概念
Maya的Fluid Effects是模擬流體運(yùn)動的成熟技術(shù),大到復(fù)雜多變的天氣、波濤洶涌的大海,小到角色手中的香煙、咖啡杯中冒出的水蒸氣,只要是在力的作用下不斷改變形狀的流體,這項技術(shù)都可以輕松的模擬出來。Maya應(yīng)用流體動力學(xué)規(guī)律去摸擬流體運(yùn)動,關(guān)鍵在于背后運(yùn)用動力學(xué)流體模擬來建立真實(shí)的流體運(yùn)動,讓流體表現(xiàn)動感用粒子是難以實(shí)現(xiàn)的。這其中比較常見的基本流體效果類型主要分為以下兩種:
1、動態(tài)流體效果
動態(tài)流體效果是完全模擬自然規(guī)律來反映流體的變化,Maya內(nèi)置的Navier-Stokes方程可以根據(jù)用戶定義的參數(shù)計算出不同時間段流體的真實(shí)形態(tài),在不同的時間點(diǎn),可以賦予流體不同的材質(zhì),從而使其更加的真實(shí),比如騰空而起的煙花、濃煙滾滾的火焰等。動態(tài)流體需要Maya進(jìn)行解算,因此運(yùn)行比靜態(tài)流體效果要慢很多,渲染輸出可以借助烘焙關(guān)鍵幀加快運(yùn)算。
2、靜態(tài)流體效果
靜態(tài)流體效果是不需要利用Navier-Stokes方程來進(jìn)行解算、模擬流體運(yùn)動的,用戶需要利用材質(zhì)和關(guān)鍵幀動畫來完成動態(tài)效果。比如遠(yuǎn)處天空運(yùn)動緩慢的云就可以使用靜態(tài)流體來完成。由于不需要進(jìn)行解算,其運(yùn)行速度比動態(tài)流體效果要快很多。
二、Fluid Effects流體技術(shù)的應(yīng)用
1、流體容器的基本控制
Fluid Effects流體在使用時要由用戶定義一個邊界,也就是為流體創(chuàng)建一個存在的空間,這個稱之為流體的容器。在Maya軟件里可以創(chuàng)建兩種流體容器:2D流體容器和3D流體容器,如果用戶僅僅是將流體效果展示出來,可以優(yōu)先選擇2D流體容器,因為這種更快捷、簡便;如果用戶制作的是快速變化的流體效果或者是需要模型在流體里穿過,那就最好使用3D流體容器。比如利用Maya制作的爆炸效果,就是利用了帶有粒子發(fā)射器的3D流體容器來制作的,同時爆炸產(chǎn)生時火焰和煙塵會迅速升騰,因此容器高度Y值要相應(yīng)的大一些才能滿足需要。為了追求爆炸效果的真實(shí)性,Maya中還允許利用流體帶動粒子,制作一些爆炸的碎片從爆炸點(diǎn)飛濺而出的細(xì)節(jié)效果,可見一個爆炸效果其實(shí)是流體和粒子層相互影響交融擴(kuò)散的結(jié)果。
我們創(chuàng)建了一個流體容器后,在容器的底部會用柵格線直觀的顯示出分辨率,這些柵格里面的數(shù)值多少控制了流體的流動,柵格的多少可以通過Resolution項來調(diào)整。在渲染的每一步,Maya利用動力學(xué)解算器計算柵格中的數(shù)值,數(shù)值的變化,促成了流動的實(shí)現(xiàn)。流體容器的尺寸決定了流體存在的空間,由于爆炸效果的流體容器Y值偏大,因此我們應(yīng)該在創(chuàng)建容器后先修改尺寸,讓后將容器與物體打組,這樣就不會影響爆炸的最終效果。最后我們還要注意容器的邊界,流體在接近容器邊界時有不同的衰減模式,一般會有四種模式:開放邊界、雙面封閉邊界、單向封閉邊界和循環(huán)邊界。在開放邊界模式下,流體容器的邊界呈開放狀態(tài),流體運(yùn)動時仿佛沒有邊界存在一樣,更不會有衰減效果。雙面封閉邊界效果下,邊界會像墻一樣阻擋流體,將其限定在容器內(nèi)。單向封閉邊界模式下流體容器可以在用戶定義的方向上對流體產(chǎn)生限定效果,除此以外方向的邊界效果等同于開放模式,不會對流體產(chǎn)生限定。循環(huán)邊界模式下,流體到達(dá)邊界后會從該邊界對應(yīng)的另一邊出來循環(huán)往復(fù)。
容器是流體的“工作區(qū)”,流體的大部分屬性還是由發(fā)射器來進(jìn)行控制的。在爆炸效果中,我們可以利用發(fā)射器定義爆炸的密度、速度、溫度和燃料等屬性,一般來講容器的燃料和溫度的交集產(chǎn)生爆炸或者燃燒時火焰的熱量和煙塵的濃度。影響流體動態(tài)的因素有很多,包括阻尼,浮力,渦流力,擾亂力等等。渲染效果主要是由密度和溫度來控制。燃料的作用是設(shè)定流體達(dá)到最大溫度的反應(yīng)時間或反應(yīng)速度。對于一堆火來說,燃燒中心到邊緣火焰的溫度熾熱顏色是不均衡的,因此在均衡發(fā)射流體密度的同時,擾亂發(fā)射器的溫度和燃料輸出就會在低溫和高溫顏色區(qū)間產(chǎn)生隨機(jī)效果,使爆炸火焰變得更加真實(shí)。
由此可見,如果想表現(xiàn)流體的動力學(xué)屬性就必需定義一個符合動力學(xué)規(guī)律的容器,解算過程中由Maya指定一個流體動力學(xué)解算器給這個容器,在每一個時間段中計算新的值來代替容器中的舊值。這里要說明的是在2D流體容器中,流體的貼圖屬性值在模擬計算中不能被改變。2D流體容器屬性編輯器的容器設(shè)置卷展欄里會有一個區(qū)別于3D流體容器的選項——Use Height Field(使用高度場),它是2D流體專用的??梢詫?D曲面繪制成高度場而并非平坦的平面,可以實(shí)現(xiàn)某些效果。同時開啟此項后會使渲染速度加快。
2、流體與粒子的相互配合提升特效質(zhì)量
粒子便于操控,而流體模擬更加接近真實(shí),所以在實(shí)際應(yīng)用中經(jīng)常會將粒子和流體進(jìn)行組合模擬。如果使粒子與容器之間建立約束關(guān)系,那么流體里的動力學(xué)能夠作為場來對Emitter所發(fā)射出來的粒子施加影響,基于這個基礎(chǔ),粒子就能夠受流體動力學(xué)驅(qū)動,并保持粒子的易操控性,力場還能夠與粒子相鏈接,通過粒子來對流體產(chǎn)生作用。流體則能夠用作粒子的紋理,還包括各種體積材質(zhì)(volume shaders),這樣流體的材質(zhì)特性就能夠保留下來在特效中顯現(xiàn)。通過控制粒子的方法來對速度,粘性和速度散度進(jìn)行控制,并提供了兩種基本控制形狀(球形各向同性控制和圓柱各向異性控制),而每個粒子的影響量則通過下降曲線來體現(xiàn),在具體實(shí)施控制的時候又提供了軟控制或者硬控制兩種模式,從而為整個流動提供了一種靈活的控制機(jī)制。
由于我們做的是拖尾效果,因此越接近物體本身的最初狀態(tài)應(yīng)該是紅熱狀態(tài)的氣體,然后逐漸過渡到淡煙或者黑煙,因此要在粒子shape屬性中手動創(chuàng)建userScalar2PP參數(shù)來控制粒子的自發(fā)光,同時這類特效在渲染時火焰和煙塵肯定都是一直在變化的,不會保持靜止,所以我們要由粒子shape屬性中的userScalar1PP參數(shù)時時控制流體中用于模擬流體運(yùn)動的extureTime屬性。導(dǎo)彈拖尾到后面肯定是越來越大的,因此我們還需要控制粒子的半徑,也就是particleShaper下的radiusPP屬性。
三、總結(jié)
Maya作為一款優(yōu)秀的三維動畫軟件,真實(shí)的特效模擬是必不可少的因素之一,用戶可以利用Maya中的粒子系統(tǒng)、Fluid Effects流體技術(shù)模擬出火山噴發(fā)、隕石墜落、戰(zhàn)爭爆破、大廈垮塌等等現(xiàn)實(shí)中無法拍攝或者拍攝代價過高的鏡頭,為電影制作者提供了一個實(shí)現(xiàn)想象力的廣闊平臺。雖然制作影視特效的軟件有很多款,但就特效系統(tǒng)的靈活性與成品的細(xì)節(jié)表現(xiàn)力來看,Maya的Fluid Effects流體技術(shù),特別是和粒子系統(tǒng)配合后形成的統(tǒng)一特效體系依然是特效師的首選。
參考文獻(xiàn):
[1] 姚明. Maya特效技術(shù)實(shí)戰(zhàn)完全攻略.清華大學(xué)出版社. 2016年第一版
[2] 楊桂民,張毅,劉超,劉日明. 中文版Maya特效案例高級教程.中國青年出版社. 2017年第二版
[3] 陶立陽,鄭超. Maya特效制作. 遼寧美術(shù)出版社. 2014年第二版endprint