2025/03/04

tyflow PhysX Shape Sticky starting penetrations讓碎裂一開始不爆掉

 

用Voronoi Fracture或Multifracture op所切割的物體,很容易在一開始模擬時就爆開。在tyflow中的PhysX Shape中的Start penetrations起始穿透的選項中有提供Sticky starting penetrations,可以避免碎片在一開始就爆開。因此這個選項預設是啟動的。

當然這跟你剛體的Hull精確度有關,大部分情況Hull的類型不會很精確,有穿透是正常的。

如果想要一開始就計算所有的鋼體穿透,就選Process all penetrations。

tyflow Property Test - Neighbor count 選取在距離內的粒子

 

tyflow Property Test - Neighbor count可以用來選取距離某粒子內的粒子。以此為例就是我們希望靠近子彈粒子的玻璃粒子再次碎裂,就可利用之。

使用Property Test op,Test type選Neighbor count,在Test value選Greater than,Value 為0。根據實際需求,在Search value中設置距離範圍。

這個op的運作方式很反直覺,Youtube上有講師花了一支影片解釋為什麼要這樣設定。不過不管就是如上設置就能以特定範圍內選取粒子了。(相對應的op是Surface Test,只是Surface Test只能用在geometry不能指定粒子)。


2025/03/02

lightning tyflow grow製作閃電效果

 

tyflow grow operator可以做出生長或是閃電的效果。 可以產生這樣的mesh之後,然後取其mesh,做出簡易的閃電動畫。


生長的效果是透過Grow中的Algorithm: Diffusion-limited aggregation做到的。這個只能產生"生長"的粒子。所以後面在接上Spline Paths產生實際的spline。當然也可以用tymesh產生mesh。

2025/02/26

recursive fracture tyflow 重複切割

 


tyflow是基於particle flow的概念,所以基本上是一個事件傳到另一個事件的event-based particle system; 相較於thinkingParticles則是rule-based的。這兩種系統各有各的優缺點。

2025/02/23

Fracture at contact points tyflow根據碰撞處進行碎裂

 

又是跟上一篇有關的內容。如果玻璃被掉到地上,要產生寫實的碎裂,在與地板接觸的位置應該有比較高密度的碎片。因此能根據接觸點來切割幾何體便很重要。

利用Birth Objects先把Box導入到tyflow中,tyflow預設便會計算地板碰撞。當PhysX Collision觸發到下一個Voronoi Fracture時,其Voronoi point mode切換成Point Cloud。

而Point cloud center則設置成At PhysX contact points, 這樣便會在Box與地板相接處的位置產生一群粒子,再利用這些粒子切割Box。





2025/02/21

At PhysX Contact Points 在撞擊點產生粒子

 

這篇是前一篇的補充。如果要在撞擊點產生Point Force,我們必須要利用At PhysX Contact Points這個參數。

Spawn operator中,Spawn mode選擇At PhysX Contact Points,這樣Point Force產生的位置才會在正好在子彈撞擊處。由上圖可看到Point Force的Gizmo顯示其範圍。


tyflow Point Force 點狀力場

 

繼續談玻璃碎裂特效。tyflow有一個operator很方便 - Point Force點力場。就是根據粒子產生力場,很實用 (不知道為何thinkingParticles沒有類似的功能?!)。

在撞擊的位置產生Spawn一顆粒子,然後產生Point Force。在Point Force中要指定受影響的玻璃碎片群組 - Simulation groups  - 2。 產生子彈撞擊的瞬間衝擊力。

2025/02/20

GPU Aid Simulation - Phoenix FD 用GPU加速模擬

 


Phoenix FD的Fire Smoke Simulator的Simulation選單中有個選項是Use GPU to Aid Simulation。一直很好奇這到底能加速到甚麼程度。實際模擬煙霧效果,勾選大約能減少5%的模擬時間,當然這跟你顯卡GPU性能有關,我的是RTX 1000 Ada Generation Laptop GPU。這只能對PCG方面的模擬進行加速,希望未來開發團隊能擴展到其他功能以及液體的模擬。雖然我不抱太大期望 (笑)


