身為動畫師兼技術指導的拉夫·安佐文始終在重新思考綁定流程,最終開發了 “臨時綁定”。它可以置身于 Maya 節點圖之外,因此我們在制作動畫時也可以重新配置綁定。
相較之下,如果使用當前流行的綁定方法,角色綁定必須體現角色特征,而且這些特征無法在綁定完成后再次修改。
最近,拉夫上傳了一段視頻,展示了臨時綁定的概念和具體作用。
拉夫特別提出:“視頻中有一個‘快速動畫’測試,十倍速的播放了我在這個測試里,用臨時綁定制作的一段動畫過程,但動畫沒有使用插值,所以里面只有綁定的直接控制,沒有任何曲線編輯器或通道面板。”接著,拉夫闡述了這種方法和傳統綁定的具體區別。
以下內容,動畫手冊在譯成中文的過程中盡力了,如讀到難以理解的生僻詞,還請多意會。也歡迎您自薦,成為我們的金牌翻譯官。
什么是臨時綁定?
傳統綁定對動畫師來說就像一套機器,它有自己的層級、約束和其它節點聯接,按照事先構造的單一方式運作。傳統綁定與動畫師的互動關系只有一種,但動畫師卻需要更加靈活多變地運用綁定。
- Anzovin
舉個最簡單的例子,為了給人物四肢擺 Pose,有時需要用 IK,有時又要用 FK。傳統綁定的解決辦法是切換或混合 IK 和 FK,但這種方法局限性很強。
如此一來,動畫師不僅需要給人物擺 Pose,還要找到合適的切換方法和切換時間,同時顧及切換對插值的影響。
動畫師和綁定之間的互動越多,動畫師需要關注的元素就越多,從而給動畫制作增加很多與動畫制作本身(即賦予人物生動的表演)無關的冗雜工作。
“機器化”的綁定也會限制控制器的隨時調用。例如,在制作動畫時,IK 控制器和 FK 控制器可能需要互相跟隨來實現無縫切換。那么問題來了:這是個死循環。
但是,臨時綁定中不存在這個問題,因為它不以層級關系和約束為前提。臨時控制器沒有層級,控制器本身沒有空間,且不與其它控制發生關聯,因此它們也沒有 IK/FK 的轉換空間。只有在動畫師使用綁定時綁定才存在,因此稱之為“臨時”綁定。
與傳統綁定相反,臨時綁定給動畫師提供的是一套使用綁定的工具和不同模式。這些工具即可以像傳統的 FK 和 IK 一樣運作,也可以完全不同。
例如,視頻中,你可以看見我在 FK 和“反向動力學”(不同于 IK)之間隨意切換。這種傳統綁定中的循環現象在臨時綁定中完全不成問題。
臨時綁定對動畫師來說簡便很多,因為他們只需要考慮此時此刻應該使用什么工具來操控綁定,而工具本身對插值不產生影響(其實,插值可能存在,也可能不存在,但這是另一個話題了)。
這也給綁定師帶來很多便利,因為他們只需讓手里的工具發揮作用,不需要為了滿足動畫師的一切需求而創建一個龐大繁雜的機械系統。
"I had to write my own rigging system that sits on top of Maya”
- Anzovin
但是,Maya 的場景結構不能用于創建臨時綁定。為了實現這個原型,我必須自己寫能適配于 Maya、且能夠與場景交互的綁定系統,但是這里會出現節點回調。
有了這樣的系統,主要控制器就可以使用臨時交互,次級控制器和變形器也可以使用 Maya 的場景結構。
需要注意的是臨時綁定的概念并非空中樓閣,相反,此前已經有很多相關積累,尤其是拉斐爾·弗拉加潘在《極端綁定》中的探索。我覺得綁定的概念正在進行顛覆性更迭,《極端綁定》就是其推動者之一,許多傳統觀念將就此消亡。
是什么驅使你制作這樣的綁定系統?
我跟很多從動畫師做起的綁定師一樣,因為對綁定不滿而開始自己動手。不同的是,在做綁定的同時我還會繼續做制作動畫。不過我現在對綁定還是不怎么滿意,哪怕是我自己的綁定也不太行。
如今,很多東西都變了。我剛開始綁定時,IK 還是一個新概念呢!但從另一方面 來說,這些東西又幾乎沒從未改變。
CG 動畫制作依然是一個復雜漫長的過程, 其中很多不必要的麻煩依然存在。因此,一個制作精良的角色動畫所花費的時間,往往超出它實際需要的時間,這也就增加了動畫影片制作的復雜程度和成本。
作為綁定師,我希望能夠從技術層面來處理問題。臨時綁定系統其實就是用 Python 寫的(矩陣和四元數除外,這些用了 Maya 里的 math classes)。當制作動畫時,我首要考慮角色的感受,以及如何通過形狀和動作表達這種感受。最后考慮的才是如何使用綁定。
TSM 有可能添加臨時綁定嗎?
The Setup Machine是一個自動綁定工具,它通過 Maya 節點來制作綁定。臨時綁定系統跟這個工具幾乎相悖,它甚至不使用 Maya 的場景結構,所以 TSM 沒有添加這個綁定系統的理由。但是,如果這個樣品版本在生產制作中得以通過檢測,就有可能加入 Anzovin 綁定工具。
我想要說的一些話
我在這里主要想嘗試解決 CG 動畫制作過于困難的問題。動畫本身已經是一個很不簡單的藝術活了,所以 CG 工具真的不應該再來添亂了。
很多人都試圖通過解算來解決這個問題,因為在解算動畫和程序動畫中,軟件里的大部分運動通過解算設定。但我的方法背道而馳。我希望動畫師只需要用最直接的方法制作角色動畫,因此需要剔除其中的一切多余步驟。
若要如此,我就要斬除諸多根深蒂固的觀念和習慣。例如,完全摒棄關鍵幀插值。
這對于一般的傳統動畫來說還實現不了,但在一些我很感興趣的高度卡通化或風格化的影片中很有可能實現,因為大部分此類影片動作幅度大,可以用分解插件插入中間幀。
長遠來看,我覺得其實會絕大多數人物動畫都不需要插值,只是我們現在還沒有好用的工具。(而且,除了個別特效鏡頭外,我也不贊成使用解算。沒錯,我會手動制作布料動畫,而且手動更快。)
摒棄插值為角色綁定打開了新世界的大門,依賴插值的傳統動畫也會是其受益者。這里就說到了“臨時綁定”的概念。臨時綁定與傳統綁定不同,它只在你使用時才存在。
因此,它會任你擺布而不受層級關系、FK/IK 切換、空間轉換和分層控制等束縛,不受一切傳統 CG 綁定問題的困擾。
臨時綁定有什么用
你可以像切換工具一樣切換不同的操控模式。
只需要“向前”和“向后”即可操控綁定,不受層級束縛。
順便提一句,這種情況下足部的反向動作不再屬于特殊動作,反而成為綁定系 統中的繼承部分。
你可以給節點配對,然后從任意一端來操控整體。這種情況在 Maya 的節點圖 里是循環,但在臨時綁定的臨時節點圖里不會形成循環。
你可以從任意一點轉動任何控制器。
你可以使用任何一種綁定交互模式來制作 Breakdown。
以上這些功能在 Maya 的節點圖里都不可能實現。之前,我先用 Maya 的綁定節點來設計這套系統,但與此同時還要在節點圖里插入腳本以滿足各種綁定需求。那時,整個系統中只有一小部分是臨時的。
幾個月后,我清楚地意識到這種辦法只會忙中添亂,而且我也得承認一件很重要的事:綁定即軟件。要解決這個問題,就不能用綁定 TD 的思維去思考,而要從開發者的角度看問題。
最終,我設計了現在的臨時綁定系統,它獨立于 Maya,有自己的節點圖,不依附于 Maya 的場景結構,Maya 和它毫無關聯。我驚訝地發現,直接使用編碼來創建功能比生成 Maya 節點、修改場景結構要容易得多。
現在,這個系統原型混合了身體的臨時綁定和面部、手指、次級控制的傳統綁定,只適用于無插值動畫。但是,臨時綁定完全可以覆蓋在傳統綁定上。
這樣就可以在做 Blocking 及之后的階段時使用臨時綁定,即無插值綁定,再使用傳統綁定和插值做 Polishing 階段。關鍵是,運動設定好后可以用這種方法來選擇空間和 FK/IK 切換點,而不用在設計形狀時就創建空間和 FK/IK 切換點。
我覺得這有點像給 ZBrush 的雕刻模型重新拓撲,先擬定基本形狀后再加網線,而不是一邊定形狀一邊加線。我們通常會想要先完全排除像網線、UV(用于建模)、關鍵幀位置和切換/混合(用于動畫)這樣的技術問題,如此一來,即使技術決策無法完全獨立于藝術決策,依然可以很有收獲。
聲明:轉載此文是出于傳遞更多信息之目的。若有來源標注錯誤或侵犯了您的合法權益,請作者持權屬證明與本網聯系,我們將及時更正、刪除,謝謝。
文/Anzovin 來源/動畫手冊
原文:https://mp.weixin.qq.com/s/y65q0sXE-Q4oN4-ccNdLDw
內容由作者原創,轉載請注明來源,附以原文鏈接
http://www.jgug.cn/news/5975.html全部評論
分享到微信朋友圈
表情
添加圖片
發表評論