縮放變形在動畫運用中很常見,但在3D遊戲中因為要經過輸出到引擎的過程,縮放就變成需要特別去處理的問題
首先,縮放的觀念是:父級會影響子級,因為當骨骼有層級關係,縮放就會連帶影響全部子級,這也是為什麼做綁定時,骨骼一定都要維持在 100% 縮放值,雖然在 Max 中可以取消縮放繼承關係,但輸出檔FBX是不支援這功能,也就是在 Max 裡看到的效果和輸出效果是不同的,因此必須視情況去使用
Bip 預設是無法做縮放,必須手動去設定就可以開啟縮放功能,礙於會有層級問題,一般都是不使用,如果是用在四肢末端就可以,影響範圍小,端看想要的動畫效果
Bip的縮放要開啟次級動畫和加入縮放 controller
Cat 要設定縮放很簡單,和普通 bone 相同作法,直接做縮放,也能設定是否要縮放繼承(使用方法需要了解Cat系統,這邊不多贅述)但同樣會遇到輸出問題
Cat可以直接縮放或是設定用位移拉伸
既然縮放有層級問題,那就轉向做另一種假的縮放,利用位移+權重去做拉伸效果,詳細的原理推薦下面這篇文章解釋
游戏中的骨骼拉伸动画怎么做 - 上篇_3dmaxbone骨骼约束-CSDN博客
如果動畫最後不需要進入引擎,就不需要考慮這麼多,在Max中呈現怎樣,算圖出來就是那樣,但如果要進引擎,就需要事先想好是否要做縮放拉伸,例如:哪些變形 FBX 格式不支援,不管是真的縮放還是虛假的縮放,只要最終效果是自己要的,就不用在意是否真假了