2025/02/19

tyFlow Multifracture - Radial 關鍵參數

 


tyFlow Multifracture - Radial 可以用來產生非常寫實的子彈射中玻璃的碎裂效果。本篇介紹其中的關鍵參數。

2025/02/18

tyflow raycast glass shattering 投射粒子在物體上

 


前一篇Glass Shattering with tyFlow玻璃碎裂特效part2,玻璃碎裂的中心是用一個sphere幾何體來控制,能不能改成用程序性的產生,槍指哪裡就在哪裡產生碎裂點呢? 答案就是tyflow的raycast operator。

Procedural texture程序性紋理用於雲朵或地形

 

Graident Ramp紋理可以產生用於地形或是雲朵的圖案。

2025/02/16

Phoenix FD Storage Quality & File size 壓縮品質檔案大小

 

因為官方網站上沒有相關資料,因此做瞭這個簡單統計,看看Phoenix FD的快取檔案中儲存品質(Storage Quality)與最終模擬產生的快取檔案的關係。


Storage Quality

File Size (Mb)

減少至原本的%

14

245

 -

13

211

86.1

12

178

72.6

11

146

59.5

10

116

47.3

Phoenix FD預設的Storage Quality為14,我模擬了煙的效果共16 frames產生的AUR總快取大小為245Mb。當Storage Quality設置為13,檔案大小降至211Mb。大約為原本的86%。當品質降至10,檔案大小甚至可降至原本的一半以下。

渲染出來的品質整體來說幾乎沒有差別,只有在很細微的地方有差異。可以用jpg壓縮的狀況來比擬。





2025/02/14

Glass Shattering with tyFlow玻璃碎裂特效part2

 


續上一篇,講完子彈發射後接著講玻璃碎裂的部分。會比子彈困難但也更有趣

2025/02/13

Glass Shattering with tyFlow玻璃碎裂特效part1

 


用tyflow可以製作出非常寫實的玻璃碎裂特效。其Multifracture operator碎裂的效果甚至比thinkingParticles的碎裂更加精細寫實。這篇我們先探討子彈的設置。

2020/10/04

用V-Ray 5的VRayDirt做舊化效果

 



文 / Hammer Chen; 

模型 / Lien Ying-Te

V-Ray 5的VRayDirt紋理增加了streaks選項,可以做出程序性舊化條紋效果。這裡寫一篇簡單的教學。

2020/07/26

VolumeActivate配合VolumeBreak製作摔盤子


文 / Hammer Chen

這個部落格已經很久沒更新了,決定要來把一些重要的場景檔拿來做教學文件。這個例子裏面,利用thinkingParticles的VolumeActivate Node,讓在物件(盤子)與地面(floor)碰撞的點,程序性地產生碎裂效果。用VolumeActivate配合volumeBreak Node的優點是 - 不是整體碎裂,而是根據撞擊點觸動(activate)碎裂,可以產生更寫實的碎裂動態效果。

整體群組流程是:
object(盤子)=>frag(第一次碎裂)=>more_frag(第二次碎裂)

2019/01/06

利用thinkingParticles製作破碎的玻璃杯教學

 
文 / Hammer Chen

本文將介紹常見的玻璃杯碎開的效果,利用thinkingParticles計算碎裂與rigidbody。

1. 首先,場景有一個玻璃杯,一個地板。四個dummy,其中兩個dummy用來控制球的速度方向。另外兩個靠近玻璃杯的dummy用來產生粒子(稱為impact),我們在之後的步驟會利用impact的粒子來控制volumeBreaker對玻璃杯的切割。

2018/12/26

如何回報軟體bug

文 / Hammer Chen

沒有任何軟體是完美的,尤其是新版的推出,往往會發現新的bug產生。遇到bug令用戶困擾,但如何回報這個錯誤,有幾點要注意:

用thinkingparticles做random horizontal的速度

做粒子特效的時候,水平隨機速度(random horizontal)是很常見的設定。例如shockwave或blast都需要這樣的速度類型。