天下苦MAYA久矣

1995年上映的玩具總動員獲得了巨大的商業成功,開創了3D動畫的元年,也極大的刺激了當時美國的科技行業和動畫行業。那個年代的計算機科技巨頭,以生產圖形工作站著稱的SGI在那一年收購了兩個專註計算機圖形學研究的的研發團隊: Alias Research 和 Wavefront Technology,組成了一個新公司 Alias|Wavefront

在被收購之前,Alias已經開發了一款基於SGI的圖形工作站IRIX的動畫軟體 Alias Sketch,內部代號「瑪雅」。1998年,合併後的新公司推出了Maya1.0,這款新動畫軟體最革命性的一點是,除了在SGI昂貴的圖形工作站之上,它還能在IBM兼容機(現在俗稱給PC機)上運行。從此小工作室甚至個人製作動畫成為了可能。

IRIX機。 現在一般人說起電腦想到的只是PC和Mac,但在那個年代計算機定義遠沒有統一

可以想像,當年設計初代Maya的工程師有多麼超前的眼光,21年過去了,Alias|Wavefront 和 SGI 已成歷史,這款軟體還活得好好的。迭代了十幾個版本後,直到今天還是動畫和電影特效行業最常用,最主流的軟體。每年都有大量的影視作品使用它進行製作,大量的技術人員在這個平台上深度開發,極具生命力。

在90年代後期,Pixar,Dreamworks,Bluesky,ILM 這些 CG 先行者已經開發了自家內部使用的3D製作軟體,市場上無從得見。期望進入這個行業的後來者只能依賴於商業軟體,特別是沒有深度開發能力中小團隊,渴望購買的動畫製作軟體一定得是一個功能上大而全的東西。模型,材質,綁定,動畫,毛髮,特效,渲染,各環節缺一不可。在90年代末期面世的一批製作軟體,如3Ds Max, Softimage, Lightwave3D無一不是照此思路設計。

但再牛逼的人,也無法預見20年後科技行業發生的飛速變化。隨著市場的細分,CG行業出現了很多以「專」見長的製作軟體。這些軟體往往體量精小,只針對一兩個製作環節提供服務,用戶體驗極度優化,製作效果極佳。比如模型有Zbrush/Modo,材質有Mari/Substanser,特效有Houdini,燈光有Katana ... Maya 僅剩了綁定/動畫作為自己最後的領地。而且說句老實話,Maya能守住這個領域並不是它做得有多好,而是幾個主要競爭對手被餓死了。90年代末的風口已過,事實證明為CG行業提供軟體服務並不是一個多大的市場,當年風頭一時的幾個競爭對手和Maya先後被Autodesk收購,除了3Ds Max在建築動畫市場還有一席之地外,其他基本都死得差不多了。

為什麼說Maya在綁定動畫環節做得不好,這裡必須提到動畫師的最大需求:調節(Key/K)動畫必須快,K起來不能有延遲。那種沉重到拖一幀一停頓的角色綁定是動畫師的噩夢,除了效率低還會嚴重影響工作心情。現在質量比較高的動畫電影中主角一般都有3,5萬個面,單個角色綁定速度如果不能達到或者接近24FPS就一定會對動畫環節有影響(這裡的速度說的是畫面中上水平的電影級別,角色面數低或者綁定簡單的項目先不討論)。另外在多角色的大場景里,還需要有優化方案,否則兩個角色在一起直接就會把鏡頭速度降低一倍。

就這一點來說,在Maya2017推出並行計算之前,Autodesk 所做的實在乏善可陳。為了兼顧舊版本Maya的綁定,綁定所用的系統和節點二十年如一日;節點設計上,對方便性的考慮也優於對效率的考慮;十幾個版本下來,軟體本身越來越複雜,每個重大的更新都會牽扯上上下下多個環節的模塊,讓人覺得改動束手束腳,難有突破,且Bug叢生。幾乎可以說,過去十幾年中綁定動畫速度的提高,完全來自於計算機硬體性能的提升,而這種提升又被項目製作所需要精度的提高所抵消,最終動畫環節陷入一個困局:十幾年前動畫師抱怨的卡頓緩慢的情況,一點兒好轉的跡象都沒有。

為了繞開計算瓶頸,一版公司都會採取高低綁定替換,關閉部分角色,拆分角色到不同文件最後合併這些手段。但這些都是影響動畫師體驗,沒有辦法的辦法。

Maya2017 提供了並行計算,但是經常的崩潰讓我們在實踐中不敢使用

逼不得已,業內使用Maya製作的技術巨頭都在Maya內開發了自己的綁定系統。感謝這些公司的分享,讓我們從網上可以看到的一些內容。特別是 Weta 在 Siggraph2014 上的講座,給我們一個怎樣優化綁定,提升動畫速度的大概的想法和方向,並且在一些實踐中取得了效果。但這離我們對技術的理想還差得遠。每次看到動畫師在拉長著臉在和動畫文件奮鬥,總讓我們心中惴惴不安,難道我們不能在技術上做得更好一些,讓這個動畫行業內人最多,工作時間最長的部門,稍微輕鬆一些嗎?

每次看到動畫師在拉長著臉在和動畫文件奮鬥,總讓我們心中惴惴不安

所以,如果你是對3D動畫的綁定的技術有思考的人,請留意一下,我們正在找人一起來做出改變。歡迎來和我們交流,看看我們對動畫的理解能不能互相啟發。更歡迎加入追光動畫的 Rigging RnD 部門(我司的郵箱 apply@lightchaseranimation.com),來試試能不能和我們做出一些不一樣的東西。

救救孩子。

職位描述與要求:

  • 分析Maya中節點運算瓶頸;
  • 基於Maya開發插件節點優化綁定速度;
  • 角色綁定效果開發,為提升角色表演豐富度提供技術支持;
  • 與Pipeline TD合作將工具整合進生產流程;

資歷要求:

  • 紮實的數學基礎
  • 熟練使用CUDA
  • 熟練使用C/C++;
  • 有Maya API插件開發經驗;
  • 對Maya節點運算原理有了解;
  • 對綁定有了解;
  • 計算機科學技術相關背景;

推薦閱讀:

線稿之王,這樣的線稿一輩子也畫不來!
為什麼設計公司建模基本上都用sketchup和rhino等,但效果圖公司都用3Dmax建模渲染?
《阿麗塔:戰鬥天使》中那些看了讓人膽寒的炫技!
請問如何評價爵跡2的預告片?
閉合陰影是什麼?在cg中如何正確繪製?

TAG:動畫 | 動畫製作 | CG |