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) 煙火的組成圖:
(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
- 算圖,可以發現,原本是流體容器內的渲染效果,渲染到每一顆粒子上去了
Leave a Reply