2025/03/16

tyflow Multifracture調整成voronoi的切割效果

 

tyflow的Multifracture雖然切割效果很真實,但有時會希望更像voronoi式的切割,可是斷面不是直線的,要有扭曲的隨機效果。以下是關鍵參數:






2025/03/14

Chaos Scatter - Preserve model rotation 維持vdb的旋轉方向

 

從Houdini或是其他軟體到3ds max導入的vdb常常會有旋轉方向不正確的問題,不管是z-up或是y-up。

2025/03/10

tyflow Rotation - Align to shape mesh只修改粒子的Pivot

 

tyflow的Roation op - 當不勾選Affect particle shape orientation時,就相當於3ds max的Affect pivot only。可以使用Align to shape mesh來改變軸向,這個功能可以做很多事,比方說使用Voronoi op要把物件切割成木片時,軸向變得很重要。但又不想調整原始幾何體的軸向,就可用這個方法。

PhysX Shape - Hull Size Multiplier碰撞殼的尺寸調整

 

PhysX的碰撞,為了提升計算效率,會透過原始幾何體的Hull殼來計算。在某些情況,比方說碎裂的幾何體,碎片的Hull彼此相互交錯會造成一開始時就爆開。在Hull的Size multiplier中調低可避免Hull交錯的問題。

tyflow Element Fracture 根據元素拆分

 

以前有個maxscript叫Detach Elements,可以把幾何體中的每個Elements拆分成一個一個獨立的幾何體。tyflow的Element Fracture op做的是一樣的事。

使用的時機: 物件有預先切割,比方說磚塊構成的房屋,由單一幾何體構成。但你想要拆成一塊一塊磚塊,這時就可用Element Fracture。

2025/03/09

Phoenix Simulation Speed模擬時間的最佳化

 

Phoenix在模擬時會記錄每個階段所花費的時間,統計放在Simulation Speed選單中。我們可以從這些數據來判斷要修改那些參數使來最佳化模擬的時間。

以上是模擬煙霧所得到的資料。佔26.1%最高的是Fluidity,這是在Dynamics捲展覽中的參數,可降低Quality來加速模擬。

再來佔第二高17.5%是Transport (Advection),可調整的是Steps Per Frame,這也是影響模擬結果最重要的參數之一。

其他的因素都沒有上述兩個影響那樣大,例如Vorticity或是其他Gravity與Buoyancy的影響都很輕。

當然實務操作上首先還是會先調整Voxel SizeGrid dimensions這兩個屬性。

2025/03/07

tyflow and phoenix integration配合,產生煙霧

 

tyflow用於剛體,布料,粒子相當有用。但是如果是煙霧火焰還是需要其他軟體的幫助,例如Phoenix FD。

2025/03/06

tyflow fragment on spot在爆炸時才對物體切割

 


如果是玻璃,預先碎裂看起來就不好,所以要在爆炸衝擊時才進行切割會比較好,該怎樣做呢?

首先,不管是用Multifracture或Voronoi Fracture op,在作用時間Timing都設置為Continous持續計算。

然後在Fracture points的Procedural points設置為Particles,這裡選取另一個tyFlow002 (用作局部切割的粒子)

這是tyFlow002的設置,首先產生種子粒子,然後Spawn 5~10個粒子,使其壽命只有1 frames,然後Simulation group指定為1。這樣做為切割的粒子。



2025/03/05

tyflow: Scale by Proximity 根據距離縮放粒子

 

這個效果常常見於Motion Effect。以前用thinkingParticles很複雜但是用tyflow卻能輕易做到。

先導入幾何體,然後用Face fracture切割成一個一個面。添加Scale op,在Scale中設置為Absolute。勾選Multiply by proximity。在Objects清單中添加場景移動中的球。 這樣球移動那哪裡,面就會縮小放大。 勾選Invert則效果相反。


tyflow Scale - Relative multiply 用球體當作爆炸的力

 

tyflow提供各式力場,但都不如用PhysX的球體去推擠其他剛體來的效果更加真實。

我們可以產生球體使其隨時間而變大來擠壓其他剛體。方法是添加Scale op,Timing設置為Continious,Scale設置為Relative multiply。將Scale value設置為150%。這樣球體就會隨著時間越來越大。但也不能讓它無限放大,因此在最後添加Delete op - Age。




tyflow Hull mode - Compound 剛體碰撞的近似幾何體

 

PhysX的剛體計算會透過近似的幾何體進行 - 稱之為Hull。這個Hull可以是球體,方塊或是原本的幾何體,或是...合成出來的近似幾何體 Compound。


Hull的選擇很重要,它會影響模擬的速度與精確度。不夠精確會讓碎裂的物體在一開始就爆裂,不穩定。而 Compound是很不錯的Hull類型,它以Grid的模式去近似原本的幾何體。所以Slice Length越小,越精確。

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 可以用來產生非常寫實的子彈射中玻璃的碎裂效果。本篇介紹其中的關鍵參數。