剛體破碎和Xplode應(yīng)用

【閑話】
? ? ? ?2015年,又漲了一歲。好長時間沒有編寫C4D技術(shù)文章了,不是“黔驢技窮”,而是最近把大量的業(yè)余時間用來研究中醫(yī)了。這些日子,認(rèn)真閱讀了清黃元御編寫的《四圣心源》(古文版)一書。讀半,感覺太好了,他把《黃帝內(nèi)經(jīng)》、《傷寒》等幾部醫(yī)書理論統(tǒng)一起來了,建立了一個完整的天地人“左升右降”的理論模型,解開了我讀《皇帝內(nèi)經(jīng)》里很多不明白的問題,這本書非常值得愛好中醫(yī)養(yǎng)生者一讀,等讀完之后,我會編寫幾篇養(yǎng)生感悟與大家分享。雖然研究中醫(yī),但計算機也沒閑著,翻看博客的“草稿箱”里面已經(jīng)準(zhǔn)備好的“動力學(xué)初探”半成品,都編到十五期了,而現(xiàn)在完成發(fā)布的的僅八期,后面的剛體破碎和布料還沒有談到;XFROG植物建模,僅寫完兩期,后邊的樹木和花草還未編寫完成;答應(yīng)吧友編寫的室內(nèi)外建模剛剛編寫二期半成品;角色建模和骨骼綁定還沒有著手編寫。編寫博客技術(shù)文章是我憑興趣而寫,題目和內(nèi)容很是隨意,但我堅信:有計劃就必須完成這個道理。所以,我接下來要繼續(xù)完成動力學(xué)這個系列,雖然現(xiàn)在對之已經(jīng)不感興趣了。
【目的】
1、研究物體”破碎“及插件Xplode1.3
2、研究剛體“激發(fā)”屬性。
談到剛體,除了以前研究過的物體相互碰撞,還有物體本身”破碎“問題。
一、手工破碎:我們知道動畫里的模型實際上就是一個“殼”。點組成的線,線構(gòu)成的面,面圍成的體,模型里面是空的。計算機為了節(jié)約資源,看到的地方就渲染,看不到的就忽略,(法線便是標(biāo)注面的朝向的矢量)。如果破碎模型物體,只用切刀,而不用特殊的插件,那么分裂開的也是“破碎的面”而已,還必須想辦法把這些面,變成獨立的體,非常麻煩。為了說明這個道理,下面我們手工制作一個物體“破碎”。
1、首先在場景中制作一個平面,設(shè)置如下,按C轉(zhuǎn)換可編輯多邊形。

2、選擇“面模式”,按K 切刀,在平面亂切割。

3、你以為,這些面是分開的嗎?選一個面試試,“在一起”。如何能把這些彼此聯(lián)系的面分割開來。

4、添加--運動圖形--多邊形FX(這個對象的功能,在前邊談過),把這個對象放到平面下面,點擊“多邊形FX”,在屬性--變換,位置.X=1,讓這些面錯開一點。

5、點擊平面對象--右鍵--浮動菜單--“當(dāng)前狀態(tài)轉(zhuǎn)對象”。選擇面模式,點選一個面,移動一點,發(fā)現(xiàn),這些面是分開的。但是他們還是一個物體平面,只不過是由很多破碎的“面”組成的一個平面(雖然這些面是分離的,但總的來說還是一體的,如果是分開的,那么每個小面就會有一物體,一個名稱,而現(xiàn)在他們是一個物體一個名字)。

6、選擇所有面,按D,八面變成體。(這個物體是由一些獨立的小物體組成的一個整體),如何把這些小物體拆分開來呢?

7、點擊菜單-運動圖形--分裂對象(這個對象能把一個物體的子物體分離控制),選擇模式:分裂片段。為分裂物體添加剛體標(biāo)簽。再建立個地面,賦予碰撞體標(biāo)簽。

8、點擊分裂的剛體標(biāo)簽,在下面屬性--碰撞--設(shè)置如下(以前談過)

9、點擊動力學(xué)屬性。
剛體和碰撞體之間相互碰撞,是否發(fā)生動力學(xué)動畫效果,是由“激發(fā)”選項決定的。C4D系統(tǒng)默認(rèn)為“立即”,那么,當(dāng)點擊播放模擬時,剛體物體會在“場”的作用下立即放生效果。為了解決動力學(xué)復(fù)雜問題,C4D設(shè)立激發(fā)選項,包括以下選項:1、立即;2、在峰速;3、開啟碰撞;4、XPRESSO控制。這四種動力學(xué)啟動方式非常方便制作復(fù)雜的動畫。默認(rèn)“立即”。

