Blender 骨架 === [toc] ## 基本操作 ### 模式切換 * 骨架有edit/pose mode * object mode: 新增骨架(armature) * edit mode: * 新增骨頭(bone) * 連接骨頭 * 建立骨頭父子關係 * pose mode: * 與物件榜定 * 約束器操作 * 執行骨架操作(位移/旋轉) * 切換object/edit mode: tab * 切換object/pose mode: ctrl+tab * 按.選擇想要物件旋轉的中心點 ![](https://i.imgur.com/7PMLGpn.png) * item的rotation可以顯示轉多少圈 ![](https://i.imgur.com/U3QVS0B.png) ### 骨架操作 * 新增骨架:shift+A選amature ![](https://i.imgur.com/9wym5PH.png) * 新增骨頭:在骨架edit mode下shift+A會在游標出現新的骨頭 * 新增連接骨頭:點選骨頭頂端按E ![](https://i.imgur.com/EOUQT9N.png) * 設定父子關係:ctrl+P(最後選的骨頭是父,其於是子) * keep offset:跟父骨頭會有距離 * connected:直接接在父骨頭的頂端 ![](https://i.imgur.com/UqN70fo.png) * 解除父子關係:alt+P ![](https://i.imgur.com/iqBWa89.png) * 取消lock object mode:在pose mode下可以選擇物件後shift選骨架 ![](https://i.imgur.com/VzOSs0H.png) * 物件榜定骨架:先選物件shift選骨架(pose mode)後ctrl+P ![](https://i.imgur.com/dnLPVog.png) * 骨架不要被物件擋住:右側工序欄勾選in Front ![](https://i.imgur.com/X4TZIRB.png) * 榜定骨架使用with automatic weight進入weight paint模式下可以檢視權重分配狀況 ![](https://i.imgur.com/E0jrCTl.png) * 修改權重:weight paint下按N叫出右方工具欄 ![](https://i.imgur.com/NHVhh7R.png) * 鏡像權重 1. 複製權重 ![](https://i.imgur.com/UMGxZUb.png) 1. 鏡射 ![](https://i.imgur.com/7nbBFfL.png) * 游標控制:shift+S * 鏡射骨架 1. 圈選完一側的骨架再命名 ![](https://i.imgur.com/mA2HpDU.png) 1. 執行對稱 ![](https://i.imgur.com/n9Xg00q.png) ### 骨架空間 * 骨架在pose mode下的local space軸向 * Z軸 ![](https://i.imgur.com/cHNgLMD.png) * Y軸 ![](https://i.imgur.com/suZxQHV.png) * X軸 ![](https://i.imgur.com/V6R3FNt.png) ### 外掛功能 * copy constraint ![](https://i.imgur.com/EzR5GZT.png) ### 自訂控制骨頭外型 * 新增plane ![](https://i.imgur.com/gXW3Iix.png) * 編輯模式delete face ![](https://i.imgur.com/5d8RAsM.png) * 編輯形狀 * 骨頭點選custom shape ![](https://i.imgur.com/nt0KiKh.png) ### 材質套用 * 新增材質兩次,第一次的材質會套用到整個物件,第二個材質才可以選擇要的區域 ![](https://i.imgur.com/hbFoDah.png) ### 常用操作 * 鏡像複製 1. 選擇物件後shift+D複製 2. s+x/y/z鏡像指定軸 3. ctrl+A套用rotation&scale 4. 編輯模式下全選物件後shift+N重新計算normal * 把物件獨立出來 1. 點選p,選擇selection ![](https://i.imgur.com/Gpd4Hab.png) ## IK Bone 1. 選擇物件shift選骨架(pose mode)後ctrl+P選bone 1. 控制骨架先解除父子關係 2. 選擇控制骨頭shift選前一個骨頭後shift+i ![](https://i.imgur.com/chCceaX.png) 1. 修改控制骨頭數量:chain length ![](https://i.imgur.com/I1n4smW.png) * 設定ik bone的延伸影響:ik strectch ![](https://i.imgur.com/WVQsZYL.png) * 設定pole target讓IK bone彎曲較自然 ![](https://i.imgur.com/SWoVo8J.png) ![](https://i.imgur.com/qmQ5k2W.png) ## Bendy bone 移動時有柔軟的效果 1. 建立三個骨頭,中間的要比較長(bendy bone) ![](https://i.imgur.com/W2whsDo.png) 1. 將中間骨頭細分成多段 ![](https://i.imgur.com/I63h9mv.png) 1. 切換成B-bone可以看到骨頭被細分的狀態 ![](https://i.imgur.com/LtusHnS.png) ![](https://i.imgur.com/tk0TWUn.png) 1. 將端點控制骨架取消父子關係 2. 新增bendy bone的骨架約束器,使用stretch to,目標選擇控制骨架 ![](https://i.imgur.com/Sdp4OIi.png) 1. 設定起始結束把手(absolute) * 起始:另一個端點骨頭 * 結束:控制的骨頭 ![](https://i.imgur.com/ZV93t2L.png) 1. 最後將物件榜定骨架,使用自動權重分配 ## Shape key 物件形狀改變 1. 點選物件後新增shape key,點二次後才會出現key ![](https://i.imgur.com/H1C3Sve.png) 1. 編輯物件的形狀後,value=1時為最後編輯過的形狀,改變value可以看到物件變化過程 2. 可新增多組key 1. 也可用於變更曲線外型 * 鏡像功能 1. 複製shape key,新增時用不到的key,value要歸0 ![](https://i.imgur.com/MWzKZyC.png) 1. 鏡射 ![](https://i.imgur.com/FwTOPxd.png) ## 約束器 ### Copy Location/Rotation/Scale 1. 選擇copy location/rotation/scale ![](https://i.imgur.com/ixj08zT.png) 1. target點選要跟隨的骨架,owner是自己,座標系選擇local space 2. 如果需要用target的父骨頭作連動時,target座標要選擇local space with parent ### Limit Distance 1. 選擇limit location/rotation/scale 2. distance填入兩個骨頭的限制距離 ![](https://i.imgur.com/c1BEwJa.png) 1. 當移動owner時會被distance限制住 ### Transformation * 骨架帶著其他骨架做不同步運動,例如要用控制骨頭移動來帶動被控制骨頭的轉動 1. 設定target(控制骨架)的運動方式,這邊選擇target x軸移動 ![](https://i.imgur.com/d1THcWJ.png) 1. 設定owner(被控制骨架)的運動方式,這邊選擇owner z軸移動,要映射到target的x ![](https://i.imgur.com/dBUXGEu.png) 1. 勾選extrapolate可以一直循環 2. 若有跟其他骨頭設定父子關係時,要選with parent ![](https://i.imgur.com/c81nWrh.png) ### Clamp to * 讓骨架跟著曲線移動 ![](https://i.imgur.com/oeLOKwH.png) ### Stretch to * 讓骨頭以延伸的方式追蹤目標 * 用於Bendy bone ### Damped Track * 物件朝著指定目標方向追蹤 ![](https://i.imgur.com/O4cNBqn.png) ![](https://i.imgur.com/fgn7CCn.png) ### Armature 不同骨架之間的榜定 1. 選擇要榜的骨架新增armature約束器 2. 指定要榜到哪個骨架 ![](https://i.imgur.com/05WlvQR.png) ### Floor 設定骨頭的地板下限 1. 選擇要限制的骨頭新增Floor約束器 2. 指定地板的骨頭,在選擇要限制的軸向,這樣骨頭就不會超過地板骨頭的軸向 ![](https://i.imgur.com/9lri52n.png) 1. 也可操作地板的骨頭,可將帶動被限制的骨頭 2. offset可以修改地板的距離 ![](https://i.imgur.com/49HVyXJ.png) ### Follow path 讓骨頭跟著路徑移動 1. 新增曲線 2. 新增follow path約束器,並指定路徑後按animate path ![](https://i.imgur.com/BK7P55n.png) 1. 搭配曲線的影格設定調整速度 ![](https://i.imgur.com/vovp1pA.png) ### Shrinkmap 在物件表面移動 1. 新增物件 2. 新增shrinkmap約束器,指定到物件 ![](https://i.imgur.com/Jznv2gt.png) 1. 可變更snap mode來決定移動模式 ### Pivot 指定骨架對某個物件為旋轉中心轉動 ![](https://i.imgur.com/QTqBvI9.png) ### Action 以動畫方式完成骨架設定 1. 開啟Dope sheet點選第一影格 ![](https://i.imgur.com/aUㄧ4NQap.png) 3. 在骨架的pose mode上點i插入影格,通常直接選location/rotation/scale ![](https://i.imgur.com/lKxa2ln.png) 1. 在指定的影格上編輯骨架的方位並插入影格 ![](https://i.imgur.com/6rH2RCE.png) 1. 拖曳dope sheet上的影格軸就會有動畫效果 2. 選擇action editor後可以看到剛編輯的動畫名稱 ![](https://i.imgur.com/KGVqIQA.png) 1. 新增一骨頭用來啟動剛設定的動畫 1. 選擇剛有編輯動畫的骨頭新增action約束器 2. targe選擇控制骨頭,並設定控制模式 ![](https://i.imgur.com/tNSffPF.png) 1. 以上面設定來看當控制骨頭研x軸方向移動3單位,動畫骨頭會播放1~20影格的動作 2. 操作前將影格移回1,再刪除,這樣在播動畫時才不會影響,這個並不歸類在動畫中,只是將動畫的動作拿來做骨架 ### Spline IK 配合曲線使用 1. 新增曲線 2. 曲線編輯模式下設定控制類型 ![](https://i.imgur.com/jYiYu9P.png) 1. 設定頂點對齊 ![](https://i.imgur.com/hTLz4MQ.png) 1. 將曲線貼在骨架上 ![](https://i.imgur.com/JtN02wO.png) 1. 最後端點的骨頭新增spline ik約束器 ![](https://i.imgur.com/WmAhXez.png) 1. 指定曲線後調整控制骨架數量:chain length 2. 將每個骨頭端點拉出一個控制骨頭,並取消父子關係 ![](https://i.imgur.com/QXyp4bj.png) 1. 曲線綁定骨頭: 1. 選擇骨頭(pose mode) 2. shift選取線在tab進入edit mode 3. 點選曲線端點ctrl+H ![](https://i.imgur.com/RD9r3cS.png) 1. 選擇hook to selected object bone 2. 依序將其他曲線端點與骨頭榜定 3. 移動骨頭會帶動曲線 4. 自動權重之前先將這些控制骨頭取消Deform,選取多個骨頭在Deform按shift+alt點選 1. 點選物件後shift骨架後ctrl+P選automatic weight ![](https://i.imgur.com/nmptXbD.png) ### 約束器控制順序 從上到下開示 ![](https://i.imgur.com/wqeNMwj.png) ## 驅動器控制 * 驅動器編輯骨頭運動 可在任何數值變動的欄位增加驅動器控制 1. 在數值欄位右鍵add driver 2. object點選骨頭 ![](https://i.imgur.com/Ami4ihK.png) * 材質設定 * 新增客製化屬性 1. 在骨頭設定最下面的custom properties新增屬性 ![](https://i.imgur.com/VOePVkp.png) 1. 在骨頭item的prop欄位上右鍵 ![](https://i.imgur.com/qyEwe1k.png) 1. 點選copy data path ![](https://i.imgur.com/pBoCuwu.png) 1. 在驅動器編輯欄位的下拉選單點選signal property並把剛複製的路徑貼上 ![](https://i.imgur.com/3Psf5P0.png) 1. 可以調整prop的值來控制對應的 * 將driver套用到不同屬性的數值 1. 客製屬性右鍵選copy as new driver ![](https://i.imgur.com/ong4ozj.png) 1. 在要控制的屬性數值點選paste driver ![](https://i.imgur.com/0yY3Fja.png) ## 實例說明 ### 動物 * 身體和軀幹交接處使用自動權重會有問題,連接處的權重會被分配到四肢 ![](https://i.imgur.com/wgIne9F.png) ![](https://i.imgur.com/kNw7Zrp.png) 先將四肢連接身體的骨頭拉長,在細分後,從末端額外多拉一節骨頭出來 ![](https://i.imgur.com/6omD1QV.png) * 動物的軀幹可用bendy bone,或是Z字型骨架 ![](https://i.imgur.com/wqHIpuD.png) * IK bone使用時要注意的地方,如果希望骨架彎曲的方向照我們希望的,那初始角度要給,不然有時會不同的方向彎曲 ![](https://i.imgur.com/T5Z9xXA.png) 或是在那個關節後的骨頭在設定一個IK bone ![](https://i.imgur.com/ATrYUJ3.png) * 自行分配權重 1. 在物件編輯模式下選擇控制區域 ![](https://i.imgur.com/pZR1SW9.png) 1. 進入weight paint勾選遮罩 ![](https://i.imgur.com/o1jzapQ.png) 1. 點擊N選擇權重數值,將遮罩部份塗滿,紅色代表控制權愈高 ![](https://i.imgur.com/0RRGZNE.png) * 直接分配選取的區域權重 在物件編輯模式下,在view group選擇到控制的骨頭,將圈選的區域直接assign,記得也要處理不想控制的區域 ![](https://i.imgur.com/PllaYSf.png) ### 手 * 使用spine IK + IK bone組合,藉由IK來控制spline IK * 將spline IK的控制骨頭跟IK的骨頭建立父子關係 ![](https://i.imgur.com/FkD1X4e.png) ### 人體 * 軀幹用三個骨頭構成,須稍微有些弧度 ![](https://i.imgur.com/lt8mEL8.png) * 手臂 ![](https://i.imgur.com/vc9RN7r.png) * 手掌 ![](https://i.imgur.com/P2J6187.png) * 腿 ![](https://i.imgur.com/jYeuRSQ.png) ![](https://i.imgur.com/lfm7i8b.png) * 手指控制:從手指與手掌連接處拉出骨頭,其餘手指骨頭copy rotation控制骨頭的角度,手指骨頭mix選offset ![](https://i.imgur.com/FojNSp0.png) ![](https://i.imgur.com/kVIZewv.png) * 腳掌 ![](https://i.imgur.com/TdsNwIf.png) ![](https://i.imgur.com/gQ16jx9.png) * 胸口 ![](https://i.imgur.com/1fjagVK.png) ### 人臉 * 使用shape key控制+驅動器控制臉部肌肉 1. 新增shape key來控制臉部的肌肉位置 2. 新增控制骨頭 3. shape key add driver,先將骨頭移至最後的位置 ![](https://i.imgur.com/EIohilt.png) 5. var調整到接近1的值 ### 工程車 * 履帶 可用array修改器方式複製單一元件,再用曲線修改器讓物件在指定路徑上排列 ![](https://i.imgur.com/PHA4W8C.png) * 吊鉤 1. 選擇物件再選曲線進入edit mode選端點 2. ctrl+H:hook to selected object ![](https://i.imgur.com/tfZbr2k.png) ## 快捷鍵 * ctrl E: 呼叫edge的操作 * ctrl L: 材質鍊結 * U: UV功能鍵 ![](https://i.imgur.com/8Rk7ynx.png) * ctrl B: 選取渲染區域 * 0: 攝影機視角 * x: 刪除功能 ![](https://i.imgur.com/1ltFfvN.png) * u: UV紋理設定 ![](https://i.imgur.com/p2qSeUa.png) * 空白鍵改成search ![](https://i.imgur.com/SaR6Iux.png) * 設定物件中心 ![](https://i.imgur.com/NH1vTId.png) * ctrl J: 將選取的物件合成一物件 * ctrl RMB: 新增頂點 * shift alt LMB: 選取一串點 * shift E: 邊緣銳利 * shift ctrl B: 布林運算 * s x/y/z 0:對齊軸 ## 攝影機設定 * 調整景深 ![](https://i.imgur.com/VrFWtQL.png) ## 編輯模式 ### 面編輯 * i: 插入面 ![](https://i.imgur.com/K9E1gWf.png) * ctrf+F * poker face ![](https://i.imgur.com/z12h1uZ.png) * fill grid ![](https://i.imgur.com/SlXRjLo.png) * shade smooth ![](https://i.imgur.com/wFy1RyQ.png) * edge splite: 平滑破碎區域 ![](https://i.imgur.com/RLLakzK.png) ![](https://i.imgur.com/7F3hzjb.png) ![](https://i.imgur.com/dg4gwIJ.png) * 將面推平 ![](https://i.imgur.com/xa7oxLM.png) ![](https://i.imgur.com/LP54Auy.png) ![](https://i.imgur.com/cz2RiiR.png) ### 點編輯 * f: 連接點 * shift alt LMB: loop select * 顯示長度 ![](https://i.imgur.com/uc7AtiI.png) * 錨點設定 ![](https://i.imgur.com/GUbN6nf.png) ### 線編輯 * shift+alt點線段:選擇loop * 網格填滿 ![](https://i.imgur.com/9zcKYG3.png) ## 材質渲染 ### 紋理 1. 新增材質屬性 2. shading新增image texture ![](https://i.imgur.com/ICki3MB.png) 3. 投影UV ![](https://i.imgur.com/EQy8TEi.png) 4. 縮放UV符合大小 ![](https://i.imgur.com/r9LaMT5.png) 5. ctrl L調整UV map位置,有可能會跑掉 6. 調整後將物件scale設定成1 ![](https://i.imgur.com/VEsM0pB.png) ### 著色器 * 開啟shading編輯視窗(上方工具列選擇shading) * SDF著色器可定義紋理外觀 ![](https://i.imgur.com/6wggcQ1.png) * 圖片紋理 1. shift+A ![](https://i.imgur.com/f9s5lKD.png) 2. 將紋理賦予物件 ![](https://i.imgur.com/neuLC2X.png) 3. 可以用於粗糙和法向量效果設定 * UV編輯視窗 ![](https://i.imgur.com/vYjL7aK.png) * 使用粗糙面要把color space改為non-color ![](https://i.imgur.com/t3Ev5W0.png) ![](https://i.imgur.com/Mk8zzT0.png) * 混合兩種shader: Mix shade ![](https://i.imgur.com/xVjotWf.png) * 法線材值設定 ![](https://i.imgur.com/jZeb1WK.png) ## 物件修改器 * Decimate: 降低物件的面數 ![](https://i.imgur.com/a5Csgvu.png) * Bevel:斜角 可選擇用weight/angle方式 ![](https://i.imgur.com/SOLh2Lb.png) ## 參考網站 * 紋理:plyhaven.com * 技巧:https://kaicho-cg.com/geometry-node-master-serie/ * geometry node: https://www.youtube.com/watch?v=WOccqv3ymYw * 課程:https://www.wingfox.com/c/8927_79782_24897 WFX15
{"metaMigratedAt":"2023-06-17T06:19:32.941Z","metaMigratedFrom":"Content","title":"Blender 骨架","breaks":true,"contributors":"[{\"id\":\"63b1c5d8-8363-4956-9420-102f1de55d83\",\"add\":11004,\"del\":335}]"}
Expand menu