Pages

2020/07/26

VolumeActivate配合VolumeBreak製作摔盤子


文 / Hammer Chen

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

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



1. 第一步利用Obj To Particle將三個盤子的幾何體吃到tP裡面

2. 接著讓所有粒子受到重力影響

3. 盤子(object)的粒子群組進行預先切割,利用VolumeBreak1,進入到frag群組。注意到這時Active = 0.0%,表示object群組完全沒有轉換到frag群組。

4. 這是關鍵步驟。利用SC op偵測出盤子與地板的撞擊點,當撞到地板的盤子(Coll Particle A),是在盤子群組(object, In Group)當中,同時又與地板撞擊(AND),Coll Floor,就送出一個1值,啟用VolumeActivate。

這個VolumeActivate的位置在盤子撞擊點(Position),然後啟動的是VoluemBreak1這個切割oP,換句話說就是object=>frag的這個轉換式變成了100%。細節可參考cebas 官方文件

5. 最後這步只是為了增加細節而已,非常簡單。讓撞破的盤子(frag)經過了某些時間(15~25)後,就再進行二次碎裂(VolumeBreak2),這次我們直接讓其完全啟用(Activate = 100%),代表frag群組完全轉換到more_frag群組。然後隨機方向發射(Velocity)。


最終效果

2 comments: