剛體破碎和Xplode應(yīng)用
【閑話】
? ? ? ?2015年,又漲了一歲。好長(zhǎng)時(shí)間沒(méi)有編寫C4D技術(shù)文章了,不是“黔驢技窮”,而是最近把大量的業(yè)余時(shí)間用來(lái)研究中醫(yī)了。這些日子,認(rèn)真閱讀了清黃元御編寫的《四圣心源》(古文版)一書。讀半,感覺(jué)太好了,他把《黃帝內(nèi)經(jīng)》、《傷寒》等幾部醫(yī)書理論統(tǒng)一起來(lái)了,建立了一個(gè)完整的天地人“左升右降”的理論模型,解開(kāi)了我讀《皇帝內(nèi)經(jīng)》里很多不明白的問(wèn)題,這本書非常值得愛(ài)好中醫(yī)養(yǎng)生者一讀,等讀完之后,我會(huì)編寫幾篇養(yǎng)生感悟與大家分享。雖然研究中醫(yī),但計(jì)算機(jī)也沒(méi)閑著,翻看博客的“草稿箱”里面已經(jīng)準(zhǔn)備好的“動(dòng)力學(xué)初探”半成品,都編到十五期了,而現(xiàn)在完成發(fā)布的的僅八期,后面的剛體破碎和布料還沒(méi)有談到;XFROG植物建模,僅寫完兩期,后邊的樹(shù)木和花草還未編寫完成;答應(yīng)吧友編寫的室內(nèi)外建模剛剛編寫二期半成品;角色建模和骨骼綁定還沒(méi)有著手編寫。編寫博客技術(shù)文章是我憑興趣而寫,題目和內(nèi)容很是隨意,但我堅(jiān)信:有計(jì)劃就必須完成這個(gè)道理。所以,我接下來(lái)要繼續(xù)完成動(dòng)力學(xué)這個(gè)系列,雖然現(xiàn)在對(duì)之已經(jīng)不感興趣了。
【目的】
1、研究物體”破碎“及插件Xplode1.3
2、研究剛體“激發(fā)”屬性。
談到剛體,除了以前研究過(guò)的物體相互碰撞,還有物體本身”破碎“問(wèn)題。
一、手工破碎:我們知道動(dòng)畫里的模型實(shí)際上就是一個(gè)“殼”。點(diǎn)組成的線,線構(gòu)成的面,面圍成的體,模型里面是空的。計(jì)算機(jī)為了節(jié)約資源,看到的地方就渲染,看不到的就忽略,(法線便是標(biāo)注面的朝向的矢量)。如果破碎模型物體,只用切刀,而不用特殊的插件,那么分裂開(kāi)的也是“破碎的面”而已,還必須想辦法把這些面,變成獨(dú)立的體,非常麻煩。為了說(shuō)明這個(gè)道理,下面我們手工制作一個(gè)物體“破碎”。
1、首先在場(chǎng)景中制作一個(gè)平面,設(shè)置如下,按C轉(zhuǎn)換可編輯多邊形。
2、選擇“面模式”,按K 切刀,在平面亂切割。
3、你以為,這些面是分開(kāi)的嗎?選一個(gè)面試試,“在一起”。如何能把這些彼此聯(lián)系的面分割開(kāi)來(lái)。
4、添加--運(yùn)動(dòng)圖形--多邊形FX(這個(gè)對(duì)象的功能,在前邊談過(guò)),把這個(gè)對(duì)象放到平面下面,點(diǎn)擊“多邊形FX”,在屬性--變換,位置.X=1,讓這些面錯(cuò)開(kāi)一點(diǎn)。
5、點(diǎn)擊平面對(duì)象--右鍵--浮動(dòng)菜單--“當(dāng)前狀態(tài)轉(zhuǎn)對(duì)象”。選擇面模式,點(diǎn)選一個(gè)面,移動(dòng)一點(diǎn),發(fā)現(xiàn),這些面是分開(kāi)的。但是他們還是一個(gè)物體平面,只不過(guò)是由很多破碎的“面”組成的一個(gè)平面(雖然這些面是分離的,但總的來(lái)說(shuō)還是一體的,如果是分開(kāi)的,那么每個(gè)小面就會(huì)有一物體,一個(gè)名稱,而現(xiàn)在他們是一個(gè)物體一個(gè)名字)。
6、選擇所有面,按D,八面變成體。(這個(gè)物體是由一些獨(dú)立的小物體組成的一個(gè)整體),如何把這些小物體拆分開(kāi)來(lái)呢?
7、點(diǎn)擊菜單-運(yùn)動(dòng)圖形--分裂對(duì)象(這個(gè)對(duì)象能把一個(gè)物體的子物體分離控制),選擇模式:分裂片段。為分裂物體添加剛體標(biāo)簽。再建立個(gè)地面,賦予碰撞體標(biāo)簽。
8、點(diǎn)擊分裂的剛體標(biāo)簽,在下面屬性--碰撞--設(shè)置如下(以前談過(guò))
9、點(diǎn)擊動(dòng)力學(xué)屬性。
剛體和碰撞體之間相互碰撞,是否發(fā)生動(dòng)力學(xué)動(dòng)畫效果,是由“激發(fā)”選項(xiàng)決定的。C4D系統(tǒng)默認(rèn)為“立即”,那么,當(dāng)點(diǎn)擊播放模擬時(shí),剛體物體會(huì)在“場(chǎng)”的作用下立即放生效果。為了解決動(dòng)力學(xué)復(fù)雜問(wèn)題,C4D設(shè)立激發(fā)選項(xiàng),包括以下選項(xiàng):1、立即;2、在峰速;3、開(kāi)啟碰撞;4、XPRESSO控制。這四種動(dòng)力學(xué)啟動(dòng)方式非常方便制作復(fù)雜的動(dòng)畫。默認(rèn)“立即”。
10、點(diǎn)擊播放測(cè)試,發(fā)現(xiàn)這一個(gè)物體,在分裂對(duì)象的作用下,按照切刀切割生成的子物體,與地面碰撞散開(kāi)了。這就是手工制作碰撞的方法之一,雖然麻煩,但是你能明白不只是動(dòng)力學(xué)的問(wèn)題吧?
11、手工制作的物體破碎還是太假。如何把一個(gè)物體很自然地破碎開(kāi)來(lái),再配合動(dòng)力學(xué)制作出漂亮的動(dòng)畫呢?
只能靠第三方插件來(lái)完成。
【補(bǔ)充】
其實(shí)不用這么麻煩,在上面第5步,我們可以這樣:
1、既然這個(gè)面是由彼此獨(dú)立的子物體構(gòu)成,那么我們用到一個(gè)命令,就可以把它們拆分為多個(gè)物體。
2、這個(gè)命令在--菜單--網(wǎng)格-轉(zhuǎn)換-多邊形組到對(duì)象。父物體-平面為原來(lái)的物體,下面的平面1-平面30為拆開(kāi)的子物體,把這些都選出來(lái),刪掉原來(lái)的“平面”父物體。
3、選擇所有面,按D,擠壓成體。再選擇“對(duì)象”模式,任選一個(gè)物體,延Z拖出看看,不錯(cuò)吧。
(這又是處理多邊形的一種方法,都是基本功,多邊形建模實(shí)際上就是靈活地對(duì)點(diǎn)、線、面的“擺弄”。)
二、破碎插件:
目前在C4D上應(yīng)用的破碎插件按照功能排序有:
Xplode1.3 、Thrausi 1.36 、NtriBlast 1.02 這些破碎插件功能一個(gè)比一個(gè)強(qiáng)大,我會(huì)結(jié)合研究剛體動(dòng)力學(xué)的同時(shí),分別介紹這些插件的應(yīng)用。這次,首先談?wù)刋plode 1.3。這個(gè)插件可以在網(wǎng)上查到,下載復(fù)制到:
MAXOM\CINEMA4D\PLUGINS\下面。在C4D菜單--插件--可以找到 XPLODE。
random seed ?:隨機(jī)種子,種子數(shù)不同,破碎的形狀不一樣。
no of parts:破碎數(shù)量。
power:?? 強(qiáng)度 能量?? add:添加破碎點(diǎn), clear :清除破碎點(diǎn),scatter: 執(zhí)行破碎
triangulate :三角面 ? inside Mat:??拖拉一種材質(zhì)在此,允許指定一種材質(zhì)應(yīng)用于所創(chuàng)建破碎面。
四個(gè)圖標(biāo)為 空物體、克隆、分裂、矩陣 (破碎父物體是什么,你自己定)
part name: ?破碎物體的名字。
下面通過(guò)幾個(gè)練習(xí),熟悉這個(gè)破碎插件:
第一練習(xí):
1、在場(chǎng)景中復(fù)制出兩個(gè)一樣的立方體,選擇:立方體1,設(shè)置xpolde 如下圖所示,種子數(shù)為12347,分裂為10,父物體為:空物體;parts name: A。設(shè)置完后,先點(diǎn)擊 ADD按鈕,在立方體1上出現(xiàn)一些分裂點(diǎn),點(diǎn)擊SCATTER 進(jìn)行分裂。
2、分裂完成。xplode trash 垃圾下為原來(lái)的物體,插件已經(jīng)把它隱藏了。A目錄下的為分裂的子物體碎塊。
3、選擇:立方體,設(shè)置xpolde 如下圖所示,種子數(shù)為-1101,分裂為20,父物體為:分裂對(duì)象;parts name: B。設(shè)置完后,先點(diǎn)擊 ADD按鈕,在立方體上出現(xiàn)一些分裂點(diǎn),點(diǎn)擊SCATTER 進(jìn)行分裂。
這是B破碎生成的物體。
4、為A\B兩個(gè)父物體添加剛體標(biāo)簽,動(dòng)力學(xué)--激發(fā)--立即。涉及到子物體,必須在:碰撞--設(shè)置如下:
5、為地面添加碰撞體。
6、把B物體移到遠(yuǎn)一點(diǎn)距離,點(diǎn)擊播放測(cè)試。
7、這個(gè)碎片很真實(shí),左側(cè)B物體為20塊,右側(cè)A物體為10塊。
8、發(fā)現(xiàn)物體會(huì)散開(kāi)很遠(yuǎn),如何能讓物體散開(kāi)范圍小一點(diǎn)呢?增加摩擦力,減小反彈,這是個(gè)辦法。但效果不明顯。
9、點(diǎn)擊B物體的剛體標(biāo)簽---力。提高線性阻尼和角度阻尼的數(shù)值,這兩個(gè)選項(xiàng)能使阻礙物體的散開(kāi)的距離和散開(kāi)的旋轉(zhuǎn),好像在粘油里一樣。
10、測(cè)試看看,B物體果然變成一堆了。
11、再提高一點(diǎn),效果更明顯。
第二練習(xí):
左邊的立方體勾選了 Triangulate ,右邊的沒(méi)有勾上。
第三個(gè)練習(xí): 二次破碎。
1、建立一個(gè)立方體,首先破碎30塊。選擇工具,可以隨機(jī)選擇任意一塊。
2、選擇其中一塊,xplode設(shè)置如下,點(diǎn)擊scatter ,進(jìn)行二次破碎。
3、生成為a的空物體,下面有50個(gè)子物體。
4、同理,選擇幾塊物體,進(jìn)行二次破碎,名稱為b,c。
5、把a(bǔ) b c 父物體拖入 pieces物體中。點(diǎn)選 a父物體---右鍵(浮動(dòng)菜單)--刪除(不包含子集)命令。這個(gè)命令就把a(bǔ) 父物體下面的所有子物體釋放出來(lái), a被刪除。
6、建立剛體標(biāo)簽。注意設(shè)置如下:
7、增大-力--阻尼設(shè)置,阻止碎塊的擴(kuò)散。
8、點(diǎn)擊播放測(cè)試,哇!一堆石頭啊。
第四個(gè)練習(xí):控制破碎范圍
1、在場(chǎng)景中建立一個(gè)立方體和一個(gè)小球。
2、點(diǎn)擊小球,點(diǎn)擊xplode插件的add, 添加破碎點(diǎn)。xpode是以球體的大小范圍進(jìn)行布點(diǎn)。
3、把小球半徑增大,點(diǎn)擊add 再增加破碎點(diǎn)。
4、把小球半徑再增大,點(diǎn)擊add 再增加破碎點(diǎn)。
5、現(xiàn)在刪除小球,他的用途就是告訴破碎插件產(chǎn)生破碎點(diǎn)的范圍。
6、點(diǎn)擊立方體,再點(diǎn)擊xplode 的破碎命令。
7、這些破碎點(diǎn)在立方體上生成了中間密集,外邊稀疏的碎塊。點(diǎn)擊插件的clear,清除破碎點(diǎn)。
8、為破碎的物體添加剛體標(biāo)簽,做如下設(shè)置:
9、把破碎物體的動(dòng)力學(xué)標(biāo)簽--動(dòng)力學(xué)--激發(fā)--“開(kāi)啟碰撞”【新的知識(shí)點(diǎn)】,點(diǎn)擊播放測(cè)試,物體一動(dòng)不動(dòng)。這個(gè)設(shè)置必須有物體碰撞觸發(fā)它,他才會(huì)有作用。
10、添加地面(碰撞體)。
添加一個(gè)小球?yàn)閯傮w,用來(lái)沖擊觸發(fā)破碎的墻體。設(shè)置其初始線速度為2000CM,延Z軸方向,正對(duì)破碎物體。
11、點(diǎn)擊播放,小球撞擊破碎墻體,觸發(fā)碰撞,墻體開(kāi)始破碎,由于速度很大,整個(gè)墻體四分五裂。
12、如何控制墻體的破碎范圍呢?
在激發(fā)--激發(fā)速度預(yù)置--300cm ,發(fā)現(xiàn)墻體不在四分五裂,而是撞開(kāi)一個(gè)大洞。
13、在激發(fā)--激發(fā)速度預(yù)置--928cm ,,而是撞開(kāi)一個(gè)小洞。你明白了嗎?
繼續(xù)增大,小球被彈回來(lái),墻體中間碎了一點(diǎn)。
第五個(gè)練習(xí):
在場(chǎng)景中制作一個(gè)立方體。制作兩個(gè)材質(zhì)一個(gè)是灰色的賦予給這個(gè)立方體,另一個(gè)紅色材質(zhì)的拖給xplode的內(nèi)部材質(zhì)(inside mat),破碎數(shù)目為20,點(diǎn)擊ADD添加,再點(diǎn)擊破碎。xplode trash父對(duì)象下隱藏的原物體,a父對(duì)象下是20個(gè)破碎的物體。我們移動(dòng)一個(gè)物體,發(fā)現(xiàn)紅色的材質(zhì)在里面。
xpolde插件生成的內(nèi)外不同材質(zhì),是通過(guò)面選擇集實(shí)現(xiàn)的。
第六個(gè)練習(xí):
XPOLED插件支持C4D的TP粒子,組名為"XplodeGroup“。正在研究中........
【后記】
? ? ? 上邊講解了xpolde插件的應(yīng)用,同時(shí)進(jìn)一步繼續(xù)研究了動(dòng)力學(xué)的其他控制參數(shù)。如何靈活應(yīng)用是關(guān)鍵,好比老師教你各種公式,你必須用之去解決不同問(wèn)題,這必須動(dòng)腦。
【思考】
? ? ? ?通過(guò)這個(gè)xplode插件,我們可以制作一個(gè)玻璃酒杯破碎的動(dòng)畫:一個(gè)鋼球擊碎透明的玻璃酒杯。可是,如果我們先把酒杯破碎,雖然酒杯是完整的,但在渲染時(shí),能看到?jīng)]有被擊破的酒杯裂紋,如何解決?如果我們制作動(dòng)畫的時(shí)候,鋼球擊碎酒杯的瞬間,如何能制作出慢動(dòng)作效果呢?