剛體破碎和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ī)也沒閑著锹引,翻看博客的“草稿箱”里面已經(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)成的面凡蚜,面圍成的體,模型里面是空的吭从。計算機(jī)為了節(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é)制作出漂亮的動畫呢项贺?
只能靠第三方插件來完成君躺。
【補(bǔ)充】
其實不用這么麻煩,在上面第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 這些破碎插件功能一個比一個強(qiáng)大蓖捶,我會結(jié)合研究剛體動力學(xué)的同時地回,分別介紹這些插件的應(yīng)用。這次俊鱼,首先談?wù)刋plode 1.3刻像。這個插件可以在網(wǎng)上查到,下載復(fù)制到:
MAXOM\CINEMA4D\PLUGINS\下面并闲。在C4D菜單--插件--可以找到 XPLODE细睡。
random seed ?:隨機(jī)種子,種子數(shù)不同帝火,破碎的形狀不一樣纹冤。
no of parts:破碎數(shù)量。
power:?? 強(qiáng)度 能量?? 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塊谦疾。選擇工具南蹂,可以隨機(jī)選擇任意一塊。
2念恍、選擇其中一塊六剥,xplode設(shè)置如下,點擊scatter ,進(jìn)行二次破碎峰伙。
3疗疟、生成為a的空物體,下面有50個子物體瞳氓。
4秃嗜、同理,選擇幾塊物體,進(jìn)行二次破碎锅锨,名稱為b,c叽赊。
5、把a(bǔ) b c 父物體拖入 pieces物體中必搞。點選 a父物體---右鍵(浮動菜單)--刪除(不包含子集)命令必指。這個命令就把a(bǔ) 父物體下面的所有子物體釋放出來, a被刪除恕洲。
6塔橡、建立剛體標(biāo)簽。注意設(shè)置如下:
7霜第、增大-力--阻尼設(shè)置葛家,阻止碎塊的擴(kuò)散。
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)]有被擊破的酒杯裂紋霞捡,如何解決?如果我們制作動畫的時候薄疚,鋼球擊碎酒杯的瞬間碧信,如何能制作出慢動作效果呢?