as rigid as possible技術會對動畫和遊戲產業產生巨大影響嗎?

這個技術大概是指:

1. 將2D圖片畫好

2. 程序預處理圖片,自動生成triangle mesh

3. 用戶增加操控點(handles)

4. 通過移動操控點可以自由變形

通過as rigid as possible,

只要畫出關鍵幀(甚至只要畫出主體),就能實現動畫。

這個技術的信息網站:http://www-ui.http://is.s.u-tokyo.ac.jp/~takeo/research/rigid/index.html

我了解現在有一家日本公司在用這項技術做繪圖、動畫工具,

但似乎沒有太大名氣。http://picmo.com


下面將先儘可能通俗地解釋一下這個演算法,然後從二維動畫的角度出發看這個演算法的意義。至於三維動畫以及遊戲產業,就期望更專業的人來解答了。

對二維動畫來說,我的結論是:不會有非常巨大的影響

先來說說這篇論文。這篇論文提出的是一個二維變形演算法。類似的演算法在圖形學領域已經研究了很多年了,這篇論文的主要貢獻在於提出了一個「實時」的 As-Rigid-As-Possible(ASAP) 變形演算法。最早的ASAP概念[1]由Alexa提出(最早是用來做插值生成中間幀的),類似的用幾個由用戶設定的離散控制點來控制二維變形的演算法也不是它的創新,比如[2]。

演算法的流程如這個問題中所寫的那樣,這裡就不再贅述。不過我覺得有必要解釋一下為什麼是ASAP而不是其它什麼變形,因為它是一個重要概念。用一句話概括的話,就是:ASAP變形很自然。聽起來太不嚴謹了,接下來詳細解釋一下。

我們日常生活中最常見到的可變形的物體是什麼?一個答案是各種動物,包括人。只要你不是在幾個月或者幾年這樣的時間尺度上觀察一個人,他/她無論做什麼動作,體積應該是基本上維持不變的(暴飲暴食和劇烈呼吸確實會改變體積,不過相對於整個人體來說,改變不大)。這裡有一個問題,我們用眼睛觀察到的人具有三維的形體,體積不變也是在三維空間中才具有的性質,但我們現在說的是二維變形演算法。學過微積分的同學肯定能想到,三維的體積和二維的面積是對應的。所以,如果我們在對一個二維形狀進行變形的時候,能夠保持它的面積不變,這種變形的效果就和我們日常看到的變形效果比較一致,也就是最自然的(特別注意麵積不變這個概念,在二維動畫中它非常重要,大多數時候它都是成立的,但也有例外,不過等一下再說這個問題)。Rigid這個詞要表達的也就是面積不變這個含義。

那麼,我們要如何實現面積不變的變形呢?可以先從線性變形開始。如果用一個多邊形來近似的表示一個二維形狀的話,線性變形就是說,這個多邊形的所有頂點在變形過程中的位移向量都可以通過將其坐標和一個矩陣相乘得到。用得最多的線性變形之一是就是仿射變換(請自行wiki: affine transformation),它能表達平移、旋轉、縮放和斜切四種二維變換及其組合。這四種二維變換中,平移和旋轉是不改變面積的,縮放和斜切都是會改變面積的。所以,我們應在變形的過程中儘可能阻止縮放和斜切的發生。ASAP變形演算法的設計思路也是如此。簡單地說,在把一個二維形狀三角化之後,我們希望能夠計算出每一個三角形的位移量和旋轉量,使得在保持三角形的鄰接關係的前提下(就是不把這個二維形狀撕裂),預先由用戶指定的控制點的位移和用戶的操作一致。但不幸的是這幾乎是不可能的。所以,我們只能盡量了。這也是演算法的名稱中會有As-x-As-Possible的原因。

通過上面的描述可以看出,使用ASAP二維變形演算法的前提就是:面積不變。雖然,(盡量)維持面積不變的二維變形是一種很自然的變形,但還是有很多情況是它不適用的。比如

  1. 視點變化。在二維動畫中,如果我們要實現攝像機繞著一個人旋轉的鏡頭效果,由人物輪廓線圈住的區域的面積就會發生明顯的變化。

  2. 遮擋。在二維動畫中,遮擋也是無法避免的。很顯然,遮擋會讓動畫的主體發生明顯的面積變化。

所以,如果要用ASAP變形演算法,或者ASAP的二維形狀插值演算法來生成二維動畫,在進行鏡頭規劃時,鏡頭就只能進行連續的平移,而且,畫面中的所有對象都不能發生遮擋變化。這顯然是無法接受的。 這就是使用ASAP變形演算法,及其類似的插值演算法,來生成二維動畫時的局限性。

當然了,目前也有很多其它的技術針對視點變化問題和遮擋問題提出了一些解決方案。比如2.5D技術[4],卡通渲染技術[6]、視點相關的三維動畫技術[5]。但它們生成的二維動畫的質量和商業二維動畫的質量仍然還有相當的距離。從本質上來說,二維動畫需要模擬動畫師的藝術風格,這種風格經常是違反物理規律的(比如違反體積不變),同時又需要在一定程度上不完全脫離物理規律。要把握好其中的平衡,現在還只有人類可以。所以,迪斯尼的二維動畫研究人員放棄了自動生成二維動畫這一目標,以為製作商業二維動畫提供更好的交互界面為目標,提出了BetweenIT系統 [3]。於是,我於兩年前,放棄了這一研究方向。

[1] ALEXA, M., COHEN-OR, D., and LEVIN, D. 2000. As-Rigid-As-Possible Shape Interpolation. In Proceedings of ACM SIGGRAPH 2000, 157-164. http://www.math.tau.ac.il/~levin/arap.pdf

[2] SHEFFER, A., and KRAEVOY, V. 2004. Pyramid Coordinates for Morphing and Deformation. In Proceedings of 3D Data Processing, Visualization, and Transmission, 2nd International Symposium on (3DPVT"04), 68-75. https://www.cs.ubc.ca/labs/imager/tr/2004/Vlad_Pyramid/Pyram.pdf

[3] B. Whited, G. Noris, M. Simmons, R. Sumner, M. Gross, and J. Rossignak. Betweenit: An interactive tool for tight inbetweening. Comput. Graphics Forum (Proc. Eurographics), 29(2):605–614, 2010. http://graphics.ethz.ch/disclaimer.php?dlurl=/Downloads/Publications/Papers/2010/Whi10/Whi10.pdf

[4] Alec Rivers, Takeo Igarashi, and Frédo Durand. 2010. 2.5D cartoon models. ACM Trans. Graph.29, 4, Article 59 (July 2010), 7 pages. DOI=10.1145/1778765.1778796, http://www.alecrivers.com/2.5dcartoonmodels/

[5] Paul Rademacher. 1999. View-dependent geometry. In Proceedings of the 26th annual conference on Computer graphics and interactive techniques (SIGGRAPH "99). ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 439-446. DOI=10.1145/311535.311612 http://dx.doi.org/10.1145/311535.311612, http://artis.imag.fr/~Cyril.Soler/DEA/NonPhotoRealisticRendering/Papers/p439-rademacher.pdf

[6] 《日本獨有的遊戲影像的進化體系》- [火影忍者:究極風暴], http://www.cnblogs.com/LiaoXin/archive/2011/12/30/2307718.html


推薦閱讀:

有哪些投資巨大卻血本無歸的遊戲?

TAG:動畫 | 遊戲 | 遊戲開發 | 計算機圖形學 |