MAYA 學習筆記 006 – 傳統 Particle 系統

本筆記參考課程:  Maya粒子系統基礎教程

課程大綱


第一篇、選單:建立、碰撞、替換、 Goal

第二篇、算圖:硬體算圖、軟體算圖

第三篇、剛柔體:剛體、柔體、彈簧

第四篇、Effect 選單:火煙電、曲線、曲面運動

第五篇、Field   九大力場

第六篇、結合Fluid & Particle


第一篇、功能與選單

1. 發射器

(1) Max/Min Distance 發射範圍 Min 是最小半徑

其內「沒有粒子」,Max是最大,其外「沒有粒子」

(2)如果是物體發射:

Normal Speed 之正負,決定了是由 Normal Vector 的正或反向發射,數值決定法向速度

Taggent speed 決定切線速度

2. particelshape 節點屬性設定卡,下面的 Render Attrib 可以調整要展現的粒子基本型態

(1) particleShape

max count 最多發設幾顆粒子

Die on Emission Volume Exit 體積發射是否存活於體積之外?

spread =1 時 擴散是180 度

(2) 如何讓多個發射器發射同一套粒子(降低解算負荷)

Relationship Editor -> Dynamic Relationship Editor  

把不同發射器指派到同一套粒子

3. 粒子替換

Particel -> Instancer 

把粒子替換成模型、圖片等物

選取模型 →  選取粒子 → 執行 Particle > Instancer  即可替換為該模型。直接修改原模型,則替換的那些物體也會跟著改變。

4. 替換多個模型

  • 先選取多個模型,再選取 particle,執行  Particle > Instancer 口 ,打開詳細選單(當然,最好先reset)   (如果場景內的粒子不好選,可以到大綱去選)
  • 然後可以看到 instance object 列表內有多個模型,模型名稱之前都有一個編號,即 object index 
  • 勾選 allow all data types →  Create,可看到ParticleShape內,增加一個 PP Attributes,並為此撰寫一個隨機表達式,令此參數 = rand(0,N); 
  • N 是模型種類 例如2 種模型 N=2
  • 最後將 Object Index 的來源指給此參數,即可控制這一份替代物的 Object Index 為隨機,即可控制對象未隨機的不同模型了
  • 完成後若還要再增加新種類的模型,到屬性編輯器 找 instancer 節點的選項卡,把替換的物體新增上新模型,記並修改rand 範圍

5. 體積發射類的粒子

  • 如果需要指向,除了 Direction 要修改,還需要調高 Along Axis 參數,才會沿著設定的軸向跑

6. Particle 繪製粒子工具,手動新增粒子

  • 執行 Particle Tool 可以繪製粒子,若按 口 ,會跳出 Tools Setting
  • 裡面有些進階工具,例如一次畫好幾顆粒子(當然,半徑為零的話則永遠只看得到一顆)
  • 未按下 Enter 前,都不算產生一套粒子,可以按 delete 依順序刪除剛剛生成的粒子、按 insert 鍵還可以調整其中單一顆粒子的位置
  • 不勾選 sketch particle ,則滑鼠移動時也不會生產新粒子。
  • 勾選的話,則滑鼠只要拖動,就會不斷的生產新粒子。
  • 下方的 sketch interval 是生產間距
  • 注意!若 Ctrl+D 複製了一套繪製的粒子,該複製品是不會受到 Field 作用的,請選取複製品,執行 [Dynamics] Particles->Connect to Time,該套複製品才能跟 Field 產生交互作用

7. 也可建立粒子陣列。勾選 Create Grid

  • with cursor ,就是用滑鼠點兩個點,依據此兩點生成一個四邊形,此兩點為四邊形的的對角,四邊形構成一個粒子的方陣,粒子間的間距則依據 particle spacing
  • with text filed 則是依據下面輸入的數字來建立,下面也是要輸入兩個點的座標,此兩點將會是新方陣的對角
  • 其實兩者都可建立 3D 粒子方陣,只是輸入數字來建立3D方陣上比較容易建立的準確點