10、點擊播放測試,發(fā)現(xiàn)這一個物體,在分裂對象的作用下,按照切刀切割生成的子物體,與地面碰撞散開了。這就是手工制作碰撞的方法之一,雖然麻煩,但是你能明白不只是動力學(xué)的問題吧?

11、手工制作的物體破碎還是太假。如何把一個物體很自然地破碎開來,再配合動力學(xué)制作出漂亮的動畫呢?
只能靠第三方插件來完成。

【補充】
其實不用這么麻煩,在上面第5步,我們可以這樣:
1、既然這個面是由彼此獨立的子物體構(gòu)成,那么我們用到一個命令,就可以把它們拆分為多個物體。

2、這個命令在--菜單--網(wǎng)格-轉(zhuǎn)換-多邊形組到對象。父物體-平面為原來的物體,下面的平面1-平面30為拆開的子物體,把這些都選出來,刪掉原來的“平面”父物體。

3、選擇所有面,按D,擠壓成體。再選擇“對象”模式,任選一個物體,延Z拖出看看,不錯吧。
(這又是處理多邊形的一種方法,都是基本功,多邊形建模實際上就是靈活地對點、線、面的“擺弄”。)

二、破碎插件:
目前在C4D上應(yīng)用的破碎插件按照功能排序有:
Xplode1.3 、Thrausi 1.36 、NtriBlast 1.02 這些破碎插件功能一個比一個強大,我會結(jié)合研究剛體動力學(xué)的同時,分別介紹這些插件的應(yīng)用。這次,首先談?wù)刋plode 1.3。這個插件可以在網(wǎng)上查到,下載復(fù)制到:
MAXOM\CINEMA4D\PLUGINS\下面。在C4D菜單--插件--可以找到 XPLODE。

random seed ?:隨機種子,種子數(shù)不同,破碎的形狀不一樣。
no of parts:破碎數(shù)量。
power:?? 強度 能量?? add:添加破碎點, clear :清除破碎點,scatter: 執(zhí)行破碎
triangulate :三角面 ? inside Mat:??拖拉一種材質(zhì)在此,允許指定一種材質(zhì)應(yīng)用于所創(chuàng)建破碎面。
四個圖標(biāo)為 空物體、克隆、分裂、矩陣 (破碎父物體是什么,你自己定)
part name: ?破碎物體的名字。
下面通過幾個練習(xí),熟悉這個破碎插件:
第一練習(xí):
1、在場景中復(fù)制出兩個一樣的立方體,選擇:立方體1,設(shè)置xpolde 如下圖所示,種子數(shù)為12347,分裂為10,父物體為:空物體;parts name: A。設(shè)置完后,先點擊 ADD按鈕,在立方體1上出現(xiàn)一些分裂點,點擊SCATTER 進(jìn)行分裂。

2、分裂完成。xplode trash 垃圾下為原來的物體,插件已經(jīng)把它隱藏了。A目錄下的為分裂的子物體碎塊。

3、選擇:立方體,設(shè)置xpolde 如下圖所示,種子數(shù)為-1101,分裂為20,父物體為:分裂對象;parts name: B。設(shè)置完后,先點擊 ADD按鈕,在立方體上出現(xiàn)一些分裂點,點擊SCATTER 進(jìn)行分裂。

這是B破碎生成的物體。

4、為A\B兩個父物體添加剛體標(biāo)簽,動力學(xué)--激發(fā)--立即。涉及到子物體,必須在:碰撞--設(shè)置如下:

5、為地面添加碰撞體。

6、把B物體移到遠(yuǎn)一點距離,點擊播放測試。

7、這個碎片很真實,左側(cè)B物體為20塊,右側(cè)A物體為10塊。

8、發(fā)現(xiàn)物體會散開很遠(yuǎn),如何能讓物體散開范圍小一點呢?增加摩擦力,減小反彈,這是個辦法。但效果不明顯。

9、點擊B物體的剛體標(biāo)簽---力。提高線性阻尼和角度阻尼的數(shù)值,這兩個選項能使阻礙物體的散開的距離和散開的旋轉(zhuǎn),好像在粘油里一樣。

