tyflow提供各式力場,但都不如用PhysX的球體去推擠其他剛體來的效果更加真實。我們可以產生球體使其隨時間而變大來擠壓其他剛體。方法是添加Scale op,Timing設置為Continious,Scale設置為Relative multiply。將Scale value設置為150%。這樣球體就會隨著時間越來越大。但也不能讓它無限放大,因此在最後添加Delete op - Age。
2025/03/05
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。
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
2025/02/18
tyflow raycast glass shattering 投射粒子在物體上
前一篇Glass Shattering with tyFlow玻璃碎裂特效part2,玻璃碎裂的中心是用一個sphere幾何體來控制,能不能改成用程序性的產生,槍指哪裡就在哪裡產生碎裂點呢? 答案就是tyflow的raycast operator。
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
2025/02/13
2025/02/09
2020/10/04
2020/07/26
2019/01/06
Subscribe to:
Posts (Atom)