8. 綜合應用

  • 可建立粒子方陣後,粒子替換為士兵,就是非常漂亮的軍隊方陣了!或是坦克大方陣!
  • 技巧:方陣建立後,要指定特定粒子替換為特定坦克的話,除了”新增 PP Attributes 並指定 Objects Index 給此atttribute “之外,還要記配合 Component Editor,選取遇指定的那些立子後,再editor 內首動修改該 PP attrubutes 的值
  • 若需更複雜之自動變化則須搭配 expression or MEL

9. Uniform 場

  • 影響粒子均勻的做某種運動
  • 不過,如果使用任何 Field 影響粒子後,粒子皆會保持運動慣性,即使將任何 Field 的影響再次減到零也沒有用,此時必須調整
  • particleShape 的 Conserve 參數,此為慣性保持程度,調低後,粒子才會漸漸運動停止 (若調為零,責所有運動都由Field 來完整控制)


第二篇、算圖

10. Render Attributes

  • multi point 每個立子周圍都會再有一些粒子
  • Shpere 球體
  • Sprite 永遠面向螢幕的貼圖
  • Streak 粒子繪有頭有尾,特別適合 火星、下雨
  • Multi Streak  類似上面
  • Numeric 只能在場景內看,算圖不會算出,每顆粒子都繪有編號
  • 有幾種後面有 (s/w) 表示使用 software render,其它的都需用 hardware render,或 mental ray 可通吃
  • 或用 Window->Rendering Editors->Hardware Render Buffer 也可快速看,而不必切換算圖引擎
  • 型態若選 Cloud(sw) ,則可指派 Partcle Cloud 材質給它 (盡量不要直接改預設,新增一個新材質比較好)
  • 在 mental Ray 中渲染硬體類粒子時,支援「運動模糊」(Motion blur)。 不支援「spriteNumPP」;因此,無法基於每粒子指定不同的精靈。mental Ray 和 Maya 硬件渲染粒子的方式可能稍有不同。


第三篇、剛柔體

11. 柔體

選取模型後,值型 Create Soft Body

去看大綱,可以看到該物體下轄一個 particle 系統,選取它,可以看到場景內的模型,其節點處都有一顆粒子,然後就可以控制粒子來控制模型變化,例如,加個擾亂

12 . 補上 Field 與物體的關聯

記得要先選取粒子、然後建立 Field,不然 Field 不會作用在粒子上。 若先建立Field 才建立物體,如何補上作用力關聯?請使用動力學關係編輯器:

Window->Relationship Editors->Dynamic Relationships

  • 左邊選取物體(打開層級確實的選取該物體,而不是選群組),右上方勾選 Field
  • 則右邊欄位就會列出某某物體可以連結的 Field 有哪一些?
  • 白色就是還沒連結關係,如果此物體已經有某 Field 作用其上,則該 Field 會是反白選取的狀態。
  • 依據需要去 選取/去選取 所需要的Field,即可
  • 法二、同選要關聯的場跟物體,執行[Dynamics] Fields->Affect Selected Object(s)

13. 粒子初始態紀錄

[Dynamics] Solvers->Initial State -> Set for selected

14. 選取 粒子/柔體  +  模型

[Dynamics] Soft/Rigid Bodies ->Create Springs

  • 會使他們之間有彈簧效果,嗯… 彈簧的其中一方一定要是 粒子/柔體。
  • 若選 模型 + 粒子,然後建立彈簧的話,要小心,模型的每一個節點都會跟粒子建立彈簧,所以魔形若複雜起來,則彈簧型為可能會天下大亂,要嘛就是模型那邊切換到錨點集別,然後只建立給幾個毛點就好

14. 如何在一套粒子裡面選取部分粒子?

  • 先在大鋼內選取該套粒子
  • 滑鼠移動到空白處,按下右鍵並稍微拖曳,然後選 Particles ,即可進入 Particle 級別,  接下來就可以去選取要選的部分粒子了

