
簡(jiǎn)介一套面向三維動(dòng)畫初學(xué)者的3ds Max角色動(dòng)畫設(shè)計(jì)與骨骼綁定PPT課件適合動(dòng)畫專業(yè)學(xué)生、游戲美術(shù)人員及自學(xué)三維建模者系統(tǒng)學(xué)習(xí)。課件從角色動(dòng)畫概述入手依次講解Bones骨骼系統(tǒng)創(chuàng)建、剛性骨骼直接連接與軟性骨骼蒙皮兩種支配形式并深入介紹Skin修改器、封套范圍與衰減調(diào)節(jié)技巧同時(shí)覆蓋Character Studio的Biped、Physique和群組三大插件核心用法。內(nèi)容結(jié)合機(jī)械臂運(yùn)動(dòng)、抬腿彎曲、卡通人物行走等實(shí)例完整呈現(xiàn)骨骼創(chuàng)建、IK連接到蒙皮變形的操作流程讀者可據(jù)此搭建從建模到角色動(dòng)畫的整套制作思路末尾還附影視片頭制作實(shí)驗(yàn)示例涉及Blend混合材質(zhì)與Video Post電弧效果可拓寬后期應(yīng)用視野。資源共1個(gè)PPT文件壓縮包僅817KB目前已累計(jì)1602人學(xué)習(xí)適合入門到進(jìn)階快速掌握骨骼綁定與角色動(dòng)畫核心要點(diǎn)。1. 角色動(dòng)畫入門為什么總卡在骨骼綁定這一步做過角色動(dòng)畫的人基本都有同感建模和材質(zhì)折騰幾天都能搞定但一到骨骼綁定就開始玄學(xué)要么模型跟著骨骼飛了要么關(guān)節(jié)彎曲時(shí)皮膚穿模得像紙片。這套 3ds Max 角色動(dòng)畫設(shè)計(jì)骨骼綁定資料正好把從剛性骨骼到 Character Studio 軟性蒙皮的完整路徑串起來了。它解決的不是“某個(gè)按鈕在哪”的問題而是讓你理解骨骼支配模型的兩種形式——直接連接和蒙皮——分別該在什么場(chǎng)景用、關(guān)鍵參數(shù)怎么調(diào)。適合剛摸過 3ds Max 界面、想做機(jī)械臂或卡通人物動(dòng)畫的從業(yè)者也適合被 IK 和封套折磨過、想系統(tǒng)理一遍流程的人。讀完后你至少能獨(dú)立完成一個(gè)帶 IK 的機(jī)械臂抓取動(dòng)畫和一個(gè)不穿模的抬腿彎曲動(dòng)畫。2. 剛性骨骼與 IK 鏈先搞懂直接連接的邏輯2.1 Bones 系統(tǒng)與層級(jí)結(jié)構(gòu)為什么機(jī)械臂適合直接連接3ds Max 內(nèi)置的 Bones 系統(tǒng)本質(zhì)上是創(chuàng)建一套有父子層級(jí)的關(guān)節(jié)鏈。每個(gè)骨骼對(duì)象都有自身的軸心點(diǎn)子骨骼繼承父骨骼的變換。直接連接方式指把模型對(duì)象通過鏈接工具掛到骨骼上模型自身不變形骨骼轉(zhuǎn)它就跟著轉(zhuǎn)。這種方式的優(yōu)點(diǎn)是完全可控、計(jì)算量小缺點(diǎn)是沒有肌肉變形效果所以天然適合機(jī)器人、木偶這類硬表面角色。創(chuàng)建骨骼時(shí)在創(chuàng)建面板的“系統(tǒng)”選項(xiàng)卡下選 Bones然后在頂視圖依次點(diǎn)擊就能拉出一串骨骼鏈。操作上有個(gè)習(xí)慣值得養(yǎng)成別一口氣拉完一整條鏈而是分段創(chuàng)建再手動(dòng)調(diào)整層級(jí)。比如機(jī)械臂的基座、大臂、小臂、手掌各建一段然后在層級(jí)面板里把后一段鏈接到前一段下面。這樣每一節(jié)骨骼的旋轉(zhuǎn)中心都在關(guān)節(jié)位置后面調(diào) IK 時(shí)不會(huì)出現(xiàn)“轉(zhuǎn)大臂結(jié)果小臂跟著亂跑”的情況。調(diào)節(jié)骨骼鏈時(shí)有一個(gè)關(guān)鍵開關(guān)層級(jí)面板中的 Dont Affect Children。打開它后再移動(dòng)或旋轉(zhuǎn)某節(jié)骨骼子骨骼不會(huì)跟著動(dòng)這樣能單獨(dú)調(diào)正每一節(jié)骨骼的位置和朝向確保骨骼鏈和模型對(duì)位。這一步做得越仔細(xì)后面蒙皮時(shí)就越省事。我見過不少人圖省事跳過這步結(jié)果 IK 鏈加上去后骨骼鏈在關(guān)節(jié)處彎折得很難看只能刪掉重來。2.2 機(jī)械臂動(dòng)畫實(shí)例HI Solver 的正反向運(yùn)動(dòng)合成機(jī)械臂動(dòng)畫的完整流程分五步創(chuàng)建骨骼、調(diào)節(jié)骨骼鏈、連接模型、創(chuàng)建 IK 連接、關(guān)鍵幀做動(dòng)畫。IK反向運(yùn)動(dòng)學(xué)和 FK正向運(yùn)動(dòng)學(xué)的區(qū)別在于FK 是從父骨骼往子骨骼逐級(jí)旋轉(zhuǎn)IK 則是拖動(dòng)末端控制器讓系統(tǒng)反算中間關(guān)節(jié)的旋轉(zhuǎn)。機(jī)械臂抓取動(dòng)作用 HI Solver歷史獨(dú)立解算器最合適因?yàn)樗慕馑闼俣瓤?、穩(wěn)定性好而且支持交互式拖動(dòng)。選中骨骼鏈的起始骨骼在“動(dòng)畫”菜單中選擇“IK 解算器”下的“HI 解算器”然后點(diǎn)擊鏈末端的骨骼系統(tǒng)會(huì)生成一條 IK 鏈和一個(gè)末端控制器。控制器是個(gè)十字叉移動(dòng)它就能驅(qū)動(dòng)整條骨骼鏈彎轉(zhuǎn)。創(chuàng)建 IK 鏈的 MaxScript 邏輯大致如下-- 選擇第一根骨骼作為鏈的起點(diǎn) select $Bone01 -- 應(yīng)用 HI Solver拾取鏈的末端骨骼 ik HI_IK_Solver() ik.addEnd $Bone03 -- 選中 IK 鏈控制器方便后續(xù)設(shè)置關(guān)鍵幀 select ik.controller這段腳本的核心就是選中起點(diǎn)骨骼后把末端骨骼指定給解算器讓系統(tǒng)自動(dòng)計(jì)算從起點(diǎn)到終點(diǎn)的整條鏈。實(shí)際操作一般不用寫腳本菜單操作更快但理解原理很重要HI Solver 會(huì)把 IK 鏈的目標(biāo)位置和朝向都交給末端控制器你在關(guān)鍵幀上拖動(dòng)控制器3ds Max 會(huì)自動(dòng)為鏈上所有關(guān)節(jié)生成旋轉(zhuǎn)值。參數(shù)上需要注意“IK 解算平面”的設(shè)定——它決定關(guān)節(jié)彎曲的方向機(jī)械臂抓取時(shí)解算平面要朝前否則大臂會(huì)往側(cè)邊扭。關(guān)鍵幀的設(shè)置方式是在不同的幀上移動(dòng) IK 控制器記錄抓取的幾個(gè)關(guān)鍵姿態(tài)。比如第 0 幀手臂伸平、第 10 幀手臂下探、第 20 幀手指合攏。直接在自動(dòng)關(guān)鍵點(diǎn)模式下拖動(dòng)控制器就行。這里有個(gè)容易踩的坑拖動(dòng)控制器時(shí)要確認(rèn)選中的是 IK 鏈的末端控制器而不是某節(jié)骨骼本身不然錄出來的關(guān)鍵幀是骨骼旋轉(zhuǎn)而非 IK 目標(biāo)位置回放時(shí)動(dòng)畫會(huì)變得不可控。3. 軟性蒙皮與 Skin 修改器解決皮膚變形問題3.1 蒙皮原理Skin 修改器如何讓網(wǎng)格跟隨骨骼軟性蒙皮連接方式下模型網(wǎng)格不再是被硬綁到骨架上而是通過 Skin 修改器讓每根骨骼對(duì)網(wǎng)格頂點(diǎn)施加權(quán)重影響。骨骼運(yùn)動(dòng)會(huì)帶動(dòng)頂點(diǎn)移動(dòng)頂點(diǎn)又會(huì)因?yàn)橄噜徆趋赖臋?quán)重疊加產(chǎn)生平滑形變。這個(gè)過程就是“蒙皮”。難點(diǎn)在于權(quán)重怎么分配3ds Max 的默認(rèn)分配結(jié)果通常只能應(yīng)付簡(jiǎn)單動(dòng)作復(fù)雜動(dòng)作必須手動(dòng)調(diào)。給模型添加蒙皮的常規(guī)流程是選中模型對(duì)象在修改器列表中添加 Skin 修改器然后在修改器參數(shù)面板中點(diǎn)擊“添加骨骼”把場(chǎng)景里對(duì)應(yīng)的骨骼全部選進(jìn)去。這里有個(gè)容易忽略的細(xì)節(jié)添加骨骼時(shí)要按層級(jí)順序加先加父骨骼再加子骨骼后續(xù)調(diào)整權(quán)重時(shí)面板里的列表順序會(huì)和骨骼層級(jí)一致找起來省事。權(quán)重分配的核心機(jī)制是“封套”。每個(gè)封套由內(nèi)部框和外部框組成內(nèi)部框內(nèi)的頂點(diǎn)受骨骼的完全控制外部框內(nèi)的頂點(diǎn)呈衰減式影響框外則完全不受影響。紅色表示完全控制區(qū)棕色表示衰減區(qū)。調(diào)節(jié)封套時(shí)選中骨骼對(duì)應(yīng)的封套在視口中直接拖動(dòng)紅色或棕色框的控制點(diǎn)即可不用在參數(shù)面板里摳數(shù)字。3.2 抬腿彎曲動(dòng)畫封套調(diào)節(jié)的四個(gè)關(guān)鍵參數(shù)抬腿動(dòng)畫實(shí)例中用到了大腿骨和小腿骨兩層封套的配合。做完骨骼創(chuàng)建和 IK 連接后添加 Skin 修改器然后針對(duì)大腿骨和小腿骨分別調(diào)節(jié)封套讓膝蓋彎曲區(qū)域的頂點(diǎn)平滑過渡。在 Skin 參數(shù)面板中有幾個(gè)關(guān)鍵參數(shù)值得理解參數(shù)名作用推薦起點(diǎn)半徑封套的影響范圍大小先以模型局部尺寸的 1/3 起步內(nèi)部框完全控制區(qū)的邊界包裹骨骼周圍最近一層頂點(diǎn)外部框衰減區(qū)的邊界覆蓋關(guān)節(jié)兩側(cè)各一圈頂點(diǎn)衰減系數(shù)頂點(diǎn)權(quán)重衰減速度默認(rèn)值即可復(fù)雜動(dòng)作調(diào)低到 0.5調(diào)節(jié)封套后還要做一個(gè)驗(yàn)證動(dòng)作在視口中拖動(dòng) IK 鏈讓腿做出彎曲姿態(tài)觀察膝蓋區(qū)域網(wǎng)格是否出現(xiàn)異常拉伸或塌陷。常見的做法是讓膝蓋彎曲到 90 度以上封套調(diào)得好此時(shí)膝蓋窩會(huì)自然凹陷前面凸起平滑。如果出現(xiàn)尖銳褶皺多半是內(nèi)外框范圍設(shè)置過窄頂點(diǎn)在外框外完全沒有受到骨骼影響。這里有個(gè)小技巧調(diào)封套時(shí)把視口改成線框加實(shí)體疊加顯示能看清頂點(diǎn)落在封套的哪個(gè)區(qū)域內(nèi)。另外如果某個(gè)頂點(diǎn)始終不受控制可以選中該頂點(diǎn)在 Skin 修改器的權(quán)重表里手動(dòng)指定它的骨骼權(quán)重。不要只用封套范圍框一條路走到黑——當(dāng)某節(jié)骨骼與相鄰骨骼的封套重疊太多時(shí)頂點(diǎn)權(quán)重會(huì)互相打架手動(dòng)指定反而更快。4. Character Studio 三件套Biped、Physique 與群組體系4.1 Biped 骨骼與體形模式把默認(rèn)骨架對(duì)位到角色模型Character Studio 是 3ds Max 集成的一套專業(yè)角色動(dòng)畫工具由 Biped、Physique 和群組三個(gè)組件組成。Biped 負(fù)責(zé)創(chuàng)建兩足動(dòng)物骨骼框架Physique 負(fù)責(zé)蒙皮和變形群組則用于群體動(dòng)畫。用 Biped 而不是手動(dòng)搭骨骼的最大優(yōu)勢(shì)是它的關(guān)節(jié)約束已經(jīng)內(nèi)置好了膝蓋只能向后彎肘部只能向內(nèi)彎不會(huì)出現(xiàn)反關(guān)節(jié)的詭異動(dòng)作。創(chuàng)建 Biped 后默認(rèn)骨架是一個(gè)標(biāo)準(zhǔn)人形和你的角色模型通常對(duì)不上。這時(shí)需要開啟“體形模式”體形按鈕在體形模式下移動(dòng)、旋轉(zhuǎn)或縮放每一塊骨骼讓骨架貼合模型網(wǎng)格。注意體形模式下做的修改是骨架的默認(rèn)姿態(tài)不是動(dòng)畫動(dòng)作——這個(gè)狀態(tài)下的對(duì)位越準(zhǔn)確后續(xù) Physique 蒙皮的效果越好。改參數(shù)時(shí)可以在創(chuàng)建面板調(diào)整“手臂”“頸部鏈接”“脊骨鏈接”等參數(shù)來適配角色體型。定位時(shí)我習(xí)慣先對(duì)齊根節(jié)點(diǎn)骨盆位置位于兩腿之間因?yàn)檎麄€(gè)骨架的變換都基于根節(jié)點(diǎn)。根節(jié)點(diǎn)位置錯(cuò)了后面腿部彎曲動(dòng)畫都會(huì)偏。對(duì)齊骨盆后依次調(diào)脊椎、頭部、雙臂和雙腿骨骼的軸心點(diǎn)必須落在模型對(duì)應(yīng)的關(guān)節(jié)位置。某開發(fā)者在做卡通女孩模型時(shí)就是因?yàn)榘汛笸裙堑妮S心放高了 3 厘米結(jié)果 Physique 蒙皮后膝蓋動(dòng)畫總偏移返工了整整一下午。4.2 Physique 蒙皮與封套重疊讓網(wǎng)格跟隨兩足動(dòng)物Physique 修改器附加到角色網(wǎng)格上后它會(huì)自動(dòng)讀取 Biped 骨架中的鏈接信息把網(wǎng)格頂點(diǎn)分配給對(duì)應(yīng)的鏈接。它的封套機(jī)制和 Skin 類似也是內(nèi)框完全控制、外框衰減控制但多了一個(gè)關(guān)鍵特性相鄰鏈接的封套可以重疊重疊區(qū)域內(nèi)的頂點(diǎn)會(huì)同時(shí)受兩條鏈接的影響從而在關(guān)節(jié)處產(chǎn)生平滑彎曲。應(yīng)用 Physique 的方法很簡(jiǎn)單選中角色網(wǎng)格添加 Physique 修改器點(diǎn)擊“附加到節(jié)點(diǎn)”按鈕然后拾取 Biped 的根節(jié)點(diǎn)。系統(tǒng)會(huì)自動(dòng)建立鏈接關(guān)系。之后調(diào)整封套時(shí)需要逐個(gè)骨骼檢查重點(diǎn)看關(guān)節(jié)處是否有足夠多的頂點(diǎn)落在重疊區(qū)域內(nèi)。重疊太少關(guān)節(jié)彎曲時(shí)會(huì)斷裂重疊太多會(huì)動(dòng)作滯澀。一個(gè)可復(fù)現(xiàn)的檢查方法是把模型彎曲到最大角度觀察網(wǎng)格是否有不自然的突起或凹陷有的話就調(diào)整對(duì)應(yīng)鏈接的外框范圍增加重疊區(qū)域。手動(dòng)調(diào)整封套這件事確實(shí)枯燥但繞不開個(gè)中分寸只能靠一遍遍試錯(cuò)來把握。5. 骨骼綁定避坑指南穿模、反關(guān)節(jié)與失控排查5.1 封套范圍沒覆蓋到位導(dǎo)致穿?,F(xiàn)象彎曲膝蓋或肘部時(shí)關(guān)節(jié)內(nèi)側(cè)的網(wǎng)格直接穿到另一邊皮膚像被捏破的氣球。 原因該骨骼的封套外框范圍太窄關(guān)節(jié)附近的頂點(diǎn)不在任何骨骼的影響范圍內(nèi)或者權(quán)重被錯(cuò)誤地分配給遠(yuǎn)處的骨骼。 解決選中出現(xiàn)穿模的骨骼在 Skin 或 Physique 修改器中擴(kuò)大外框半徑讓關(guān)節(jié)兩側(cè)的頂點(diǎn)都被覆蓋。如果擴(kuò)大后其他區(qū)域變形異常則縮小內(nèi)框半徑把完全控制區(qū)收窄。手動(dòng)微調(diào)時(shí)配合權(quán)重表直接指定頂點(diǎn)的權(quán)重值不要只依賴封套框的自動(dòng)分配。5.2 IK 鏈拖動(dòng)后骨骼反向彎折現(xiàn)象拖動(dòng) IK 控制器時(shí)膝蓋或肘部向錯(cuò)誤方向彎曲角色做出反關(guān)節(jié)姿勢(shì)。 原因IK 解算平面朝向設(shè)定錯(cuò)誤。默認(rèn)的平面方向可能和模型面對(duì)的方向不一致導(dǎo)致解算器選擇了錯(cuò)誤的彎曲方向。 解決在 Motion 面板中找到“IK 解算平面”參數(shù)調(diào)整平面法線方向或者直接拖動(dòng)平面指示器讓關(guān)節(jié)朝正確方向彎曲。對(duì)于 Biped 骨架檢查是否有骨骼在體形模式下被誤旋轉(zhuǎn)了 180 度。這類問題通常在對(duì)位時(shí)不注意旋轉(zhuǎn)操作就會(huì)埋下隱患。5.3 Physique 附加后網(wǎng)格整體爆開現(xiàn)象應(yīng)用 Physique 并附加 Biped 后模型網(wǎng)格炸開頂點(diǎn)到處飛散完全無法使用。 原因常見為網(wǎng)格模型不是單一對(duì)象存在多個(gè)分離的重疊網(wǎng)格或未塌陷的修改器堆棧。Physique 在附加時(shí)無法正確處理頂點(diǎn)歸屬。 解決在附加前對(duì)模型執(zhí)行“附加”操作把所有分離網(wǎng)格合并為一個(gè)可編輯多邊形并塌陷全部修改器。然后重置模型的變換重置 XForm確保模型的縮放為 100%。倒不是說每次都會(huì)炸但某跨平臺(tái)系統(tǒng)項(xiàng)目里就出現(xiàn)過類似問題排查后發(fā)現(xiàn)是縮放沒塌陷導(dǎo)致的解算錯(cuò)亂。5.4 關(guān)鍵幀上 IK 控制器位置正確但動(dòng)畫回放錯(cuò)亂現(xiàn)象每個(gè)關(guān)鍵幀上控制器位置都對(duì)但播放動(dòng)畫時(shí)骨骼鏈的運(yùn)動(dòng)軌跡明顯不對(duì)甚至跳到隨機(jī)位置。 原因IK 控制器的關(guān)鍵幀需要同時(shí)記錄位置和旋轉(zhuǎn)。如果只錄了位置沒錄旋轉(zhuǎn)或者誤刪了某個(gè)關(guān)鍵幀的控制器旋轉(zhuǎn)值播放時(shí) IK 鏈會(huì)嘗試恢復(fù)默認(rèn)旋轉(zhuǎn)導(dǎo)致軌跡混亂。 解決選中 IK 控制器在每個(gè)關(guān)鍵幀上都確認(rèn)位置與旋轉(zhuǎn)都已記錄關(guān)鍵幀。選中控制器后按 K 鍵可以快速為所有變換屬性補(bǔ)關(guān)鍵幀。播放前先把時(shí)間滑塊從第一幀拖到最后一幀檢查控制器軌跡線是否有異常跳點(diǎn)有則刪除該幀重新記錄。5.5 封套重疊區(qū)域過大導(dǎo)致動(dòng)作僵硬現(xiàn)象關(guān)節(jié)彎曲時(shí)動(dòng)作不流暢像被什么東西拽住一樣感覺有阻力。 原因相鄰骨骼的封套重疊區(qū)域過大導(dǎo)致大量頂點(diǎn)同時(shí)受兩根骨骼的強(qiáng)權(quán)重影響彎曲時(shí)互相拉扯。 解決縮小外框半徑減少重疊范圍。操作時(shí)逐根骨骼檢查封套重疊比例以關(guān)節(jié)線為界讓內(nèi)外框的衰減區(qū)在關(guān)節(jié)處有少量重疊即可。每次調(diào)整后都要彎曲測(cè)試觀察動(dòng)作是否變順暢。這個(gè)辦法能解決大多數(shù)僵硬問題前提是你愿意花時(shí)間逐個(gè)關(guān)節(jié)去磨。6. 行走動(dòng)畫的進(jìn)階操作BIP 文件復(fù)用與足跡動(dòng)畫做卡通人物行走動(dòng)畫時(shí)如果純靠手動(dòng)關(guān)鍵幀每個(gè)循環(huán)都要擺十幾個(gè)姿勢(shì)既慢又容易動(dòng)作不自然。Character Studio 的足跡動(dòng)畫模式可以直接生成一個(gè)自然的行走循環(huán)然后把動(dòng)畫參數(shù)保存成 BIP 文件用到其他模型上時(shí)直接加載。具體操作是選中 Biped 骨架進(jìn)入 Motion 面板點(diǎn)“足跡模式”然后在視口中點(diǎn)擊創(chuàng)建足跡。系統(tǒng)會(huì)自動(dòng)生成一串左右交替的足跡默認(rèn)的速度和步幅已經(jīng)比較自然。點(diǎn)擊“為非活動(dòng)足跡創(chuàng)建關(guān)鍵幀”后骨架會(huì)自動(dòng)生成完整的行走動(dòng)作。這個(gè)動(dòng)作雖然不是無懈可擊但作為基礎(chǔ)循環(huán)已經(jīng)很夠用。生成動(dòng)作后把包含手臂擺動(dòng)幅度的參數(shù)存成 BIP 文件下次換模型時(shí)選中新骨架直接加載 BIP 文件即可快速復(fù)用動(dòng)畫。BIP 文件的復(fù)用邏輯在項(xiàng)目里是通用的加載時(shí)它會(huì)自動(dòng)匹配同名骨骼所以使用時(shí)保持骨骼鏈命名的一致性是基本功。足跡動(dòng)畫生成后會(huì)有一個(gè)常見問題手臂擺動(dòng)幅度偏小缺乏個(gè)性。解決辦法是退出足跡模式在自由形式動(dòng)畫模式下手動(dòng)調(diào)整肩部骨骼的旋轉(zhuǎn)關(guān)鍵幀加大擺臂幅度。調(diào)整時(shí)注意只改肩膀的旋轉(zhuǎn)值不要?jiǎng)榆|干骨骼的位置否則會(huì)破壞行走的整體平衡感。驗(yàn)證方法有兩種一是逐幀檢查雙腳是否在足印上二是切換到側(cè)視圖回放看膝蓋抬起的節(jié)奏是否正常。從那以后我每次給新骨架做行走動(dòng)畫都強(qiáng)制走一遍“生成足跡轉(zhuǎn) BIP 存庫套模板”的流程能省下半天到一天的擺姿勢(shì)時(shí)間。希望這套骨骼綁定流程也能幫你少走點(diǎn)彎路。本文還有配套的精品資源點(diǎn)擊獲取