10、測試看看,B物體果然變成一堆了。

11、再提高一點,效果更明顯。

第二練習(xí):
左邊的立方體勾選了 Triangulate ,右邊的沒有勾上。

第三個練習(xí): 二次破碎。
1、建立一個立方體,首先破碎30塊。選擇工具,可以隨機選擇任意一塊。

2、選擇其中一塊,xplode設(shè)置如下,點擊scatter ,進(jìn)行二次破碎。

3、生成為a的空物體,下面有50個子物體。

4、同理,選擇幾塊物體,進(jìn)行二次破碎,名稱為b,c。

5、把a b c 父物體拖入 pieces物體中。點選 a父物體---右鍵(浮動菜單)--刪除(不包含子集)命令。這個命令就把a 父物體下面的所有子物體釋放出來, a被刪除。

6、建立剛體標(biāo)簽。注意設(shè)置如下:

7、增大-力--阻尼設(shè)置,阻止碎塊的擴散。

8、點擊播放測試,哇!一堆石頭啊。

第四個練習(xí):控制破碎范圍
1、在場景中建立一個立方體和一個小球。

2、點擊小球,點擊xplode插件的add, 添加破碎點。xpode是以球體的大小范圍進(jìn)行布點。

3、把小球半徑增大,點擊add 再增加破碎點。

4、把小球半徑再增大,點擊add 再增加破碎點。

5、現(xiàn)在刪除小球,他的用途就是告訴破碎插件產(chǎn)生破碎點的范圍。

6、點擊立方體,再點擊xplode 的破碎命令。

7、這些破碎點在立方體上生成了中間密集,外邊稀疏的碎塊。點擊插件的clear,清除破碎點。

8、為破碎的物體添加剛體標(biāo)簽,做如下設(shè)置:

9、把破碎物體的動力學(xué)標(biāo)簽--動力學(xué)--激發(fā)--“開啟碰撞”【新的知識點】,點擊播放測試,物體一動不動。這個設(shè)置必須有物體碰撞觸發(fā)它,他才會有作用。

10、添加地面(碰撞體)。
添加一個小球為剛體,用來沖擊觸發(fā)破碎的墻體。設(shè)置其初始線速度為2000CM,延Z軸方向,正對破碎物體。

11、點擊播放,小球撞擊破碎墻體,觸發(fā)碰撞,墻體開始破碎,由于速度很大,整個墻體四分五裂。

12、如何控制墻體的破碎范圍呢?
在激發(fā)--激發(fā)速度預(yù)置--300cm ,發(fā)現(xiàn)墻體不在四分五裂,而是撞開一個大洞。

13、在激發(fā)--激發(fā)速度預(yù)置--928cm ,,而是撞開一個小洞。你明白了嗎?

繼續(xù)增大,小球被彈回來,墻體中間碎了一點。

第五個練習(xí):
在場景中制作一個立方體。制作兩個材質(zhì)一個是灰色的賦予給這個立方體,另一個紅色材質(zhì)的拖給xplode的內(nèi)部材質(zhì)(inside mat),破碎數(shù)目為20,點擊ADD添加,再點擊破碎。xplode trash父對象下隱藏的原物體,a父對象下是20個破碎的物體。我們移動一個物體,發(fā)現(xiàn)紅色的材質(zhì)在里面。
xpolde插件生成的內(nèi)外不同材質(zhì),是通過面選擇集實現(xiàn)的。

第六個練習(xí):
XPOLED插件支持C4D的TP粒子,組名為"XplodeGroup“。正在研究中........

【后記】
? ? ? 上邊講解了xpolde插件的應(yīng)用,同時進(jìn)一步繼續(xù)研究了動力學(xué)的其他控制參數(shù)。如何靈活應(yīng)用是關(guān)鍵,好比老師教你各種公式,你必須用之去解決不同問題,這必須動腦。
【思考】
? ? ? ?通過這個xplode插件,我們可以制作一個玻璃酒杯破碎的動畫:一個鋼球擊碎透明的玻璃酒杯??墒?,如果我們先把酒杯破碎,雖然酒杯是完整的,但在渲染時,能看到?jīng)]有被擊破的酒杯裂紋,如何解決?如果我們制作動畫的時候,鋼球擊碎酒杯的瞬間,如何能制作出慢動作效果呢?