15. 主動剛體、被動剛體

  • 主動剛體會受到動力學影響 (主要就是場作用)
  • 被動剛體則不會,它就是被動的帶來碰撞事件與效果罷了
  • 不要對主動剛體加上關鍵影格,可以觀察主動剛體的屬性,全部都是黃色的,表示被關聯了。
  • 應使用各種動力學的方法來使主動剛體進行運動。
  • 若用 Ctrl+D 複製主動剛體,則它們的剛體節點會共用同一個。

16. Cache

選取主動剛體or粒子後,執行

[Dynamics] Solvers->Memory Caching -> Enable/Disable 

儲存動態到記憶體內,然後就可以在時間軸上任意滑動。記得,修改過後,要Disable 並重新 Enable 

17. Bake Simulation

動力學滿意後,可以 Bake 它,就是把動力學轉化成 key frame,如此可以降低負荷,或是方便繼續做動畫、共享給別人…等等不同目的。

Edit->Keys->Bake Simulation 口 打開選單

首先看 Channels ,兩個可能:

  • 如果全部屬性都要key,則 All keyable
  • 如果只有簡單的幾個要Bake,則選 From Channel Box,然後選取主動剛體→ delet by type → Rigid Body ,刪除剛體、刪除場

然後播放,就可以看到純關鍵影格的動畫。不滿意其關鍵影格密度, Graph Editor 內 執行 Curves -> resample curves 修改 time step 使其較大或較小 即可修改Bake影格的密度


第四篇、Effect 選單

18. 火

(1)  可發現其 Render Type 是用 Cloud sw 做出來的

(2)  其 particleShape 下  Goal UV Set Name

  • Fire Scale  火的大小
  • Fire Speed 火舌流速  越快自然火舌就越長
  • Fire Density 火的密實程度
  • Flame Star/End Radius 生成/死亡  時粒子的半徑
  • fire intensity 火亮度
  • Fire lifespan 火的生命,相同速度時,火生命越長,火舌也越高

19. 煙

(1) 打開 口 選單,可以看到一欄 sprite image name ,可以在此給予 煙霧的貼圖(記得貼圖要放到 sourceimage)  ,

注意!MAYA預設妳給予的貼圖是序列圖檔,假如你只給一張圖,則播放後會顯是錯誤。此時請點選 Sprite particle,並到其材質(某個Lambert),找到Color,找到檔案來源下方,有一個 “Use Image Sequence” 去勾選此選項即可。

(2) 很顯然,煙霧的粒子 Render type 就是Sprite形式

(3) Sprite 是 hardware render 別忘記

(4) 可以設定 Start/End frame

(5) 建立後,就可以冒煙了

(6) smokeemiiter可以修改一些參數

  • Scale 調大小
  • Sprite Twist 可以改 sprite 圖的方向旋轉
  • 發射率、發射速度都可以調

(7) SmokeparticleShapr 可以修改一些參數

  • Extra Atrribute
  • Threshold 則是控制煙和值時不透明,調低,則煙的尾部變淡
  • Smoke Opacity 可以調整煙的濃淡

(8) 之後可以加上別的 Field

20. 煙的陰影

  • 注意 因為是粒子的 Sprite ,無論 hardware 或 mental ray , 打光是沒有用的,要用 Expression 來弄
  • 幫 Sprite貼圖 加上類似漸層透明度,下方較暗,即可達成簡單的陰影,注意不可太誇張,否則陰影不飄渺而實體化,會弄巧成拙。

21. 煙火

(1) 煙火的組成圖:

comp_FireworksTerms

(2) 名稱有注於理解屬性編輯器

(3) 屬性

  • max burst speed 煙火盛開的程度
  • max/min sparks 煙火火星數量
  • Show All xxxx 顯示噴出粒子的 ID
  • Trial 軌跡相關
  • Sparks Max/Min Trail size 火星大小

