2007/06/07

Crowd / Flocking in Maya

找到一篇跟Fake3D學長教我的一樣,果然是英雄所見略同....
不過不管哪一種,對我這個Maya新手而言,實作起來都不容易...

以下轉錄自http://bbs.cgblog.com.cn/thread-19155-1-1.html

maya particle instance 動畫

maya中做particle instance的動畫主要有兩種方式,

一種是直接instance帶Animation curve的物體,
這種方式的優點在於可以對particle instance物體做motion blur.
但對物體的動畫控制能力很弱.當物體要實現多種多樣的動畫時,就非常麻煩了,
可能會用到用expression控制trax.
我一般只用在大群昆蟲飛舞,動畫單一,要渲motion blur時使用.

第二種方法是把動畫物體的第一幀都bake出來.如物體有30幀動畫,那麼就bake成30個物體.
用object index來控制物體的動畫.這樣還可以根據條件讓物體做出不同的反應.
非常方便,這種方式是最常用的.
缺點就是因為前一幀和後一幀都是顯示的不同物體,所以不能做motion blur. 只能在後期中加...
但這種方式是最常用的.

其實還有一種用得較少的方式,用sprite方式,,製作很複雜,只適合particle數量巨大的群體動畫

先對物體的每個動畫做立體360度的渲染(如果有一個24幀的動畫,
那最後要渲出24x360x360幀畫面.=_= 很多啊.
當然也可以不用這麼精細,比如相隔5度渲一張就是24x120x120 也不少啊.)
然後用sprite的方式,根據每個sprite的世界坐標和camera的世界坐標相計算,
得出sprite相對於攝像機的角度,然後再求出對應的那幀圖片.
超級麻煩..而且會因為camera的遠近在透視上會發生點小問題
(數量多時也看不出來,近景的,可以instace幾個實體模型.最後合成上去).
不過這是數量巨大的群體動畫的惟一解決辦法.

No comments:

Post a Comment