Showing posts with label VFX. Show all posts
Showing posts with label VFX. Show all posts

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的預覽,我們可以順利地找到上一個好看的測試結果。

2014/03/24

Tutorial: water stream with Thinkbox Frost


 Hammer Chen

In this tutorial, you will learn how to use very simple particle setup and Thinkbox Frost, to create realtime water stream. Of course this is not as accurate as Realflow but can be useful for some conditions.

Video tutorial with subtitle:


0. Scene setup:
The basic idea is to use Superspay as a particle source, with proper spacewrap binding, the particles can move more or less like water. Then we use Frost to create water mesh from Superspray.

1.  Create a Superspray in your scene:

2.  Create a Drag force:

3. Create a Gravity:

4. Create a wind:

5. Bind all the forces (Drag, gravity and Wind) to your superspray. Create a Frost and pick up the Superspray. Change the type to "Anisotropic"

6.  Frost: tweak around those parameters till you get good results. That's it! sooooo easy ; )

2013/07/25

特效TD的工作準則


作者:Hammer Chen

一直以來都想要寫這樣的文章。不與技術直接相關,不受限於特定軟體,不隨著時間改變的工作準則。因為在從事電腦特效工作的這幾年來,發現專案執行最大的瓶頸往往不在電腦硬體的效能,亦非軟體的版本,反而是許多非技術性的觀念往往影響了整個進度的順暢。以下整理出自己累積的要點,與讀者分享並時時提醒自己,在遇到特效製作困難,如何才能在短時間解決問題。

2013/02/26

Thinkbox Frost tutorial參數調校



作者:Hammer Chen

利用3ds max內建的粒子系統也可以調出寫實的流體,不一定要用Realflow,因為RF需要透過外掛導入模型與粒子,對於彈性的調整來說是很不方便的流程。這篇文章介紹用Thinkbox Frost吃Superspray產生寫實的流體模型。介紹Frost的關鍵參數使用:


2012/10/29

Field3D開放式Voxel data檔案格式



Field3D是一個開放式的函式庫,用來儲存voxel data。它提供C++ classes,可以用來處理記憶體中的資訊,以HDF5處理的檔案格式,允許C++ objects可以從硬碟中寫入與讀取。

這個函式庫與檔案格式具有彈性及延伸性:彈性是它可以支援不同類型(heterogeneous)的資料結構、位元深度、位移與貼圖以及metadata ,全部儲存在單一的檔案裡面。當你需要延伸功能時,可以透過外掛或是class factory架構,允許新的資料結構或是mappings與file I/O routines添加進來。

Field3D是專為視覺特效的大尺度需求所研發的。Dense 與 MAC-fields會處理基本的fluid simulation 與 volume rendering所需的工作。當記憶體變成了空間使用上最佳化的限制因子時,就會提供sparse fields,也就是out-of-core/dynamic載入的機制。也支援程序性的fields,這可以用在可交換的voxel-based fields。

這程式碼最初是由Sony Pictures Imageworks所研發,後來有三家不同的公司內部檔案格式所取代,用在儲存voxel資料。這格式目前用在幾個地方:volume rendering與 fluid simulation 最為原始資料的架構與格是,在Houdini中這可以最為voxel的基底,以及levelset編輯工具。

[相關資訊]
迪士尼釋出BRDF Explorer

夢工廠開放OpenVDB---體積檔案格式

FumeFX 3.5新增功能完整介紹


2011/12/11

BetterWind參數調校


以Particle Flow搭配BetterWind設定粒子動態, 搭配Krakatoa 2.0算圖的效果.

作者:Hammer Chen

Betterwind是由Grant Adam先生所寫, 由粒子特效大師Allan Mckay提供的意見所開發出來的, 可以用來改善3ds max內建的wind呆板,單調, 不寫實的問題. BetterWind導入了Keep Distance限制粒子彼此之間的距離, 以及布朗運動fBm Noise多種的noise類型來控制風的亂數, 因此可以做出更複雜的風吹效果. 可以應用在許多動畫特效上面, 例如火焰飄散的煙灰.

感謝由Grant Adam先生提供的場景的檔, 我們來看在官網上面的那顆球特效是怎樣做出來的. 首先要勾選Keep Distance, 粒子才會形成特殊的形狀 距離就決定了球的大小; 第二重要的參數就是Scale=100, 對效果影響甚大.

2011/05/10

Smoke, fire and explosion火焰,煙霧,爆破特效參考


時候我們在調特效的時候追求寫實的效果, 但是什麼是真實呢? 像FumeFX這種有上百個參數如果隨意排列組合調出來大概也調不出來, 所以還是要以真實的照片當作參考; 可是有時候並不是軟體使用的人笨, 而是軟體本身的侷限就無法達到完全真實.

如果仔細查看真實的火焰, 煙霧或是爆炸的照片就會發現, 真實世界裡面的特效都具有無窮鏡的細節, 這些細節幾乎是無法用CG電腦模擬出來的; 或者是說, 為了追求那樣的細節, 必須要花費上百G甚至上千T的快取資料來產生該有的細節.

以實用的角度來說, 只要達到讓人信服的細節就夠了吧. 例如上圖筆者以約2GB的cache用PhoenixFD產生的煙霧, 爆炸. 要有更多細節其實也不是不行, 但是需要更多的快取, 更久的模擬時間, 考驗大家的耐心了~

這邊整理了收集的真實煙霧, 火焰, 爆破的照片當作日後製作上的參考:

Smoke 煙霧























fire 火焰



















explosion爆破



























FumeFX做出的效果










Phoenix FD做出的效果



[相關文章]