講的是Gears of War 3中的Face Rig
GOW3中的角色很多, 過場動畫也很多, 這就帶來了一些挑戰:
- 表情動畫必須容易編輯
- 在外包製作的基礎可以建立良好的工作流
- 動畫數據可以共享給不同的模型
容易編輯體現在所有結點都是一條曲線, 這也保證了數據的簡潔, 方便外包數據傳輸
靈感來自MGS4 XSI的文章
Rig分4層:
- Cage: 一個低面的幾何體, 定義了面部的大部分變形區域. 因爲面數低, 所以可以快速變形和進行迭代.
- Locator: 一些固定在Cage表面的點, 跟面部動作捕捉時用的關鍵點類似
- Offset Rig: 跟隨Locator移動, 所以調整一個Pose就是調整這些offset
- Joint: 也就是骨骼, 受Offset Rig約束
這裏提到一個F.A.C.S(Facial Action Coding System), 非常有借鑑意義: 即面部可以使用32個動作單元組合出所有的面部運動. 一個動作單元可以定義爲一個或多個面部肌肉的收縮或者放鬆.
通過Cage的變形(Morph, DCC中常用動畫製作方式的一種)帶動Locator
Locator的移動又帶動了Offset Rig控制點, 同時offset也就可以計算出來了
Joint是Offset Rig的子結點調節offset會帶動Joint的移動, 從而影響蒙皮的頂點.
因爲每個角色的Face Rig結構都一樣, 所以可以很方便地建立一套Pose庫, 而且這些數據可以在不同角色之間進行復用
轉到另一張臉的原理: 把新臉當成舊臉的Morph Target, 得到的變形數據可以疊加到Pose庫中的所有表情上, 這樣就完成了所有Pose的轉換.
一些瑕疵可以通過疊加一個校正變形
使用wrinkle map可以增加一些皺紋效果
當然這個方案還有一些改進空間:
- 進行權重蒙皮是一個瓶頸
- 製作校正變形是一個瓶頸
解決方案就是使用一個通用的頭部模型:
如果需要多個不同的臉, 就製作多個不同的校正變形. 這樣就不用再爲每張臉進行蒙皮, 也不用再單獨進行校正.
感嘆一句: Epic的技術美術太NB~