(4) 在FireworkRocketShape裡執行功能:

Clip Effect Attributes -> Edit Rocket Position 

  • Show Burst Position 是顯示爆炸位置的ID號
  • Show Lanunch Position 是顯示發射位置 ID
  • Firework Rockets 欄位是施放煙火的火箭,選擇一個火箭,然後勾選Show Burst/ Lanuch Pos Manip ,便可在場景內移動該編號的火箭,修改完畢後按下 Set Rocket Burst Position,即可儲存修改後的煙火爆炸位置。 Burst Frame  則是煙火綻放的影格

(5)同理,要修改煙火的初始發射位置則修改 Launch相關屬性

(6) Sparks Color Spread 數值越高色彩越繽紛

21. 閃電

(1) 選單內的 Creation option

  • ALL 代表選重的物體兩兩產成閃電
  • in oder 則會按照選取時的順序,產生一道道閃電,而不會單純兩兩捉對
  • From first 就是每個物體跟”第一個被選”的物體間,建立閃電

(2) Lighting 節點選項卡,Extra Attribute  標籤

  • Thickness 閃電本身的厚度
  • max sprad 閃電平滑的程度
  • Lighting Start/End 閃電的開頭跟結尾,控制閃電成長or長短
  • 兩個 Intensity 可控制發光度(不要太濃烈的話)

(3) 多道閃電,可以先設定其中一道,滿意之後,利用 Connection Editor 連結編輯器,把所有的閃電的特定屬性 跟 Lighting1 的相同屬性連結,即可。

(4) 製作閃電魔法球

如何讓閃電在一個水晶球上遊走? 先選水晶球 ,再選小球,執行:

[Animation] Constrain->Geometry

小球就會吸附至大球體上,之後小球即使運動也都繪在水晶球上遊走,再來只要設定由走的小球之間有電光效果即可。

22. 表面碎裂  Surface Shatter  (執行前一定要刪乾淨歷史、freez transform)

(1) 執行前一定要刪乾淨歷史、freez transform

(2) 執行後,可以隱藏原本的模型,新歲片跟原模型是獨立的

  • count 控制碎片數量
  • Extrude Shad 控制碎片厚度 (正值向外變厚 負值向內變厚)
  • seed value > 0 每次破碎效果一樣

(3)若破碎後還是想控制厚度,則選取該碎片,找到 Local Translate Z (Channel Box 有)

23. 固體破碎 Solid Shatter (執行前一定要刪乾淨歷史、freez transform)

(1) 跟表面破碎不同,MAYA 會自動幫破碎的物體們增添內部部分的模型,內部的預設貼圖是黃色的 lambert 可以自行修改

(2) Edge jaggness =0 平滑破碎切面  =1 最粗糙破碎切面

(3) Link to Shade 勾選的話,原模型會出現一個新的屬性叫做 Shatter ,此屬性 OFF 就會顯示原模型,此屬性 OFF 就會顯示碎裂模型,因此方便,不必再自己針對兩個模型設定顯示/不顯視

(4) 簡易砸碎動畫

  • 建立一平面,使之為被動碰撞物體
  • 建立一球體,執行固體破碎, Post operation 設定為 Rigid Bodies with Collision OFF 、勾選 Link to  Shade (注意那個 Make original surface rigid 要勾選)
  • 選取原模型跟碎裂體,加上重力場 (注意!若勾了 link to Shade 則破碎體會成為原模型的孩子,請打開大綱的層級,特地的選取所有破碎體,可別只選取最上層的群組!!)

24. 裂縫破碎 crack shatter (執行前一定要刪乾淨歷史、freez transform)

注意!必須選取錨點再執行。

  • crack length  :裂縫長度
  • rigid bodies with collisions off :此剛體的碰撞禁用

25. Curve Flow  以曲線,控制粒子的運動,達成運動流

選曲線後,執行 [Dynamics] Effects->Create Curve Flow,即可建立一束粒子流,沿曲線運動

