Max 骨骼的旋轉軸

Max 骨骼的旋轉軸

更新於 發佈於 閱讀時間約 3 分鐘

這篇文章會提到幾個名詞,然後引用幾篇文章,有興趣了解的可以去看看

旋轉軸產生的問題

在 3D 環境中一定會遇到骨骼旋轉會亂轉的狀況,有被稱作"亂軸",這名稱不是通用說法,也有人說歐拉角或是萬象軸問題,但亂軸說法比較點單易懂,起因是旋轉的計算方式

想了解坐標軸計算,建議看:欧拉角和四元数

可以看旋轉的路徑是歪的

可以看旋轉的路徑是歪的

相關名詞

歐拉 Euler

維基說明:環架鎖定

XYZ 軸旋轉是歐拉角(Euler),會產生萬象鎖(Gimabl Lock)的現象,就是亂軸,最簡單的理解是有旋轉軸重疊,才導致亂軸的狀況產生,max 可以切換旋轉軸到 Gimabl 看是否有旋轉軸重疊

切換到Gimbal,可以看到旋轉軸有重疊

切換到Gimbal,可以看到旋轉軸有重疊


四元數 Quaternion

維基說明:四元數與空間旋轉

可避免亂軸的產生,但計算不是 XYZ 軸,所以調整軌跡曲線不是很直覺,max 將此計算方式用 TCB 去調整,就完全不是用曲線控制

(Blender 則是 WXYZ ,有四個軸向)

Biped 可以設定軸向計算類型

Biped 可以設定軸向計算類型

TCB

max 官方手冊:TCB Controllers

根據官方解釋 TCB 是 T(Tension)張力、C(Continuity)連續性、B(Bias)偏移,使用參數去調整曲線,曲線編輯不直覺,沒有控制柄直接改曲線形狀,所以當切換到 TCB ,我是不使用曲線編輯,只會去調整 Bias 參數

TCB操作介面

TCB操作介面

遇到亂軸的解決方法

動畫前的設定

  • 增加父級骨骼:父級和子級要相同軸向,父級等於中繼點
  • 骨骼做 Freeze 凍結歸零
  • 直接使用 TCB 旋轉


已經有動畫,產生亂軸

  • 使用歐拉過濾器(Euler Filter)
  • 先切換到 TCB 旋轉再切回 Euler 旋轉


特別注意

TCB的特性由於計算方式不同,所以完全不用擔心會遇到亂軸問題,會自動計算出最短路徑,可以利用在需要大幅度任意旋轉,不去思考曲線,但如果想要旋轉一圈或是超過180度,就必須多設關鍵幀或是記得勾選Rotation Windup(Biped 沒 Rotation Windup選項)

Biped 雖然可以設定歐拉 Euler,但不建議使用,因為 Biped 是獨自的系統,在曲線編輯上比 Bone 還複雜難用,一般我不會換到歐拉 Euler

avatar-img
知道也沒用的動畫隨筆
13會員
58內容數
動畫師一名,技術不算炸裂,至少還能把角色動起來。這裡是我對動畫、工作、生活的低頻碎唸集合站。你會看到工作心得、技術筆記、動漫相關的廢話,總之就是寫給空氣看的,歡迎路過,但不必停留
留言
avatar-img
留言分享你的想法!
遊戲動畫製作上,通常會一個角色有多套動作,要怎麼管理動作資料,一個小筆記分享
當動畫要輸出到引擎,有些軟體內建的縮放效果會不支援,以及父子層級會影響縮放效果,這都是在動畫製作上要優先考慮的要點
試想一下要做武器換手或是放下物品的動畫,物件要改變跟隨物件時怎麼製作,最簡單的理解是約束對象換人,但實際操作又有不同方法和問題
遊戲動畫製作上,通常會一個角色有多套動作,要怎麼管理動作資料,一個小筆記分享
當動畫要輸出到引擎,有些軟體內建的縮放效果會不支援,以及父子層級會影響縮放效果,這都是在動畫製作上要優先考慮的要點
試想一下要做武器換手或是放下物品的動畫,物件要改變跟隨物件時怎麼製作,最簡單的理解是約束對象換人,但實際操作又有不同方法和問題