Pages

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。