(1) 可以在大綱內,找到 Flow_scalableCircles 群組,其下轄的那些圓環們,就是曲線上那些新出線的粉紅色圓環,縮放這個圓環就可以控制粒子流的寬窄。當然在場景內選取也是可以的。

(2) Flow 節點的屬性

  • Goal Weight 粒子是否好好的嚴格按照曲線運動
  • Locator N position 移動控制特定圓環,可以控制某一段粒子運動速度 (兩圓環之間,粒子運動的時間是固定的)
  • 控制的圓環數量不能事後調整,要建立FLOW時就設定

26. Surface Flow 使粒子沿表面運動

(1) 執行下述功能 (對 polygon 無效)

[Dynamics] Effects->Create Surface Flow

(2) 如不滿意須刪除,建議不要手動刪除,使用

[Dynamics] Effects->Delete Surface Flow

並勾選 Delete surface from particle,記得先點選 SurfaceFlow節點@大綱內

(3) 注意,粒子的發射方向,請調 Manipulator along 欄位

可以是 +/-U +/-V ,不過,有些違背常理的是, U或V 決定了發射的正反向,而 +/- 決定了粒子繪沿哪一個維度跑 =_= ,好像反了吧?是只有 2013 這樣嗎?bug?

(4) SurfaceFlow節點屬性大觀

  • Emit rate
  • Control resolution
  • Sub Control resolution,要看到則需勾選 Extra atribute 下的 Display Sub Manips。這是在每個主操作器之間,再加上子操作器。
  • VLocation ~N-1 就是主操作器的位置與間距。調整方法也類似 曲線流
  • MaxU MinU 則是控制器的長短(這樣就是控制粒子流的寬窄)
  • Max/Min Distance 則是控制器的高矮(這樣同樣是控制粒子流的寬窄)
  • Max/Min age ratio 控制粒子在哪裡死亡/出生
  • Goal Weight 同樣是是否嚴格貼合表面來運動

(5) 製作一道彩虹粒子流

  • 按照一般程序做好表面粒子流
  • 到 particleShape 內, Add Dynamic Attribute ,按下 Color 按鈕,跳出選單選 Per Particle 那一種,然後就可以看到 PP 屬性處出現一個 RGBPP
  • 之後幫此 RGBPP 指向一個新的漸層,按右鍵 Create Ramp 口,打開詳細選單後, Input U/V 皆選 parent UV (預設V為粒子年紀,表示漸層會按照粒子年紀分布,選 parent 表示要按照模型 UV)
  • 試著播放,要看模型的 UV 是否剛好符合預定走向,如果不小心垂直了,則把漸層的 Type 從 V ramp 改 U ramp 即可,或相反

(6) 效果限制

「透明水滴」(Transparent Blob)不是透明的:

啟用「透明水滴」(Transparent Blob)的著色器的「RtRefractColor」且禁用光線跟蹤器時,「透明水滴」(Transparent Blob)不是透明的。

唔…雖然看不懂功能,但是先記下來吧!

27. Render Type = Point

(1) 放大 size ,會發現場景內正方形、算圖出來為圓形

Color Accum(accumulation) 粒子交疊是否影響算圖結果,交疊越多顆,越亮,用在火焰、火星上效果好

(2) 勾選 Use Light ,並注意下面 normal dir

  • Normal Dir =1 朝向燈運動照亮,遠離燈變暗
  • Normal Dir =2 粒子前面有光就會被照亮,沒有光就會變暗
  • Normal Dir =3 與1 相反,朝向燈運動變暗,遠離燈照亮

(3) 此外,若要整體性的幫粒子加上顏色,按下 Color 後選 Object 那一種,那麼在 Render Atribute 處就會有 R G B 數值可調顏色

28. Render Type = Streak

  • Tail Fade 頭尾粗細的差異(=1 頭尾一樣粗)
  • Tail Size 尾巴長度(負值就是尾巴潮前)

