粒子係統(Particle System)是3DS MAX提供的一種效果和動畫製作手段,它適用於需要大量粒子的場合,具體來說比如暴風雪、水流、爆炸、煙霧,當然不限於此,有些非常複雜的場景也可以用粒子係統來實現,比如下文將詳細介紹的導彈擊毀目標的動畫。
3DS MAX粒子係統可以分成兩種類型,分別是非事件驅動粒子係統(Non-Event-Driven)和事件驅動粒子係統(Event-Driven)。
非事件驅動粒子係統比較適用於製作一般化的場景,相對來說比較簡單。就拿下雪場景來說吧,雪花的數量雖然非常多,但是所有雪花的運動規律是相同的,這種粒子係統就可以勝任這樣的場景。
而事件驅動粒子係統又稱為粒子流(Particle Flow),它的使用比較複雜,適宜於製作複雜的粒子動畫效果,比如飛機發射導彈擊中目標的過程就可以使用這種粒子係統來實現。因為飛機發射出來的導彈是粒子,而導彈噴射出來的尾氣也是粒子,這些粒子何時產生、粒子是否具有追逐目標的特性等等,都需要比較細致的控製。而這些細致入微的控製正是事件驅動粒子係統的長項,因為使用這種係統我們可以通過檢測一係列的事件來確定粒子的行為。
第一部分 非事件驅動粒子係統
實例一:煙霧效果
1、最終效果和製作步驟
首先讓我們來熟悉一下將要製作的效果。這是一個300幀的動畫,前150幀中,煙頭冒出來的煙緩緩沿直線上升,150幀時窗戶打開,風吹了進來,煙霧開始隨著風抖動。
示例場景中有煙頭、煙灰缸、桌子和窗戶。窗戶的動畫已經製作好了,它會在150幀左右的時候自動打開。
2、創建並設置粒子係統
1)啟動3DSMAX,打開麵板Create(創建)->Geometry(幾何體),選擇子類型為Particle System(粒子係統)。
2)在Object Type(對象類型)卷展欄中單擊Super Spray按鈕。
3)進入頂視圖(快捷鍵T),拖動鼠標建立Super Spray粒子係統的發射器,將其命名為“煙霧_SuperSpray”,調整位置使其處於物體“Cigarette”的位置。
現在我們看到的圖標就是發射器,它有一個箭頭,指向粒子發射的方向,煙就會從圖標所在的位置沿箭頭方向發射。
這時如果播放動畫,會看到很多小十字星號從發射器中出來沿著箭頭方向飛行,這就是Super Spray默認的效果,我們後麵需要對其進行調整。
閱讀指南 本係列教程的每個實例都提供有配套的場景文件,場景文件有兩個,一個是製作前的,一個是製作後的。你既可以直接打開製作後的效果文件察看效果,也可以打開製作前的場景,然後跟著教程的節奏一步一步進行製作。 再說明一下配套場景中物體的命名方式。初始場景中所有物體的名稱都是英文,在效果場景中會出現中文命名的物體,它們是在實例的製作過程中需要添加的。 這些中文名稱後麵有一個下劃線,下劃線後麵的英文代表這個物體的類型。舉例來說,在製作煙霧效果的這個例子中,我們建立了一個Drag空間彎曲,它在效果場景中的名稱就是“阻力_Drag”,這樣我們就可以更容易區分不同物體的作用。 |
閱讀指南 在教程中不時會出現“背景知識”的介紹,讓你對3DS MAX的設計有更深入的了解,做到舉一反三,而不至於為一兩個實例所固囿。你當然可以跳過這些內容,但是仔細讀一讀會對你的3DS MAX學習大有裨益,它能幫你跳出“知其然不知其所以然”的誤區。出於同樣的考慮,在介紹各種參數的時候,對於沒有使用的參數的功能和含義,我們也盡量作了介紹。 |
3、隨風抖動效果
現在開始添加空間彎曲影響煙霧,包括兩項內容。第一:添加Wind(風)空間彎曲,它讓煙霧隨風抖動;第二:添加Drag(阻力)空間彎曲,它的作用是讓煙霧在上升過程中速度逐漸減慢並停滯下來。
1)打開Create(創建)麵板,選擇Space Wrap(空間彎曲),並在子類型中選擇Force(力)
2)單擊Wind按鈕,在場景中拖動建立Wind 物體,將其命名為“風_Wind”,將其放到窗外,箭頭指向煙霧的方向。
3)Wind空間彎曲的參數比較簡單,隻需要調整其Strength(強度)、Turbulence(抖動)等參數。由於窗戶是在150幀的時候才打開的,因此我們要讓空間彎曲“風_Wind”在150幀的時候才產生作用,具體來說就是設置Strength參數的變化。
在動畫控製欄中單擊Auto Key(自動記錄關鍵幀)按鈕,拖動動畫滑塊到第1幀,單擊Set Keys(設置關鍵幀)按鈕(注意不要將它和Set Key動畫記錄模式按鈕混淆),在Modify(修改)麵板中設置Strength參數為0。
拖動滑塊到151幀,將Strength參數調整為0.03。然後拖動滑塊到150幀,調整Strength參數為0。完成操作之後播放動畫可以看到Strength參數在前150幀保持為零,到151幀是突然變成0.03,這就是我們需要的效果。
4)現在將空間彎曲和粒子係統綁定起來,也就是讓空間彎曲作用於粒子係統。單擊Bind To Space Warp(綁定到空間彎曲)按鈕,然後單擊粒子係統“煙霧_SuperSpray”並拖動鼠標到空間彎曲“風_Wind”上釋放鼠標。
4、減速效果
現在我們來創建一個Drag(阻力)空間彎曲。
1)在Create(創建)麵板的空間彎曲中單擊Drag按鈕,在場景中拖動建立空間彎曲並命名為“阻力_Drag”,你可以將它放在任意的位置,因為它的作用效果和位置無關。
2)設置Time On和Time Off分別為0和300,也就是和動畫長度相同,在整個動畫過程中這個空間彎曲都會起作用。選擇阻尼方式為線性阻尼並分別設置X、Y、Z為1%、1%和2%,由於煙霧比較輕盈,因此空氣的阻尼效果顯得比較小,因此這裏設置的參數也相應地比較小。
----------------------------------------
----------------------------------------
背景知識
關於Drag空間彎曲
Drag空間彎曲主要用來製作粒子運動的“阻尼”效果,“阻尼”效果可以按照線形、球形、圓柱形三種方式賦予粒子。Drag空間彎曲特別適合於模擬運動物體在大氣或者水中受到阻力影響逐步減速的效果。
3)使用和前麵綁定空間彎曲“風_Wind”完全一樣的方法,將粒子發射器和空間彎曲“阻力_Drag”進行綁定,綁定完成之後在粒子發射器的修改麵板中將可以看到有兩個空間彎曲對其起作用。
5、煙霧材質
現在如果進行渲染,是看不到預期效果的,我們還需要對粒子係統發射出來的粒子的外觀進行設置並賦予其煙霧材質。
1)選擇粒子發射器“煙霧_SuperSpray”,進入Modify(修改)麵板。在修改器堆棧中單擊Super Spray條目,這時可以再次看到粒子係統的參數。
2)在Particle Type(粒子類型)卷展覽中的Standard Particles(標準粒子)下選擇類型為Facing。
3)現在來調整粒子的大小。默認的情況下,粒子的大小是統一的,並且在其生存期內都不會改變。但我們需要的效果是,粒子產生之後逐漸變大,然後漸漸消失。
我們可以通過設置Grow For(生長)和Fade For(消失)參數來形成這種效果。另外為了防止粒子大小同步變化,我們還需要為尺寸添加一些隨機的變化。打開Particle Generation(粒子生成)卷展欄,在Particle Size(粒子大小)中對上述參數進行設置。
4)現在開始製作材質。對於製作煙霧效果而言,我們應當使用柔和的、具有半透明效果的材質。由於前麵我們使用了Facing形式的粒子,因此一個圓形漸變並且邊緣透明的材質就可以實現這種效果。
A.打開材質編輯器(快捷建M),選擇一個空白樣本球,設置其Diffuse(散射)顏色為純白色,Specular Level(反射級別)和Glossiness(光澤度)為0。
在Self-Illumination (自發光)中選擇Color複選框並設置自發光顏色為灰色(灰度144),這樣得到的煙霧是灰色的。如果你想調整煙霧的顏色,設置自發光顏色就可以實現。
在Shader Basic Parameters(著色器基本參數)中勾選Face Map(麵貼圖)。
B.打開Maps(貼圖)卷展欄,單擊Opacity(不透明)貼圖通道按鈕,從彈出的Material/Maps Browser(材質/貼圖瀏覽器)窗口中選擇材質類型為Gradient(漸變)。
在該貼圖的參數中我們隻需要在其Gradient Parameters(漸變參數)中設置Gradient Type(漸變類型)為Radial(圓形)就可以了,其他參數不需要調整。