上一篇簡單談談什么是“約束”。從這篇開始,用實例研究約束類型及其應用。
一、父子約束:
在C4D中,我認為無論是“骨骼”還是“約束”標簽,其最基礎應該就是父子關系。當A物體變成B物體的子集時,那么它的PSR(位置、縮放、旋轉)都要服從父級的變化。而在C4D中,這種父子關系建立非常簡單。
1、只要把A拖到B的下面,就建立了父子關系
2、立方體為A,圓盤為B,立方體A跟隨B運動變化。
3、為B建立一個XPRESSO標簽,使B旋轉起來,A隨著B旋轉。
需要注意的是:這種父子關系,A聽從B,但A也有自己的獨立性。父物體允許子物體獨立運動,但必須聽從父親的召喚。就像我們人類是地球的子物體,跟隨著“父親”--地球一起旋轉,但是,我們也有自己的活動。再比如,身體是父物體,胳膊是子物體,胳膊跟隨身體運動,但是胳膊自己也有自己的活動。
在C4D中,還有一種建立這種父子關系的辦法,那就是用“約束”標簽。
1、因為我們要控制A的運動,所以為 A ?右鍵添加--角色標簽---約束,勾選父子約束類型。
2、把B 父對象拖進目標。勾選 “位置和旋轉”。
3、A物體以B物體的中心為旋轉中心,跟隨B物體以相同的角速度旋轉。A物體與B物體的相對位置保持不變。
約束標簽變化為父子約束類型。
4、下面研究一下約束標簽的參數。把B復制到上邊,改名為C,為其添加一個震動標簽,如下:C物體就會在X方向來回震動。
5、點擊“添加”,把物體C拖進去。這是什么意思?意思是物體A有兩個父親約束它,約束的強弱,由后邊的權重決定,那個權重大,哪個影響就大。
6、渲染GIF動畫,顯示如下:A物體同時參與兩個運動,合成運動。你自己調整兩個權重比例試一試,非常好玩。
【父子約束經典例子】
1、建立如下模型。
2、圓柱命名為A,手柄命名為A_hand,建立如下父子關系。
3、建立圓環曲線,目的是作為旋轉交接的參考,作為A的子集。然后,整體復制A,改名為B ,B-hand。
4、把“B物體組”移動到兩個圓相切的位置。
5、再建立一個圓柱體,放到A物體的手柄口上。調整B_hand的位置向下一點,以免相互接觸“撞車”。
6、下面對A物體制作旋轉動畫。
在0幀時,點擊R.H=0 (C4DR16直接點擊即可,不用按CTRL)
7、在25幀,R.H=90度,點擊K幀。
8、同理,對物體B進行K幀。在10幀 R.H=0度,在35幀設置 -90度,在70幀90度,在90幀時,設置0度。
點擊 SHIFT+F3調出“時間線”查看如下:
9、下面,對圓柱物體添加“約束”標簽--父子類型。 ?首先把物體A_hand拖入目標。在0幀點擊目標前標記進行K幀,然后移動34幀進行K幀。目的使圓柱體在0-34幀的時候,跟隨A_hand移動旋轉。
10、把動畫時間線移動到35幀時,把B_hand拖進目標,然后點擊進行K幀。目的使圓柱在35幀的時候,更換父物體為B_hand。
11、在70幀時,清除目標為空,進行K幀。目的是釋放圓柱物體。
12、點擊播放動畫,就是這個樣子的,很好玩。
二、PSR約束
這個約束標簽和父約束很相似,唯一區別就是它對子物體控制的非常嚴格,不像父約束標簽允許子物體自由活動。
【對比經典例子】
1、在場景建立三個半徑不一樣的圓柱,命名為A,B,C。
2、進行復制為三組:準備用三種方法對中間物體B ,B1,B2進行控制。
3、第一種方式,XPRESSO。在B添加XPRESSO標簽,建立如下關系,數學節點為除,輸入2端口為2。控制ABC三個物體Y的方向。
4、當移動A物體的時候,B物體跟隨,移動是A的一半,C物體跟隨B物體,移動是B的一半。
5、第二組,用約束-父子。為B1添加約束標簽--父子。
6、添加兩個目標,分別拖入A.1和C.1,兩個父物體。
7、移動A1,發現B1跟隨。
8、第三組,用約束-PSR。為B2添加約束標簽---PSR。
9、如下設置:
10、移動A2到Y=200。
11、調整第一組,把C物體和B物體位置關系斷開。
12、移動A到Y=200。
13、添加一個空吧物體,添加XPRESSO標簽,建立如下聯系:目的,使A1,A2 跟隨A物體運動,Y坐標一致,用來比較三者情況,重點是父子和PSR的區別。
14、沒什么區別啊?
15、第一組,B物體被鎖定,自己不能移動,只能跟隨A移動;第二組 父子,移動B1,B1可以自己隨意移動,但是它也跟隨A1移動;第三組PSR,B2是不能移動的,它被鎖定,只能與父物體移動,沒有自主權。