28. Render Type = MultiPoints / MultiStreak

  • MultiPoints 在每個粒子周圍都會再多出一些粒子(數量由 Multi Count控制,自己的距離由Multi Radius 控制)
  • MultiStreak 類似,會在原本的流跡旁多出幾道,參數也類似

29. Render Type = Numeric  標上粒子的屬性(預設顯示粒子 ID 號碼),便於觀察

  • 在 Attributes Name 欄位,輸入想觀察的屬性,即可觀察該屬性,例如 velocity
  • 這個功能可配合 Windows > General Editor > Component Editor 的試算表列管理(每個粒子的每個屬性都在該試算表上)
  • 寫程式時非常好用

30.  Render Type =  Sphere

  • 便於觀察,例如、柔體的 particle
  • 可賦予材質

31.   Render Type =  Sprite

  • 粒子會由一張圖片取代,此圖永遠面向攝影機
  • 此圖可給予貼圖,可給予序列圖檔(記得勾選 Use Image Sequence ),預設序列圖檔的檔案編號=影格的編號。如果序列圖檔的數量與影格數量不同,請在 Image Name 處自己編寫表達式,以 frame%N(N=序列圖張數),這樣子求餘數之類的方式,讓每一個影格都可以有對應的序列圖可用。

32.   Render Type = Blobby Surface (s/w)

  • Radius 半徑(加大粒子可穿插)
  • Threshold 粒子融合程度,別一次大幅調 (只能在算圖看到,場景不會顯示)
  • 可指派材質
  • 小技巧、 凹凸貼圖預設會沿UV走向來給予凹凸。
  • 若不喜歡,可以採用投影方式給予貼圖,意即當我們指派來源給 bump 時,將該來源 as projection,此時會產生一組新的 projection+placeText3D 節點群,把 projection 節點的 Proj Type 欄位改為喜歡的投影類型

33. Render Type = Cloud

(1) 必須賦予 Particle Cloud 材質才能表現

(2) Particle Cloud 屬性設定

  • 透明度分類
  • 透明度的密度
  • blob map 透明度的比例(類似加強程度)
  • Noise =0 會最模糊
  • 如果 Noise Frequency = 0 則 Noise 也不起作用
  • Diffuse Coef 與光線反射有關 =0 就是沒光線反射
  • Surface Color 即為表面漫射出的光線,所以要跟 Color 一起配合才好

(3) 雖然有 Threshold 但是如果沒配合 Surface Shading 是沒有用的

34. 綜合 Cloud &  Blobby Surface 表現

  • 先指定 Cloud(sw) + particleCloud
  • 進到 particleCloudSG,Surface Material 給個 Ramp Shader的 Preset  -> glassry
  • 然後到 particleShape 去,提高 Surface Shading 的數值(最大為1),就可以看到 glassry 效果

35.  Render Type = Tube   類似 Streak

  • Radius 0/1 控制頭尾大小
  • Trail Size 尾巴長度

36. 碰撞

  • 注意 傳統粒子,粒子之間是不會互相碰撞的
  • 先選粒子、加選物體,執行[Dynamics] Particles->Make Collide
  • geoConnector 節點可以控制彈跳等性質
  • Resilience 彈力,可視為彈性係數 even -vaiue
  • friction 摩擦力
  • Tessellation Factor 檢測敏感度 調高效果好,調低快點計算完
  • particleShape > Collision Attribute Trace Depth 追蹤的深度,=2 就是一個影格計算兩次以內的碰撞,所以要是碰撞情況複雜點,就會穿插。
  • 動力聯結編輯器,也可調整碰撞關係

37. 碰撞事件編輯器

[Dynamics] Particles->Particle Collision Event Editor

(1) 控制粒子碰撞發生的時候,會產生啥事件,例如,碰撞時會產生第二套粒子

