如何讓綁定角色沿直線移動,而不是自動走弧線
若要讓綁定角色沿直線移動,請在兩個位置之間為其移動控制項製作動畫,讓平移關鍵影格在時間上對齊,並在初步測試時使用線性切線。如果角色仍然走弧線,請檢查其父層變換以及是否連接了任何運動路徑。
本指南適用於已具備可運作角色綁定、但發現起始姿勢與結束姿勢之間出現不想要弧線的動畫師。步驟以 Maya 為例。目標是在保留獨立姿勢動畫的同時,讓角色整體移動路徑變直。
判斷問題出在路徑還是速度
直線路徑與固定速度是兩項不同的要求。角色可以沿直線逐漸加速,也可以沿曲線以固定速度移動。Adobe 的文件明確區分空間插值(控制物件在空間中的移動)與時間插值(控制隨時間產生的變化)。這項區分有助於判斷動畫中哪個部分需要調整。After Effects 中的關鍵影格插值
首先,選定應沿直線移動的點:移動控制項的原點、根骨骼,或其他明確定義的綁定點。在整段移動過程中觀察同一個點。即使角色整體沿直線移動,旋轉或擺姿勢的角色,其末端仍可能走出彎曲軌跡。
調整動畫前,請先依序進行以下診斷:
| 觀察到的情況 | 優先檢查項目 |
|---|---|
| 移動點偏離預定直線 | 平移曲線與中間關鍵影格 |
| 路徑是直線,但移動速度忽快忽慢 | 時間設定與切線斜率 |
| 平移曲線看起來是線性的,但移動點仍走弧線 | 父層變換或其他驅動連接 |
| 移動點維持直線,其他部位卻走弧線 | 局部姿勢動畫與綁定計算 |
選擇真正帶動整個角色的控制項
先從綁定指定的移動控制項開始。控制項的名稱和用途依綁定而異:名為「global」的控制項可能用於定位,另一個控制項則用於製作移動動畫。對預定使用的控制項進行小幅臨時平移,檢查結果後復原測試。
確認角色可見部位與相關控制項都會一起跟隨。如果某些控制項留在原地,請先了解綁定預期的跟隨方式,再建立移動關鍵影格。編輯任意骨骼或可見網格,會讓測試結果更難判讀。
也請檢查控制項的父層階層。Maya 物件可以繼承父物件的變換。因此,在會旋轉的動畫父層下方進行直線局部平移,可能會在世界空間中產生彎曲軌跡。這是繼承的變換與局部動畫結合後的結果。Maya inheritTransform 指令
初步測試時,請使用父層變換在測試區間內保持固定的移動控制項。如果需要暫時隔離現有動畫,請在另存的副本中操作。請記錄原始數值,不要將控制項歸零,因為其偏移可能是綁定設定的一部分。
建立乾淨的雙關鍵影格平移測試
使用兩個端點關鍵影格,確認基本平移是否正常。以下數值僅為場景單位示例,並非特定角色的測量值。這些數值假設使用可編輯的移動控制項,且其座標框架固定,沒有其他連接在驅動其平移。
| 影格 | Translate X | Translate Y | Translate Z |
|---|---|---|---|
| 1 | 0 | 0 | 0 |
| 25 | 6 | 0 | 0 |
在 Maya 中,請依下列步驟建立測試:
- 選取移動控制項,並將時間滑桿移至第 1 格。
- 在通道盒中輸入起始平移數值。
- 選取 Translate X、Translate Y 和 Translate Z 屬性名稱,按一下滑鼠右鍵,然後選擇 Key Selected。
- 移至第 25 格,並輸入目的地數值。
- 再次為相同的三個平移屬性建立關鍵影格。
- 檢查這段區間是否已有平移關鍵影格。在測試副本中,只移除與預定移動相衝突的中間關鍵影格,並保留無關的姿勢動畫。
Maya 支援透過通道盒為個別屬性或選取的屬性群組建立關鍵影格。使用 Key Selected 可明確限定測試範圍。如果控制項起始數值不是零,請保留其偏移,並將所需位移加到適當軸向。在通道盒中設定關鍵影格
為平移關鍵影格套用線性切線
選取移動控制項,開啟 Maya 的曲線圖編輯器。顯示其平移通道,選取這些通道上的端點關鍵影格,然後選擇 Tangents > Linear。請將變更套用到移動涉及的所有平移通道。Maya 文件指出,線性切線會在關鍵影格之間形成直線動畫曲線線段。曲線圖編輯器工具列、關鍵影格切線標記選單
在範例移動中,X 應穩定增加,而 Y 和 Z 保持不變。請在整段區間中拖曳時間滑桿檢查,不要只確認端點。角色即使抵達正確目的地,中途也可能偏離預定路徑。
若要沿對角線移動,所有會變化的平移通道都必須使用相同的起始和結束影格。例如,在同一座標框架中,從 (0, 0, 0) 移至 (6, 0, 3),並使用同步的線性插值,會形成筆直的對角線。如果 X 比 Z 早完成,合成後的軌跡就會改變方向。
請選擇性地套用線性切線。將綁定中的每個關鍵影格都轉換為線性,也會改變不需要修正的姿勢時間設定。Autodesk 區分了線性、樣條、平坦等不同切線類型,因為它們會在關鍵影格數值之間產生不同的轉變。關鍵影格切線標記選單
使用運動軌跡與中點檢查確認結果
在移動控制項上建立運動軌跡,以檢查其移動路徑。在 Maya 的動畫選單組中,開啟 Visualize > Open Motion Trail Editor,選取適當的顯示範圍,並在選取動畫控制項的狀態下按一下 Create Motion Trail。文件所述工作流程包含「Before and After」顯示模式,可用來檢查目前影格前後的移動。建立與編輯運動軌跡
使用範例數值進行數值檢查。第 13 格位於第 1 格與第 25 格的正中間,因此預期平移為 (3, 0, 0)。對角線範例的預期值則為 (3, 0, 1.5)。這些是同步線性插值的計算預期值,並非軟體測試結果。
一般檢查公式為 P(u) = A + u × (B − A),其中 A 是起始位置、B 是目的地,而 u 是從 0 到 1 的進度值。在四分之一進度時,位置應在整段線段的四分之一處。這可以同時檢查方向與間距。
請從多個固定視角檢查,讓深度變化清晰可見。請記住,運動軌跡會顯示實際產生的移動;它與驅動物件沿指定路徑移動的運動路徑不同。使用運動軌跡預覽動畫
診斷線性插值後仍然存在的弧線
如果雙關鍵影格測試仍產生弧線,請檢查影響最終位置的因素。首先檢查整段區間中的父層階層。父層可能在起始與結束時看起來方向相同,中間卻曾旋轉,因此也要檢查中間影格。請使用綁定預期的移動空間,不要在不了解設定的情況下更改變換繼承。Maya inheritTransform 指令
接著,檢查控制項是否附加到運動路徑。Maya 的路徑動畫會讓物件沿著定義好的三維路徑移動,其文件將調整路徑形狀和改變移動速度視為不同操作。如果路徑本身是彎曲的,只改變時間設定並不能讓它變直。請將路徑編輯成直線線段,或使用綁定支援的直接平移工作流程。路徑動畫
最後,請比較移動控制項的軌跡與看起來走弧線的特定骨骼或控制項。綁定計算可能會產生不同的中間結果。例如,Autodesk 文件指出,HumanIK 的全域 IK 效應器與階層區域 FK 效應器不會以相同方式插值。因此,移動控制項走直線並不代表綁定中的每個點都會沿相同路徑移動。HumanIK 控制項
加入緩入緩出而不讓路徑重新彎曲
確認路徑後,決定角色應維持固定速度,還是在移動開始與結束時逐漸加減速。若只沿 X 軸移動,請讓 Y 和 Z 保持固定,並且只調整 X 軸的時間設定。只要座標框架保持固定,改變單一軸向上的進度就不會產生側向位移。
若要沿對角線移動,所有會變化的座標都必須使用相同的正規化進度。在表示式 P(u) = A + u × (B − A) 中,緩動會改變 u 隨時間推進的方式。分別編輯每個座標的緩動,可能會破壞這種關係並使路徑彎曲。這是由直線方程式推導出的幾何條件。
最後,在預定的姿勢動畫啟用時檢查完整綁定。確認整段區間的端點、中間位置與移動軌跡。保留已確認的移動動畫作為參考,再繼續微調角色的局部動作。
