# Blender_車rig紀錄 ## 操作與設置構想 在blender做車rig前先看看過去在max 車rig的紀錄: {%youtube LW2-ZAXRZa8 %} |操作設置構想圖![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-04-27-e4b88be58d885-38-11.jpg)|整體控制、四輪的轉動與前輪轉向![](https://linx690505.files.wordpress.com/2018/05/rig_e7a7bbe58b95e8bcaae8838ee8bd89e59091.gif)| |:---:|:---:| |車左右傾斜跟前翹、物件受動態影響前後左右挪移![](https://linx690505.files.wordpress.com/2018/05/rig_e4b88ae4b88be5b7a6e58fb3e4bba5e58f8ae789a9e4bbb6e5beaee7a7bb.gif)|車蓋車門可以打開![](https://linx690505.files.wordpress.com/2018/05/rig_e8bb8ae8938be8bb8ae99680.gif) | 車尾旗幟的自然甩動部分,雖然即時算bone目前還沒有或我沒找到,但有替代方案,當所有動態設置好再使用該外掛,使用教學影片及[Addon下載](https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1526784634&rver=6.7.6643.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fonedrive.live.com%2Fredir%3Fresid%3DB17B5257E9E19A97!67873%26authkey%3D!ABDQXc3dKnUGNT0&lc=1033&id=250206&cbcxt=sky): {%youtube Up4L2wYsorI %} *這次不處理旗幟,以後如果有即時算Bone的功能再說。 ## ## 測試紀錄 所需的技術或可能發生的狀況盡量在前期先測試解決,max的reactor範例如何在blender操作也是課題之一,經測試才知道用mesh物件設constraint、連結會有問題....都要用bone來做。 | ![](https://linx690505.files.wordpress.com/2018/05/rig_copy-rotate_1.gif) | ![](https://linx690505.files.wordpress.com/2018/05/rig_driver.gif) | ![](https://linx690505.files.wordpress.com/2018/05/rig_driver1.gif) | | -------- | -------- | -------- | 以下為基礎概念: 1. bone = 控制器 2. 建立bone、連結bone:edit mode進行 3. 設constraint、連結物件、替換控制器shape:pose mode進行 控制器shape將以max script做出來的shape擷取部分並小調整來使用,置入場景後移至不同的物件分層並隱藏(bone同樣分不同物件分層以利控管),後面步驟再顯示。 constraint以transformation為主,首先選取下方方塊>>Add transformation >>Terget指定控制物去點選上方的方塊,source預設的Loc意指指定物的移動為控制來源(選Rot則是旋轉,Scale為大小)、指定物的x軸移動(-1=左-方向)來作為影響物的x軸移動、Space皆為Local Space(自身座標): ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-21-e4b88be58d883-24-33.gif) *有些圖壓縮太多導致顏色跑掉,上方的藍色=灰色,下方的粉=橘色 左移藍色方塊(控制器),粉色方塊跟著移動; 藍方塊再往左移動粉方塊則不動(不會超過x軸-1), 兩者min值為互應關係。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-21-e4b88be58d883-25-08.gif) 若兩方塊的max值皆為-1時,設置就會失敗... ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-21-e4b88be58d883-26-18.gif) 兩方塊的min max值個別輸入:-1,1,左右移動ok ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-21-e4b88be58d883-27-15.gif) min為1 max為-1則失敗,大致上可以理解成: 負值在min,正值在max,設置才會正確。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-21-e4b88be58d883-27-36.gif) 嘗試看看藍方塊移動<->粉方塊旋轉吧!注意對應軸向 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-21-e4b88be58d883-31-481.gif) 總算要進入rig流程了.... ## ## 建立bone 第一根建立出來後接下來的bone建立都在edit mode進行,於edit mode將頂轉向前。 *X-Ray勾選Bone可不受物件擋住顯現出來: ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-144436.jpg) 先做車輪的Bone,選車輪後按Shift + S指定3D游標(3D游標的功用有點像是對齊,建立物件的位置以3D游標為準。) |![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-144625.jpg)| ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-144618.jpg)| |---|---| |選Bone按tab進入edit_mode>> Shift+A=新增Bone,建立在3D游標處, 讓他轉向y軸90度。|Shift+S也能設置物件的點線面上, 將3D游標對齊至選取點, 同樣選擇Cursor_to_Selected。| |:--------:|:--------:| |![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-144650.jpg) |![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-144740.jpg)| 建立車頂上的三個物件、四輪的轉動與前輪轉向、 車蓋車門可以打開、左右傾斜用等Bone... *方向除非像輪胎車門等有軸向需求外,一律都往前。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-145006.jpg) ## ## 層級連結 選取第一根建立用於整體控制的Bone,按兩次A選取所有的Bone後(A=取消選取/全選)將全部Bone連結給整體控制的Bone,按Ctrl + P >> Keep Offset 。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-145215.jpg) 接續細節的連結設置, 前輪轉動用Bone >>連結 轉向用Bone; 車頂最上層物件Bone >>連結 第二件 >>連結 第三件Bone。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-145259.jpg) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-145410.jpg) 測試看看連結是否正確: ![](https://linx690505.files.wordpress.com/2018/05/rig_03-mov-comp-1.gif) 車要受Bone影響,車體物件必須做連結(物件要連結Bone前,Bone須處於pose mode)先全選車體物件再連結整體控制Bone,接著做細節連結如車頂三物件依序連對應Bone、車蓋車門車輪等....如圖紅標指示。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-150541.jpg) 選子物件(車子物件)再選母物件(Bone)>> Ctrl + P選Bone。這是blender的操作概念之一:最後一個選取到的就是母物件,任何連結或複製modifiers等皆通用。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-150405.jpg) Bone都轉看看是否有連對,車蓋車門是否能開等等。確認無誤後我希望能用控制器以移動方式來旋轉物件,如車蓋前方有個上下移動就掀開的控制器、車門有前後移動就能開門的控制器、左右移動就能左右傾斜車體的控制器。將3D游標先對齊最上方物件Bone後再以參數方式移至上方高一點的位置,然後選Bone以edit mode來建立,其他同理: ![](https://linx690505.files.wordpress.com/2018/05/rig_05-mov-comp-1.gif) | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-150940.jpg) | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-151014.jpg) | | -------- | -------- | 為了後續更換控制器shape讓頭都向前, 與世界座標統一會讓shape方向好辨識些。 | ![](https://linx690505.files.wordpress.com/2018/05/rig_05-mov-comp-2.gif) |控制器Bone往前90度:按R>>X>>90-| |:---:|:---:| ## ## Constraint Bone跟控制用Bone都有了來設置constraint,首先是車輪。在Add Bone Constraint中選擇添加Transformation >> Target去點選Bone >> bone欄位選擇或貼上名稱,建議先拷貝該Bone名稱再來貼上 >> Source的移動旋轉還是大小、min max值為何 >> 相對應的XYZ為何 >> 自身被影響的是移動旋轉還是大小、min max值為何 >> Space 兩欄皆為Local Space.... *Armature可以視為所有Bone的Group群組,所以Targe指定後需再指定是哪一根Bone ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-151704.jpg) 測試後發現車輪轉30度就沒再轉,要勾選Exprapolate讓車輪持續轉動: ![](https://linx690505.files.wordpress.com/2018/05/rig_06-mov-comp-1.gif) 前輪好了後輪也要,一個一個這樣設太累,先選子物件(後輪)再選母物件(已設置好的前輪),按空白鍵啟動搜尋,輸入copy con後在下方會出現我們要的:Copy Constraints to Selected Bones,完成複製!複製功能請好好善用,後續會常用到(複製再調細項)。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-152153.jpg) 其他設置: ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-152341.jpg) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-152442.jpg) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-152631.jpg) 車頂上的控制器由於連結錯誤導致失敗, 將連結修正連至整體控制控制器(第一根建立的Bone)即可。 ![](https://linx690505.files.wordpress.com/2018/05/rig_10-mov-comp-1.gif) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-152848.jpg) ## ## Mirror Bone 複製另一邊的Bone與控制器,先確定3D游標在世界中心點,再來選取複製Shift + D >> Enter確認 >> Ctrl + M(mirror) >>X(選擇鏡射軸向)>> 發現沒設複製軸心為3D游標所以Esc取消 >> 選軸心為3D游標 >> Ctrl + M(mirror) >>X(選擇鏡射軸向) >> Enter確認 ![](https://linx690505.files.wordpress.com/2018/05/rig_11-mov-comp-1.gif) Bone的連結調整,除了車體右傾斜以及前輪轉動外的Bone,皆連結至車體左傾斜Bone;左傾斜Bone連結右傾斜。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-153725.jpg) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-153752.jpg) 每次一設置好都稍微確認一下是否正確,左右傾斜沒問題後再接續下一步驟。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154010.jpg) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154015.jpg) 設置好控制器後左右移動看看是否正確,接著進行細節設置:讓車頂物件因傾斜而有些位移: ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154322.jpg) 當車往前往後也來做一下物件位移吧!設置如下: ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155047.jpg) ## ## Hook 檢查時發現綁帶被穿過,來解決這個問題。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154529.jpg) 先選方塊 >> 選綁帶 >> edit mode選取方塊要影響的範圍 >> Ctrl + H 選Hook to Selected Object來綁定方塊 = 選取範圍被方塊影響。第二個方塊同步驟: | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154558.jpg) | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154602.jpg) | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154607.jpg) | | -------- | -------- | -------- | | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-154628.jpg)|測試看看:![](https://linx690505.files.wordpress.com/2018/05/rig_14-mov-comp-1.gif)| | -------- |:--------:| ## ## 修改添加 這個時候突然要加上車體前翹也可以的(當然建議設置盡量一次做好),軸心以後輪著地點為主,Shift + B = 局部放大 ,tab進入edit mode選著地點 >> Shift + S 定位3D游標....相信到這裡肯定熟悉許多熱鍵了!繼續下去.... | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155220.jpg) | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155251.jpg) | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155258.jpg)| | -------- | -------- | -------- | | ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155358.jpg)| 直接在X欄輸入0讓3D游標置中 >> 新增Bone: | | -------- | -------- | 這次連結是右傾斜去連剛新增的前翹Bone,前翹再連整體控制Bone....希望你還堅持著且順利rigging! |![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155512.jpg)| ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155534.jpg)| | -------- | -------- | 讓前翹也可以用移動來做操控,共用控制前輪轉向的控制器。設置後測試會發現控制器往上後取消無法歸位,有點類似車頂上控制器的情況,解法相同,將控制器連結至整體控制即可。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-155957.jpg) ## ## 控制器shape 前面的控制器shape總算要派上用場了!讓他們顯示出來。選取整體控制Bone後在Custom Shape去點選你要的shape: ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160059.jpg) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160112.jpg) |沒有前後箭頭的shape?|複製並於edit_mode全選轉向再指定他就好了。| |---|:---:| |![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160159.jpg)|![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160244.jpg)| ## ## Stretch 如果想要有點stretch效果呢?新增一Lattice物件。Lattice像是max的影響空間,參數u4v5w4(輸入好按tab進入下一欄繼續輸入) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160416.jpg) 於Shape keys新增三個,第一個是原始shape key可無視,另外兩個則是預計要壓扁(key1)與伸縮(key2)的shape,點選後按tab進edit mode 依序做出壓扁與伸縮的形狀。*讓3D游標置中(Shift + C)>>Pivol Point選3D游標為中心。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160624.jpg) 車體要受到變形影響則需Add Modifier >> Lattice,先隨便選個車體物件例旗幟,添加modifier(同樣叫做Lattice)指定Object,點選Lattice物件。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160700.jpg) 全選車體物件後按住Ctrl + L >>Modifiers ,直接完成所有物件的Modifiers添加(反過來說如果要所有物件Modifiers刪除則是選擇"沒有Modifiers的物件"再全選物件執行Make Links>>Modifiers) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-160712.jpg) 調看看key1 or key2當中的Value參數看看是否車體有Stretch效果: ![](https://linx690505.files.wordpress.com/2018/05/rig_18-mov-comp-1.gif) 無誤後接續下一步驟:Value設置控制器,在該欄位處按右鍵 >> Add Driver >> Manually Create Later(Single) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-161155.jpg) 找個視窗切換成Graph Editor,將Expr改為key1代數,再指定Object以及Bone(與車頂上的控制器共用吧!),Z Location還有Local Space也別忘記了。 ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-161217.jpg) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-161233.jpg) key2同上操作,但在Expr代數輸入欄中是"-key2"(反向) ![](https://linx690505.files.wordpress.com/2018/05/linx_-2018-05-20-161324.jpg) ## # 下載 附上原始檔案僅供研究測試使用>>> [car_rig.blend](https://drive.google.com/file/d/1MU9wzIirxT7XGVOY1ToaJFowtTmXUPTe/view?usp=sharing) ,如有誤或更適合的做法還請告訴我。