(2) 打開編輯器後, Object 欄位為已有的粒子們(該粒子含有碰撞事件), Event Type 就是要產生的事漸形態,例如 Emit

  • Num Particle 跟第二套粒子有關
  • Original particle die 第一套粒子是否在碰撞時消亡

(3) 注意中間有個問題:

去勾選 All Collision,才可以針對每一套粒子,產生獨立的第二套粒子,否則一個場景,就會共用同一套第二粒子。

(4) 此外 Collision Number 要自己給,自己管理編號。

38. 建立彈簧的三種方式

  • 先建立個柔體,彈簧就是一種柔體保持自己形狀的方式,粒子間會有交互作用。
  • 最大最小值,設定最大最小,在此距離範圍內的粒子才會建立一組彈簧
  • ALL 計算量最大,每個粒子間都會建立一組彈簧
  • wireframe 邊緣跟中間間才建立彈簧,配合 wire walk length ,此數值增加彈簧增加(=1 彈簧分布剛好等於網格分布,要緊鄰者才會建立彈簧, =2 就是相隔一個的粒子也會建立,一此類推)

39. 彈簧屬性(Spring Attributes)

以下節錄自 用戶手冊:

計數(Count)  ,對象中的頂點數。

管理粒子消亡(Manage Particle Death)此屬性確定彈簧節點是否需要執行 ID/折射率映射。此屬性的預設值為 True。如果用戶知道無粒子消亡,則可以將其設置為 FALSE。值為 false,彈簧節點不會執行粒子 ID/折射率映射並加快計算。

40. 果凍實作

(1) 對方塊建立晶格[Animation] Create Deformers->Lattice, STU 切分都設定為 5

(2) 大綱內選取 ffd1Lattice 晶格們,建立柔體,就會再生成一套粒子

(3) 替此粒子添加 Gravity

(4) 替此粒子與平面執行 Make Collide

(5) 初步完成,但行為很怪,因此繼續調一下 彈性係數、計算精度(Tessellation Factor) 等等

(6) 替此套粒子建立彈簧關係,播放,就會初步有豆腐感

(7) springShape 屬性

  • Stifness 彈簧硬度
  • damping

(8) 若突然天下大亂,表示計算精度不足,須增加採樣頻率,執行

[Dynamics] Solvers->Edit Oversampling or Cache Settings

提高 oversample 屬性,可以增強精確度

41. 柔體建立時

若選 Duplicate  Make Copy Soft  複製一份再生成柔體

  • 勾 Hide no-soft :隱藏原本模型
  • Make non-sooft a goal :以原本模型為目標 (就是會回復的意思,船過水無痕)

註‧試不出來,磚塊滑過去的時候,就是有粒子莫名其妙亂跑

42. Pin 約束  用在剛體之間

就好像是鋼索(鋼索中間有一關節此關節可隨意移動),約束後,其中一方需要完全固定時,可再 rigidBody裡,去勾選 Active


第五篇,Field   九大力場

43. Air 風場

(1) 物體若為其添加場作用力,物體會自動轉化為剛體(剛體就會有mass)

(2) 一些屬性

  • Magnitude 就是強度
  • Attenuation 就是衰減 (依距離衰減) =N 即 N次方反比
  • Direction 當然是方向
  • Speed ,跟 Mag 無關,所以對物體速度沒太大影響,主要是 =1 即完全跟上風場速度,大於1就沒啥意義了
  • Inherit 決定要不要被風場本身的指向影響,若去勾選,風場就是以 Direction (世界座標) 為唯一方向
  • Spread 散開情況,欲觀察請選取風場後,按下小寫t

(3) 按下t後,不斷點選那個時鐘小圈,可以切換不同屬性,並且很視覺化的調整之(切換屬性時,小圈內的指針也會動)

44. Drag 拖曳、阻力場

(1) 常用於入水受阻、風阻之類的感覺

(2) 所以最好有個”體積範圍”:Channel Box找到 Volumne Shape,設定為方塊,然後調大小

