2018/05/30

The Art of tweaking Parameters 調特效參數的技巧


文 / Hammer Chen
3D模型 / Lien Ying-Te

一直以來都想寫這樣的文章。身為TD / FX Artist,每日的工作不免要調整許多參數,或許算圖引擎的參數很多,特效軟體/外掛的參數更是繁雜。以模擬火焰為例,需要很多時間模擬才能得到滿意的結果,能很有效率地調整參數,似乎是生存的必備技能。以下談幾點自己在調整參數時會用到的技巧:

1. References 找參考圖片,影片。這是做特效的第一步,先找真實的照片或影片,除了在調參數作為"寫實"的參考依據外,還可以先prime your brain,預先讓自己的腦袋對甚麼是真實的火焰有個印象,植入潛意識中,在實際用CG軟體操作時,將有意想不到的幫助。

2. Unit 注意單位。單位是特效要成功的最重要基礎,從兩個方面來看:首先,如果單位適當,比方使用兩公分樹枝燒出寫實的火焰(而不是錯誤地使用兩公里的樹枝),比較容易調出真實的火焰; 另一方面,如果固定使用正確的單位,場景回收使用,用在下個專案上會更加容易,久而久之可建立自己的特效模板。如果每個場景都不使用標準的單位,那在合併場景,重複使用參數上,就難免遇到惱人的問題。

3. Autobackup 自動備份檔案。這個步驟不管你是不是在調參數,都很重要。如果可以的話將可undo的步驟設多一點,調參數有時候會想回到前面的好幾個步驟,如果有Autobackup可節省不少時間。甚至,避免掉令人懊悔的悲劇。

4. Create a Preview 產生預覽畫面。這與步驟3有相關,如果有產生預覽的習慣,就可知道三天前的測試效果到底是如何; 產生預覽也方便比較參數產生的結果差異。

5. Faster iteration 讓每輪的測試快一點。儘量把測試的場景弄得夠小,使每次得到的回饋快一點。比方說把Grid設定在場景的重點範圍,不需要讓Grid涵蓋整個場景。這樣每一輪的測試才能越快得到結果。一旦測試完成,才把Grid放大到案子的實際需要的尺寸。

6. One parameter at a time 一次只調一個參數。如果你一次調整三個參數,比方說調整了SPF, Scene Scale與Fuel amount,你就不知道到底哪個參數對火焰的高度產生怎樣的影響。除非很有經驗,否則不建議一次調整多個參數。

7. Know how to compensate the effect 知道如何代償某個參數帶來的效應。特效最困難之處在於,參數之間不是完全獨立的,經常,調整參數A也會連帶影響參數B。我們假定把參數A調高,會讓火焰變高,可是當我們調整參數B時,參數B會讓參數A對火焰變高的影響削弱。這時候我們在調整參數B後,就要再把A調高一點點。在軟體公司把這連帶關係都自動化之前,你都必須要運用細心的觀察,做好代償的調整。最常遇到需要代償的現象是當你由低解析度的Grid調到高解析度的時候,有可能是Conservation的Quality要隨之提高。

8. Finding the right value 找到最適當的數值。想要做出寫實的火焰,或許有超過十組的參數必須要調整,比方說Grid size, SPF, fuel amount, Scene scale, solver types...等等。首先,我們必須要確認這個參數對火焰是有影響的,從預設值為起始,我會給予極端值,比方說風力設定為99999,確認對場景有影響。再來,可以從預設值的兩倍多,五倍多,或者兩倍少,五倍少開始下手。比方說Scene scale預設為1,我們可以從0.2,2,5這樣的數值下手。比較這些數值所得到的結果,就更容易找到最適參數。

9. Reset to default 沒有差異就調回原本的數值。如果發現把參數A調成兩倍,得到相同的結果,那麼就建議你調回原本的數值,不要讓整體的參數離預設的參數越來越遠,最後達到難以收拾的混亂程度。

10. By process of elimination 排除法。有時候你拿到的場景放了很多燈,很多力場。建議在調參數時儘量越簡單的環境越好,把所有的力場都先排除掉,再一個一個加進來,如此方可請楚知道每個力場的效應為何。

11. Don't over tweaking 不要過度測試參數。有時候調參數到某個程度,會發現越調越差,這時候不用擔心,因為在步驟3我們已經有備份,配合步驟4的預覽,我們可以順利地找到上一個好看的測試結果。