上面幾節研究父子、PSR、鏡像、目標約束,感覺是不是有點簡單?
下面研究“向上”約束,這個約束理解有點困難。做好準備喲
“向上”約束英文是UP VECTOR (上行矢量)約束
一、什么是矢量呢?我們知道描述客觀物體的量分為標量和矢量兩種:標量是只有大小沒有方向,比如時間(時分秒),質量(千克),長度米等;矢量是既有方向又有大小,比如說速度,力,位移、加速度等,你在用這些有方向的量的時候,不僅要回答大小還有回答方向。矢量在數學上用一個帶箭頭的線表示,箭頭方向為矢量方向,線段的長度為矢量大小。
在三維計算機圖形學中,廣泛使用矢量計算。用矢量大大提高計算效率。在笛卡爾XYZ三維坐標系,描述一個物體從A點(X1,Y1,Z1)移動到B點(X2,Y2,Z2),需要兩組標量坐標,共6個數據,而如果用矢量描述一個矢量足夠“矢量AB”。用標量描述從A到B,你必須關心中間過程,而用矢量不管中間過程,只考慮起點和終點。另外對于在空間三維物體旋轉縮放,如果用矢量描述,建立數組,用矢量矩陣就可以計算完成,非常快捷。
有點跑題了?
二、什么是上行矢量呢?那一定是個有方向的量。
看左圖,ABC三點在空間構成了一個三角面。(三點共面)AB假如為轉動軸--軸向。C點就可以決定這個平面的在空間的朝向,(伸出你的右手,食指尖為A,伸出的大拇指為C,手掌形成一個面)圖中紅色的垂直于AB軸的矢量就是"上行矢量”。
如果C點在YZ平面移動(或上行矢量和AB軸形成的面),三角面ABC方向不會發生變化。
但是,C點如果在其他方向上XY ,XZ平面方向上移動,那么由ABC三點決定的平面就會發生轉動。想象這個面是個“鐵制”三角旗子。
三、如何使用向上約束?
1、?在場景中建立一個“角錐”為A,再建立一個“圓錐”為B,大小和方向調整如下。
2、我們想用B約束A,想讓B的轉動帶著A轉動(A沿著自身Y軸轉動)。為A添加一個約束,改為“向上”約束。
3、把B拖入目標欄,用B的+Z方向(藍色坐標,紅色模型尖頭方向)為上行矢量方向。
4、角錐A的+Y方向為軸向。
5、在軸向選擇 Y+(當然是A的Y+方向了-)。
6、在YZ平面移動紅色的B,發現角錐A不轉動。
7、在非YZ平面移動紅色的A物體,發現黃色的B跟隨A,沿著自身的Y軸轉動,并對著B。
8、在約束章節結束的時候,我們將制作類似下面的一個機械手。機械手手臂用骨骼連接控制,也可以用(父子和XPRESSO控制),機械手轉動“帶動”地盤跟隨轉動,要用到“向上”約束。
四、“目標標簽”和“約束向上標簽”有哪些相同和不同點?
在模型對象右鍵添加--C4D標簽--目標標簽。在那里也有一個上行矢量,如何理解?
還是舉例子說明吧:
1、在場景中建立如下模型,都是基元模型。不是太懶,而是說明問題就行了。
2、控制角錐,為其添加--目標標簽。把頭上的球體拖入目標對象中。
3、角錐立即會用它的+Z(藍色坐標)對著目標--球體。如果球體移動,角錐通過自身轉動,始終用+Z對著球體。這就是是目標標簽最重要的用途。
4、把膠囊拖入上行矢量中。
5、你會發現角錐用+Y(綠色坐標)對著紅色的膠囊,依然用+Z對著球體。
6、你可以這樣想:假設球體不動,由角錐和球體構成一個軸,再通過紅色膠囊組成一個繞著“軸”轉動的虛擬面。而這個虛擬的面是否能轉動,取決于紅色的膠囊的位置。
7、如果紅色的膠囊只在他自己的YZ平面移動,那么這個虛擬平面不會轉動,直接表現為白色的角錐不會轉動。
8、如果紅色的膠囊在其他位置移動(不在YZ平面),那么這個虛擬的面就會轉動,直接表現為白色角錐用+Y對著紅色膠囊。
小結:目標標簽與約束-上行約束標簽之間,有什么共同點和區別點,你自己能否總結出來?
目標標簽應該是向上約束的簡化版,向上約束添加的受控對象會更多,會隨意指定控制軸。
【感悟】
天氣太熱了,不喜歡編寫了.......
每天就喜歡在樹林里“發呆”。
古人說:“急中生智、靜極生慧、寧靜致遠”,沒錯!
如果你每天有一段時間通過靜坐--發呆(進入氣功狀態--處于“無”的境界),像老牛一樣“反芻”,思路反而會泉涌,過去想不明白的事,你會豁然開朗。不信你就試一試!
藝術是“閑”出來的,而“錢”是忙出來的。
我們人類通過“物質文明”提高了效率,節省出來大量”閑暇的時間“;而又通過“精神文明”消耗掉這些“閑暇的時間”。