2012年5月2日 星期三

【rig筆記】輕鬆約束!Constrain魔法大全~

我想到羅伯特‧T‧清崎在窮爸爸富爸爸一書裡面題到他與一個作家的對話。
「羅伯特。清崎,暢銷書作家。」「上面寫的是最暢銷書作家,而不是最好的作家。」
當然無可厚非的
他的書除了賣座之外,其實還滿好看的

哈哈,上面這些話只是為了我的文章title下一個勉為其難(?)的註解XD
((知之為知之......逃走


今天要介紹的是constrain
之前原本沒有想要開這樣的一個主題

不過在經過審慎思考(?)之後
還是決定來寫一下 : )

那就讓我們開始吧!!





Constrain
中文有人翻譯叫做約束
個人是覺得這個名字滿貼切的XD

因為constrain在功能上就有這樣的意思存在
以下就為各位介紹
最常用的5種constrain



我們先不看每個constrain的功能
我們先來了解一下他所代表的意義


1.point
我們先設定控制器名稱叫做A
被控制物體叫做B

point的意思就是
A的translateX.Y.Z可以控制B的translateX.Y.Z

然後設計程式的人幫他取了一個名字叫做point


2.Aim

Aim的意思是
A的translateX.Y.Z可以控制B的rotateX.Y.Z

工程師幫他取了名字叫做Aim



3.Orient

Orient的意思是
A的 rotateX.Y.Z 可以控制B的rotateX.Y.Z

一樣,取了名字叫做Orient : )




4.Scale

跟字面上的意思相同
A的 ScaleX.Y.Z 可以控制B的ScaleX.Y.Z

名字就叫做Scale




5.Parent

A的 translateX.Y.Z,rotateX.Y.Z可以控制B的translateX.Y.Z,rotateX.Y.Z

((大絕招就是了XD





簡單介紹完他的定義之後
((事實上這些定義非常的簡單且重要!!
((如果想要學會~而不是每次猜測哪個是你要用的功能~那你一定要搞懂他喔!!


我們點開位於他們邊邊的小方塊
進入控制按鈕


其實每個constrain的option裡面都是大同小異的
不一樣的就是控制的內容

而這邊我們要介紹的是Maintain offset的功能

*Maintain offset的功能預設是關閉的  ((沒有打勾勾




我們用下列這個範例來跟大家說明:



首先我們創建一個堅錐的球體和一個線圈
線圈做為控制器


我希望線圈能夠同時控制球體的translate和rotate

所以我使用的是Parent的功能
((忘了他的功用了嗎?可以到上面找定義 : )

點選控制器+被控制物品
按parent


((各位可以注意到Maintain offset的功能是關閉的


大家可以發現
球原本在右手邊,但是做了constrain以後
他跑到中間了!!

我們點選圓球
他的translate和rotate也變成藍色的
這代表他已經被線圈控制

所以我們在旋轉或是移動線圈的時候
這顆球都會被帶動~!


如果一開始maintain offset是開啟的
那麼原球會留在他原本的位置
但是他的translate和rotate值一樣會被控制


旋轉和移動看看......


我們發現圓球一樣被控制
不過圓球的rotate 的中心點是以線圈的中心點為軸心



所以在上述實驗我們發現:

maintain offset關閉的時候
控制物與被控制物的中心點會交疊((他們會使用同一個圓心
((一同旋轉一同移動


但如果maintain offset是開啟的時候
被控制物會留在原地
控制物與被控制物的中心點是分開的
((所以當我旋轉控制器的時候,被控制物會像槓桿原理一樣被翹起來



大致上
Constrain的使用在rig以及animation上來說非常的普遍
特別是場景跟人物有互動的時候
這些工具就顯得特別的方便好用


希望今天的介紹不會太過艱深
也期待大家能夠在底下留下你們的意見或是疑問

我們會盡可能的回答或是一起解決學習 : )




同場加碼

關於constrain的權重問題

如果有在注意Alexia Mars的文章的話XD

大家一定還記得上一篇的【rig筆記】鳥類的羽毛rig討論裡面所提到的
有關於
constrain的權重設定

這裡就重新介紹一下
在做完constrain以後
我們可以在底下的history裡面找到constrain的權重
預設都是1
0的話就沒有作用


而一般來說
最常用到這個功能的
大概就是拿東西的時候了

或是左手拿東西給右手
A把東西拿給B
等等......
((這是不是也可以開一個分享阿XD
((如果有人要求的話......攤手~







總之
我們今天分享了比較常用的5種constrain
((因為其實除了這五種跟PV之外,其他的我也沒用過...XD

還有maintain offset的使用


希望大家能夠透過這篇分享
更了解constrain的用途

這篇也要特別謝謝提摸雞先生
個別幫我介紹了constrain的定義,讓我更了解相關的知識



願constrain與你們同在!

Cheers!


by 偷尼
2012/05/03

沒有留言:

張貼留言