使用PF (Particle Flow) 製作碎裂效果 by char



我們都知道用傳統分子PArray可以 製作碎裂的效果。

不過那只限於薄殼狀....



雖然我們知道有這個外掛(script)

http://www.scriptspot.com/3ds-max/scripts/fracture-voronoi




但他又很難用在PArray....只能用在Reactor上。

Reactor效 能畢竟沒有分子好

但用PF又很難做碎裂 效果。

今天就來介紹用一些Script來使PF做出碎裂效果

首先先到這裡下載Script

http://www.scriptspot.com/3ds-max/scripts/fracture-voronoi


這是一個可以讓物件做實體碎裂的Script


使用方法是:

1.按下Pick Object 點選物件

2.決定碎幾塊

3.按下Break in... 按鈕



接著我們先介紹另一位大師BOBO


可以在這找到他寫的一些PFScripts

http://www.scriptspot.com/bobo/mxs5/pflow/

裡面有很多不錯的Scripts可 以套用

在 這我們介紹Scripting Custom Chunks - The Basics 這個Tutorial

http://www.scriptspot.com/bobo/mxs5/pflow/pflow__Chunks_Basics.htm

他是個可以把物件當作分子的Script

以下只是 介紹原由~可以不用看(因為我們後面會介紹更簡單的方法^^)


OK!開始我們的練習一


1.先選個物件做碎裂

我們先拉 個圓球

到工具按 下MAXScript 接著按下Run Script

去找你剛 剛下載回來的Script



接著使用Fracture Voronoi把圓球碎成好幾塊

在這我們 碎成20好了



2.由於BOBOScript是以BOX來命名的

所以我們 必須做個重新命名的動作

將所有碎 片選起來



然後點選TOOL選單,點選Rename Objects



接著可以 點選select by name ICON(或按H)

可以看到 物件已經改名了




3.接著到Particle System 點選PF Source

打開Particle View



接著會出 現PF的編輯視窗

可以先拉 一個Standard Flow 上來

接著把Potition IconRottationShape殺掉



接著再把Birth Script拉到Birth上頭把它取代掉(出現紅線為取 代)

然後按下Edit Script



將下面的 文字copy起來

再到視窗 內Ctrl + A全選 再 Ctrl + V貼上

然後File Save起來(Ctrl + S)


on ChannelsUsed pCont do

(

pCont.useAge = true

pCont.useTM = true

pCont.useShape = true

)


on Init pCont do

(

global ChunksArray = $Box* as array

)


on Proceed pCont do

(

t = pCont.getTimeStart() as float


if t < 0 do

(

NumChunks = ChunksArray.count


for i = 1 to NumChunks do

(

pCont.AddParticle()

pCont.particleIndex = pCont.NumParticles()

pCont.particleAge = 0

pCont.particleTM = ChunksArray[i].transform

pCont.particleShape = ChunksArray[i].mesh

)

)

)


on Release pCont do

(


)


接著記得要把Speed改成Icon center out

還有Display記 得改為Geometry

然後拖曳一下時間軸~~應該就可以看 到效果了 ^^




接著你可以照你喜歡的加一下重力啦、碰撞 啦、旋轉啦

當然別忘了把原本的物件隱藏起來



下面一個例子將用更簡單的Script來達 到效果 ^^       


NEXT TUTORIAL  使用Haywood Tools Script達成PF碎裂效果