(3) 屬性編輯器內

  • Use Direction,可以設定拖曳力的方向(若垂直運動方向則不作用)
  • Speed 衰減,跟粒子的速度比,如果粒子速度小於此值,才可以發射出來,所以有粒子實要注意此值,記得要夠大

45. Gravity & Uniform

  • 一如物理學,若為重立場,其作用影響程度與m ass 無關
  • Uniform ,則場強度與作用影響程度有關
  • 所以說,Gravity 的強度代表了加速度,而 Uniform 的強度可以理解為作用力,所以 Uniform 的影響程度跟 mass 有關
  • 調整 Volumne Shape 可以介定 Field 作用的範圍,配合 Volumne Exclusion ON/OFF   場外有效/場內有效
  • Volumne  Sweep  控制場的完整呈度,越小,場越不完整 (不完整的方法要看體積場的形狀為何?)

46. Turbulence

  • Phase X Y Z 似乎是擾亂的方向但是看不出來規則
  • 內插法 Quad 更平滑

47. Newton

  • 牛頓場類似重力場,但是是點重力源,重力場則是一種地球表面的重力,是單純向下的
  • 總之,其實 Newton Field 才是真正物理學上的重力場…
  • Magnitude 若為負,就是白洞

48. Radial

  • Mag 正值為推、負值為拉,看似跟 Newton 相反,但是其實更加的…圓球化
  • Radial Type ,數值越接近 1 ,受力的物體們的運動方式就會越 Radial 分布

49. Vortex 漩渦

  • Mag + 逆時針 – 順時針
  • 軸向,當然就是角動量方向
  • particleShape 的 Conserve 參數,此為慣性保持程度,調低後,粒子才會漸漸運動停止 (若調為零,責所有運動都由Field 來完整控制)
  • 所以,加上 vortex後,將 conserve =0 ,就會不保持慣性,就會往中心掉進去
  • 上述不明顯,非要加大 Mag 或降低衰減
  • 在 vortexField節點的屬性邊集器內,Special Effect > Apply Per vertex,每個 Vertex 都可以發射場

50. Volume Axis 體積場

(1) 很強大,綜合很多場的特性,比較不物理,比較視覺化一點

[Dynamics] Fields->Volume Axis

(2)  Volumne Speed Attribute 下的一些屬性

  • Away from center 逃離中心點程度
  • Along axis 沿中心軸移動的程度 。!=0 才作用,出現一個箭頭,允許負值
  • around axis 繞行中心軸的程度。 + 逆 -順
  • Direction Speed 沿著下面的 Direction 方向的速動
  • turbulence 當然就是擾亂

51. Goal 使粒子跟隨一個目標去運動

  • 先選粒子、加選球體,執行 [Dynamics] Particles->Goal,粒子繪吸附到球體,且 particleShape 會出現 Goal Weight & Object 相關標籤 (Goal Weight 如果 =0 粒子自行運動, =1 會只吸附到物體而無其他運動)
  • 大部分的參數都可再 Channel Box找到與調整
  • 如果是粒子 要跟曲線做 Goal ,會跑到 CV 點上
  • 一套粒子可對應多個物體,看誰 Weight 高, Weight 若相同,那就會來回搖擺,而不會吸附到誰上


第六篇、結合Fluid & Particle

52. 流體跟粒子

  • 先建立一個3D容器 + 流體發射器
  • 建立粒子陣列
  • 先選粒子、候選容器,執行 [Dynamics] Fields->Affect Selected Object(s)
  • 看到粒子被流體推開
  • 加個 drag field 可以減緩

53. 用流體容器替粒子作算圖

  • 給定粒子 Cloud 類型
  • 給定新材質  Fluid Shape 生成一個新流體容器,必須要有內容才可以
  • 為了先有個數據 fluidShap 內,使用其 Preset 
  • 算圖,可以發現,原本是流體容器內的渲染效果,渲染到每一顆粒子上去了

You Might Also Like

Leave a Reply

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料