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