www.flickr.com

星期一, 6月 26, 2006

以FBX實現MAYA與MAX互轉

以FBX實現MAYA與MAX互轉

本文主要整理自之前發表在討論區的留言,主要還是基於個人的使用經驗,疏漏謬誤之處所在難免,還請眾家先進不吝指教。

MAX與MAYA是現在佔有率最高的兩套3D動畫軟體,各擅勝場,關於兩套軟體的比較不在本文範圍以內。因為使用者眾,相信大家都會常碰到需要在這 兩套軟體之間轉換的狀況,例如在MAYA建模用MAX算圖;或是因為工作的關係,得要接觸使用不同軟體的工作夥伴,甚至要交換資源…….等狀況,尤其專案 的規模越大,這樣的狀況更難避免。

最常見的應該是模型的轉換,通常是使用OBJ或是3DS這兩種老牌的格式作為中介,不過也因為這兩種格式也有一定歷史了,造成轉換上並不是很完整,會損失不少的資訊,例如貼圖、平滑…...等等,那就更別說是動作了!

前一陣子因為工作的關係,需要整合MAX與MAYA的工作團隊,而在更早之前朕宏上面也有朋友發表過使用Filmbox的fbx作為轉換的格式,可以成功轉換(大部分)模型、骨架、動作、貼圖....等資訊,真是驚為天人。

經過一整個專案的整合經驗,也累積了一點心得,在此跟大家分享一下,不過還是要強調一下,這純粹是基於個人使用的經驗(經驗法則),再者因為個人對MAX比較熟悉一點,所以對MAYA方面的掌握度可能比較不足,難免疏漏或錯誤,還請不吝指教。

FBX介紹

fbx是filmbox這套軟體所使用的格式,現在改稱Motionbuilder。Motionbuilder是一套專攻動作製作的軟體(尤其是配合mocap系統),詳細的資料可以查網路上的資訊,這裡就點到為止了。

http://www.kaydara.com

Motionbuilder扮演的是動作製作的平台,所以在前端的modeling和後端的rendering也都有賴於其他軟體的配合,所以Motionbuilder在檔案的轉換上自然下了一番功夫。

MAX5已經內建fbx的import/export,如果是MAYA或XSI等請至官方網站下載免費的plugin包一套搞定,目前應該是到5.0版。


還有一個有趣的訊息

FBX有提供Quicktime6的Plugin,意思就是說只要有安裝這個插件,就可以直接在Quicktime Player裡面顯示FBX的模型~~~酷喲

Viewport的操作方式和Motionbuilder相同,滑鼠只有左鍵有功用(配合Mac族?)

shift+LMB=Pan
ctrl+LMB=dolly
shift+ctrl+LMB=Rotate


輸出與輸入---基本概念

前面提到MAX5已經內建fbx的importer/exporter,如果是MAYA5則需要另行安裝(怎麼安裝不需要教吧?)

MAYA要輸出入fbx沒有什麼選項,只要按ok就好,MAX的fbx import/export就提供了不少選項可以作細部的調整,比較重要的是在輸入的時候可以選擇Y-UP或Z-UP的座標,如果是從MAYA出來的東西, 記得要選擇Y-UP。

因為預設的單位不同,所以從MAX轉到MAYA,模型通常都會很大,MAYA轉到MAX都會太小(這個大小問題其實也常發生在輸入obj檔時),不過 只要在兩邊都把單位設好,我的習慣是都設成公分,在modeling的時候也參考現實的尺寸,這個問題基本上就ok了。

接下來就是調整max與maya的網格大小,在maya裡加大camera的far clip(如果在prsp裡看不太到東西的話)

由MAX轉到MAYA或是MAYA轉到MAX,FBX會將所有的物件Link到一個FBX Root上(主要是解決Y-UP與Z-UP的問題),所以請勿亂刪這個dummy(node),因為這是所有物件參考的原點。

在群組階層關係部份,個人覺得FBX和MAYA的GROUP對應相當良好,轉到MAX會成為一個dummy,而MAX的GROUP轉到MAYA會對應到MAYA的GROUP

這裡也可以發現MAYA和MAX的GROUP的觀念有一定差距,MAYA的GROUP概念比較單純,接近MAX的link to dummy的作用。

至於Link的部份,大致上是沒有什麼問題的,這一點留待模型與動作的部份,再做補充說明。

模型篇

模型的轉換,相信是最常見的需求。點對點線對線的狀況最為單純,FBX在這個部份的表現相當理想,多邊型模型基本上是分毫不差。

有趣的是,在Max裡相同拓樸的模型,如果是mesh轉出去,都會變成三角面,用poly輸出的話就是漂亮的四角面(MAYA沒有這個問題,因為MAYA只有polygon),而MAX輸入fbx的模型,都會成為mesh的形式。

更利害的是fbx居然能夠保留nurbs ─ 例如用MAYA轉出一個用nurbs建的模型,相同的fbx檔,如果用MAX輸入的話會自動轉成mesh,用maya輸入的話還是nurbs~更神奇的是 再從xsi 輸出一個nurbs模型到maya,仍然保留unrbs的格式(好吧!MAX的NURBS真的是超級廢柴)

這裡有一個小技巧,在MAYA如果輸出NURBS到FBX,進入MAX就會轉成Mesh,在MAYA的時候可以先按1鍵,將顯示的平滑度降低,這樣出來的模型資料量會小很多 ,到MAX再執行Meshsmooth即可。

接下來這一點很重要,避免使用不等比縮放,如果有用到,MAX在Hierarchy->Reset欄位下有兩組按鈕,點選Transform 和Scale,真正將位移縮放的變形量歸零;之後再到Utilities面版下,點選Reset Xform或再convert一次將比例歸零。MAYA則使用freeze transformation。 這樣轉換的模型才不會出現亂飛的狀況。

材質與燈光

材質方面,能夠保留MAX或MAYA多邊形的貼圖軸資訊(NURBS的UV不行),材質球的屬性,有部分可以保留,能轉的就算賺到了,shader 都會轉成phong shader,diffuse(MAX)對應到color(MAYA)、Opacity(MAX)對應到transparency (MAYA).......其他的依此類推,顏色轉換是無誤,但比較可惜的是部分數值的對應並不是很理想,這一點還請各位朋友自行比較, 我是不太信任這一點,畢竟同樣的數值在不同的軟體下不見得會產生相同的效果。

在轉檔後,常會覺得有OVER的感覺,怎麼打光都不對,其實在轉檔後,FBX會自動把MAX的Enviroment>Global Lighting>Ambient設為50%的灰,調低即可,至於東西轉到MAYA則是會把每一個材質的Ambient設為0.588,全選起來用 Attrib sprend sheet一次調低即可。

貼圖的部分,不用說只能轉bitmap(files)的貼圖,此外只會保留diffuse這個channel,其他的部分要再自行指定,希望新版可以提供支援(基本上支援bump和Opacity就很感動了)

FBX在轉換後,會把每一個單獨的模型產生一個新的材質,所以會發現在材質編輯器裡面有爆多的材質球(尤其是MAYA看起來會很可怕),所以在轉換前,能夠先Attach或combine就先結合在一起,省得整理麻煩。

若是從MAYA轉出的模型,如果沒有上貼圖設定UV,以MAX開啟的話都會被賦予一個材質,在Diffuse的地方還是會加上一個bitmap的貼 圖(但是是空的-maya ghost),這時候用MAX算圖時就會出現沒有UVWMap的警告訊息,必須要手動加上UVWmap,或是在MAYA裡就先拆UV。

另外,有的時候還是會產生法向量方向的問題,開2side或下normal指令修正啦。

標準的三種光源,Spotlight轉成spotlight、onmi轉成point light,Directlight轉Directlight,位置、方向都不會有問題,燈光強度:Multiplier對應到Intensity、顏 色、Spotlight的Cone angle都會保留,不過前面也提過了,相同的數值不代表相同的效果 。

一些比較特別的燈光種類,如MAYA的Ambientlight、體積光、MAX的Skylight…就會被轉成helper之類的虛擬物件。

陰影部份的屬性不會保留,所以FBX的燈光轉換還滿雞肋的,主要是作對位功用吧!

"聽說"有一個叫OHM的格式,可以順利轉換燈光的屬性: www.mindthink.de ,不過大半年過去了,似乎還是只聞樓梯響的階段。

攝影機篇

我把CAMERA的部分獨立出來說明,CAMERA順利轉換與否,在協同工作的狀況下是相當重要的ㄧ件事,以我個人的例子來說,這次因為沒有辦法招 募到那麼多使用MAYA或MAX的工作夥伴,五五波(笑),必須要各取其長處。最後決定角色動畫在MAYA進行,場景部分在MAX進行RENDER速度比 較理想,最後再進行合成。

這時候CAMERA的轉換就扮演著重要的角色了,第一點是要確保畫面在兩套軟體間維持無誤,第二點是要確保攝影機的動作順利轉換(最好是不要動camera啦,自爆)。

在經過了多次嘗試後,主要的重點是要在MAX與MAYA裡面保持相對應的設定,因為FBX在這裡並不是很聰明,屬於Rendering setting或Render Global的設定並不會被轉換,需要手動設定。算圖的尺寸不用說要保持一致,包括解析度、像素比、Aperture width……..等,通常使用內定工業規格的設定,例如NTSC、HDTV…..是最保險的。

在MAX的rendering裡面Aperture width和camera setting中的lens數值是相對應的,MAX調整前者,後者也會相對變化,保持畫面不變;而在MAYA裡Aperture是屬於Camera的屬 性,調整Film back裡面的設定,MAYA會保持Focal length不變而畫面改變。不過兩套軟體計算方式似乎不太相同MAX是用mm,MAYA是用ratio,我並沒有花時間去找出換算的方式,原則上保持一 套軟體的設定固定,不要兩邊都做調整,以免產生誤差。

MAX的FOV對應到MAYA的Angle of view,Lens對應到Focal legth,上面提到過兩套軟體在Aperture部分的計算方式不相同,所以在這裡的對應數值也會有出入,例如在MAX設定lens是28mm,轉到 MAYA會變成28.884(出現小數點),這倒是不用太擔心,兩邊算出來的畫面是相同的,FBX會做出轉換(先決條件是上面的條件要控制住)。

還有ㄧ個容易忽略的重點,就是在filmfit的部分也要保持一致,建議是使用水平Horizontal。

解決了畫面的對應,接下來就是攝影機的動作。camera的Dolly、Track、Arc…..都可以處理,如同一般的物件,攝影機的移動、旋轉 (縮放沒有實際意義)也可以轉換過去,不過出狀況的比例不低,建議是使用FreeCamera互轉,比較穩當(spotlight也是一樣,修正一個物件 總比再加上一個target來的容易)。

最常發生的狀況就是攝影機反轉,如果攝影機亂跑,也可以試著使用Freeze transformation來修正 ,釜底抽薪的方式就是多下幾個key點來強制校正這個問題,再不行,輸出前先把camera的動態逐格取樣,轉成keyframe應該就ok了(不過就沒 辦法修改了)。

至於zoom的動作,也可以轉換,不過我沒有仔細測試過這個部份,因為在動作的時候擔心出狀況,所以就避免使用了。


有時候出現警告訊息,不見得代表一定出問題。

骨架與動作

關於骨架的轉換,不管是CS的biped,或是bones...轉出後都會變成單純的一根一根的bones,IK會不見,只會保留單純FK的形式, 動作都會轉變成每一格每一個關節的旋轉量(再編輯無力),我想這是可以理解的,不過我們仍然可以將這段動作透過MAYA的trex editor或是再轉成BVH進CS作編輯(這裡需要第三方的插件配合)

特別注意一點,CS的骨架輸出後會在跨下產生一根多出來的(姑且稱為老X吧),直通地平面,那是因為Biped的Root其實是投影在地平面上的一個點,就留著不會有什麼影響。

雖然骨架可以順利轉換,但前面也提過了,IK handle之類的連結關係並不會被轉過去,這樣子就麻煩了,因為大部分的時候我們是把keyframe下在各個控制的handle或locater或 dummy .....ect上,轉過去當然只有dummy的動作......只有CS沒有這樣的問題

這時候就要先把keyframe bake到骨架上去,就可以解決這一個問題了

關於動作的轉換,大部分狀況都是ok的,位移、旋轉、縮放都可以轉,不過vertex animation就無能為力了。
至於keyframe的轉換,在輸出的時候會有一個取樣值,看是每秒幾格(預設是30格),不過也不一定就會轉出滿滿30個keyframe,程式會試著作判斷~~~~轉不過去才會強制取樣。

這時候如果都是依賴curve來調整動作的話,就有機會產生取樣錯誤,所以我的方法都是多下幾個key點來避免這樣的狀況(in max or maya)

蒙皮的部分,MAX可以轉換官方的Skin與Physique,能保留每一個點的weight(殘念,Bones pro沒辦法呀......),在FBX5.0裡面,甚至可以指定模型輸入時要轉成Skin或Physique。不過在這一點我試的經驗是成功率有待研 究,多多少少還是會出現拉扯、錯點....等現象,重新執行Normalize Weights有的時候可以修正一些問題。

所以目前我的做法還是輸出定位好的模型與骨架到個別軟體去作skin(bind)的動作。

此外,Morpher(Blend shape)也在轉換支援之中,不過我並沒有仔細的測試過,主要是做MAX的morph modifier和MAYA的Blend shape之間的轉換,測試過MAX的輸入輸出基本上都是ok的,甚至連keyframe都可以保留,不過似乎不支援MAX的progressive morph(無法對應吧),這點有機會在好好研究啦。

結語

拉拉雜雜的把這段時間整合的經驗分享下來,雖然FBX對於不同軟體之間的轉換已經提供了相對完整的解決方案,但是實際執行起來,仍不免要解決諸多問題。換個角度想,要是那麼容易就搞定了互轉,AW和Discreet也不要玩了,誰不想寡占市場呢?

其實個人也有這樣的感覺,能夠用一套軟體搞定,何苦要花費更多的成本在轉換的整合上呢?這個時候就是衡量了,要如何在效率、效果、人力資源、專案管理……上面取得一個平衡,相信是超出於技術考量的問題了。

ANYWAY,提供給有需要的朋友參考一下吧。

小聖 20040329

星期四, 6月 08, 2006

[知識] 淺談光學式動態擷取系統

A Brief Introduction of Optical Motion Capture System

現今電腦動畫的角色動畫運用可分為兩大方向: 擬真角色動畫(Virtual Idol)與卡通角色動畫( Cartoon Character Animation )。針對角色動畫的動作設定上可分為兩大種類:

第一種是關鍵畫格(Keyframing卡通類型的角色動畫除了參考真實動作外為求誇張效果與體態,需要重新調整動作的節奏,因此會大量運用Keyframe,以強調更大的肢體動作及更高的戲劇張力。

第二種是動態擷取(Motion Capture以下簡稱MoCap)。以擬真角色動畫而言,為求動作合乎真人行動及姿態,因此會大量運用MoCap擷取人體動作。所謂動作擷取的技術就是將人體的動作轉換成數位資料,供進一步的應用分析。主要是在演員身上裝置感應器,透過不同的感應方式,對應到電腦虛擬空間中的相對應角度或座標軸,加以記錄。除了擷取人體全身的動作外, 也可擷取局部的動作諸如臉部,手部等細部動作,以至於其他動物的動作擷取等。

動作擷取顧名思義就是就是準確捕捉動作的細微變化。在發展初期應用於以往常被使用在醫學、運動研究等特定領域,由於當時並非以廣泛應用為目的,所以操作困難而且必須在特定環境作業。近年來隨著數位內容產業的發展,而廣泛應用於高階影視動畫的範疇,更多新的技術紛紛投入,各廠商開發的目標已朝向提高資料穩定性、提高操作效率、提高應用彈性以及降低系統成本等方向發展。雖然目標相同,但在市場上仍存在著幾項不同的技術,每項技術也有各自的特長與需要突破的瓶頸。

目前技術上最為先進的動態擷取系統系統即為光學式系統,光學式的系統是由高解析度攝影機的位置打出肉眼不可見、高頻的紅外線閃光,並紀錄下由裝置在演員身上的光球(稱為MarkerOptical)所反射的光點,將多台攝影機得到的影像資料經過影像辨識對比的運算,獲得光球的XYZ位移動作,因光點被動反射光線,所以稱為「被動式」光學系統。

被動式光學系統最大的優點是精確度高,所裝置的光球構造簡單最不影響活動,擷取動作範圍大、無運動方式限制、也可因應不同的擷取需求變化(如道具、臉部表情等),並可以同時取得多組的數據,雖然建置成本最高,但目前已經成為主流的擷取技術,廣泛的應用於數位內容製作上。

被動式系統的一大問題是在動作時易產生光球遮蔽問題,攝影機無法正確接收反射造成判斷錯誤,所以另外一種稱為「主動式」光學系統,將光球改為主動發射光線的LED,循序發射光線,以避免上述的問題,但是演員身上則必須背負電源模組,對動作限制較大,光球尺寸較大無法進行太細緻的動作,且光球數量越多,取樣會越不精準。

不管是主動或是被動的光學式系統,在取得光點位置後,必須再經過解算成骨架的旋轉量,以便後續應用,對於電腦運算的需求極大,但以目前工作站的效能來說,已經能做到即時(Realtime)的處理。

動作擷取(Motion Capture)系統技術應用在電腦角色動畫上是近年興起的一個新領域依「提升大學基礎教育計畫」,於民國九三年搭配虛擬攝影棚建置國內首次引進的數位式系統,由Motion Analysis Corporation(美國魔神公司)所研發的Eagles光學式數位動態擷取系統美國魔神公司為當今世界上最具規模的光學式動態擷取系統廠商,在數位內容相關產業市場占有率為百分之八十,目前有大約近千台產品服務於全世界,為目前使用最廣泛的擷取系統。本文即以本系統為例,說明光學式動態擷取系統的作業流程。

一、 系統建置

建置一套動態擷取系統基本上由三個層面組成,第一個是擷取資料的硬體設備,第二個是處理資料的應用程式,第三個是擷取的空間,必須要三個層面緊密的配合才能取得正確的擷取效果。

1、 硬體設備

硬體部分主要負責的是感應器的追蹤與定位,對於光學式的動態擷取系統則為是高解析度紅外線攝影機。本套系統即搭載了六台Motion Analysis所研發的Eagle Camera

與上一代類比式(Falcon Camera)的光學擷取系統相比,Eagles Camera採用數位方式記錄影像,大幅提高了影像解析度,可以記錄更細緻的動作,數位資料可以直接進行計算,有效提高了每秒擷取張數(FPS)。類比式擷取的影像資料必須經過後製處理才能進行辨識,相較之下速度較慢且精確性低。

Eagle Camera
為專業的數位3D動態影像擷取鏡頭,適用於3D人物動畫 ( 3D character animation ),應用範圍廣及電視、電影、電玩等市場。採用一百三十萬像素CMOS影像感應器,解析度達1280x1024 pixelCMOS影像感應器具備高階影像整合且用電少之特色二維擷取影像由Eagle數位攝影機內置晶片直接處理。

Eagle Camera主要透過乙太網路線連接到一個稱為EagleHub的中控集線器上,單一攝影機與集線器之間的有效距離到100英呎,EagleHub也控制所有攝影機的閃光同步,可以說是整套擷取系統的小腦,一台EagleHub可以連接八台攝影機,並可以堆疊使用,這樣的設計使得整套設備能夠輕易的擴充,以因應未來的需求。攝影機所擷取下來的資訊,同樣也是透過網路傳輸到所搭配的電腦工作站進行資料的分析處理。

2、 應用程式

資料處理工作是擷取作業中最需要大量運算的階段,可以由專用的硬體或軟體完成,扮演著動態擷取的大腦。以現階段處理器的運算能力以及效能進步的幅度來說,採用軟體運算的方式,較開發專用硬體來的有效率且合乎成本。對於光學式擷取系統的開發商來說,最大的資產並不僅止於有形的實體裝置,更重要是核心的影像追蹤擷取、編輯及資料分析的技術。

以本校的MotionAlalysis系統為例,在前端動作擷取階段搭配軟體為EvaRT,是Motion Analysis系統專用的作業軟體,在這一套軟體中進行系統的校正、控制、定義感應光點、擷取光點位置......等工作。

在完成前端光點位置資訊的擷取後,後端搭配的為Alias公司所出品的MoCap軟體,負責將光點的位移解算成骨架旋轉,成為我們視覺化可以辨識的角色動作,並且輸出到常用的動畫軟體,如3DS MAXMAYAXSI.......進行後續的應用。MoCap軟體除具有動態擷取資料的處理能力,本身即為高效能的角色動畫軟體,能夠有效率的整合擷取動作與統關鍵畫格的角色動畫。

3、 空間規劃

光學式動態擷取系統係使用一定數量的攝影機組成陣列,攝影機拍攝範圍互相交錯,以涵蓋擷取的空間,空間越大所需要的攝影機越多;反之若同樣的空間使用越多的攝影機則擷取的穩定性越高,能負荷的光點越多。

攝影機涵蓋範圍

其對擷取的需求有三個空間需求:

A. 裝置空間:架設攝影機之需求空間 ( Space of Installation )

B. 擷取空間:實際人物運動有效空間 ( Space of Capture Valume )

C. 安裝計算系統與操作人員空間 ( Space of Operator & Tracking System )

以本系統來說,搭載了六支Eagle Camera,以專用固定架安裝於天花板上,提供了長3公尺寬2公尺,垂直1.8公尺的有效擷取空間,足以應付單一角色的演出動作。

台灣藝術大學虛擬棚空間

二、 前置作業

表演設計的工作必須要動畫導演、動作指導、演員和技術指導互相討論而成,在擷取工作之前,就能就分鏡腳本或是表演內容作分析決定擷取工作的運作,並且進行排演並視需要準備道具、場景。尤其是營業用的動態擷取設備,多是以時計費的方式租用且金額昂貴,更是不容許時間上的浪費,前置作業越完整,實際進棚錄製的效率越高。

三、 環境校正

理論上來說攝影機若固定良好沒有移動,僅需於安裝的時候進行調整即可;但實際狀況下攝影機可能會受引力、地震、機件疲乏......等因素而造成偏移,進而在擷取時產生如大量雜訊等不預期狀況,所以在進行動作擷取工作前,必須對攝影機進行校正以求得理想的擷取環境。

校正工作必須透過專用的校正設備進行,通常是在擷取空間中安置固定尺寸的比例尺對系統進行初始化的校正,如圖所示的L-SYSTEM,即為一個安裝上光球的L形水平儀,光球之間的距離為等比級數,作用是放置在原點上以決定擷取空間的座標系統與單位。


校正設備

另一個器材稱為Wand,為一T字形的鐵架,上方安置光球,光球距離不對稱以辨別方向,持校正棒在擷取場地內上下前後掃動以求得有效的擷取空間。如果在校正過程中發現異常的狀況,則須立即排除。

透過校正的過程在電腦中建立一個和實體擷取場地相對應的虛擬空間。

相對應虛擬空間

四、 感應光設置

正式進棚後,第一步是在演員身上裝置反射用的光球。光球有不同的大小,需視擷取目標不同選擇適合的尺寸。但是在擷取中光點的大小並不影響紀錄的資料。

感應光球

演員通常穿著特製的緊身衣,避免衣料皺折晃動,緊身衣表面為魔鬼氈的材質,以便固定光點。如果無法穿著專用服裝,也可以打赤膊或使用黑色膠帶固定衣服,使用彈性繃帶、橡皮筋、護膝護腰......等將光球固定其上,基本的要求為不影響演員動作、光球不易脫落、不晃動,並且符合擷取的原理。


設置光球與固定裝置

光學式動態擷取紀錄的是光球在三度空間中的位置移動,至少要三個光點才能正確計算出物體六個自由度(DOF)的活動,以全身動作的擷取來說,視動作要求需在演員身上安置30~40顆反光點(不含手指),光點越多擷取的動作愈精細,但後續修整的工作量也更大,光點互相影響的機率也越大,一般動作擷取所採用的光點設置(Markerset)為標準41顆的設置。

Mocap Markset

標準動畫角色用41顆設置

光球安裝位置與數量影響擷取資料的正確性,通常是安裝在肢體不易拉扯滑動的位置,並避免設置於關節正上方最少需要三個光點才能正確判別關節旋轉,肢體末端(手掌腳掌)亦需要最少兩顆光點以辨別左右避免翻轉。光球之間的距離必須要不等長,切忌左右對稱,在資料處理時才能進行正確的外型對比。

五、 光球設置定義

開始動作表演之前,必須要進行光球設置的定義。由於光學式的原理是攝影機接受光球的反射加以分析對比出座標位置,所拍攝到的僅有光點而已,對於電腦來說都是一模一樣的,必須要手動將每一個光點指定編號,定義光點之間的聯結關係(Linkage),成為完整的光點結構。


定義光點結構

人體並不是剛性物體,即使光點固定的再牢靠,因為肌肉或骨骼活動影響多多少少會有滑動擠壓的狀況,必須要再定義一個容錯值。

設定完成後再進行的擷取工作,電腦會依定義的結構進行追蹤與偵測,給予每個光點正確的編號,以利後續應用。即使是相同的演員、相同的光球設置,每次安裝的位置都可能偏差,所以每次專案都必須重新定義一次。

六、 擷取動作

光學式動態擷取的流程可分為即時擷取(Realtime)及非即時擷取(No- realtime)

1、 即時擷取:

又稱串流(Streaming) 或在線擷取(Online),顧名思義,演員的動作即時套用在虛擬動畫角色上,以提供最直接的視覺回饋,通常運用在現場演出,如虛擬主播、運動分析等需求上。

即時演出,擷取資料必須立刻解算到動畫角色上,對於系統運算、資料傳輸能力的需求較非即時擷取來的更高。考量到即時運算的效能,必須盡量減少光球數量,僅能夠應用基礎的過濾器處理資料,所以對動作的限制較多,避免擷取難度高的演出。

2、 非即時擷取:

非即時擷取屬於離線式(Off-line) 的流程,擷取時先儲存所有光點的位移資料,待動作完成後再進行後續的處理分析,最後解算成動畫角色的動作。非即時擷取最大的缺點是不容易即時修正演員動作與動畫角色之間的配合,僅能由監視器上的的光點聯結作判斷。

優點是能後續進行自動或手動的修改,以修正有缺陷的擷取資料,是故對動作的限制小,精密度更高,通常應用於動畫電影、遊戲的角色動作擷取。

七、 整修資料

非即時擷取第一個階段得到的是所有光球的位置,受演出動作、環境等因素所影響,得到資料常有若干缺陷,必須要經過後續的修整才能運用在角色動畫上。

Eagle Camera為例,有效紀錄畫格為60/每秒,若採用41個光球的設置進行全身動作的擷取,每秒鐘需處理高達兩千四百六十筆的座標移動資料。藉助電腦的運算能力,從而對擷取數據進行處理,執行如清除雜訊等工作,但電腦是死的,只能根據數學運算式依設定條件對數據進行處理。高速的運動如揮拳踢腿,速度僅有零點幾秒,擷取光點的運動曲線和高頻雜訊其實並無二致,只能依靠人腦來做判斷。

動作資料修整

此外被動光學式常見的光點編號錯置的狀況,也必需依靠動畫師以經驗、對比動作前後關係來修正,故整修資料是動作擷取流程中最花費時間的專業工作。

八、 解算骨架

擷取資料修整完成後,檔案所記錄的資料為所有光點的座標移動,必須再進一步解算成階層式骨架的關節旋轉量以便後續的應用。

解算骨架在概念上是一個還原的手續,將擷取的光點指定回相對應的肢體位置上。如同人體結構一般,不同的關節有不同的自由度與運動型態,例如手肘只有一個軸向運動,旋轉角度在120度左右、手腕依擷取的細緻度而定,通常可以做三個軸向的旋轉......等,諸如此類的狀況,必須要適當的指定關節形式方能正確的解算,以免產生超出正常肢體結構的動作。

較先進的後端軟體(Alias Mocap),通常會提供一個預先定義好的標準骨架,僅需指定光點所對應的肢體即可進行即時解算,大幅縮短了繁瑣的設定工作,使得動態擷取的資料更容易量產使用。

九、 資料轉換

雖然不同的擷取系統與後端軟體,都有各自專屬的檔案格式,但基本上動態擷取最終產生的資料敘述皆為階層式記錄每個關節的旋轉量的順向關節結構。依照這樣的結構,輸入到3D軟體中後還原或對應到各種不同的骨架系統上,即可進行後續的應用。

結語

角色動畫,不管是傳統平面或是電腦動畫,角色的表演都是透過動畫師的雙手逐格製作而成,動畫師也被稱為「沒有聲音的演員」。動態擷取製作的角色動畫,動作來自真實演員的表演,不經過動畫師的詮釋而產生了這樣是否為角色動畫的爭議。但與其爭議說動態擷取是否算是角色動畫,不如果說動態擷取的應用,將角色動畫中「表演」的成分,由動畫師的手中交還到演員的身上,讓演員扮演動畫中表演者的角色。

2004年末上映的「北極特快車」一片,就由名演員湯姆漢克斯(Tom Hanks)一人分飾多角,透過動態擷取的技術化身為不同的角色,隨著技術的進步,動態擷取技術能更忠實傳遞演員的「演出」,而不僅止於「肢體動作」。角色演出的關鍵是怎樣塑造角色的個性形象,手段需服務於動作設計的需要,動態擷取技術能夠更完美實現對角色動作真實再現的要求,使用恰當準確的技術,不僅能使視覺效果接近完美,還能事半功倍。

而動態擷取得到的動作,就像是一種新的素材,透過如同非線性剪輯般的組合、調整,能更快速地創造出高品質的角色動畫,應用在接近寫實造型的角色上,便是適合的選擇,其優點如下:

1、 真實動作

快速實現複雜無規律的長時間動作是動態擷取的一大優勢。傳統關鍵畫格動畫裡,由於動作都是由動畫師逐格調整的,這樣的製作工作相當的繁瑣與複雜,需要大量的製作時間且不易修改。同樣的角色,由不同的動畫師來調整呈現出來的質感也不完全相同,可以說角色表演動作的好壞最重要取決於動畫師的能力,其次才是軟體工具的問題。

以動態擷取為基礎的動畫製作系統則改變了這個狀況,它對演員、運動員和舞者的動作進行捕捉,演員即時演出動作流暢自然,不需動畫師重新進行製作。這些動作都是非常微妙而具有特的。由於它記錄的是物體的實際運動,所以動作精確,效率極高,應用在動畫上的效果非常逼真,特別適合用於擬真造型的角色上。

2、 動作資料庫

動態擷取的資料,由於是三度空間中的動作,沒有傳統平面素材的角度限制,而數位化的格式,可以重複的使用而不會有失真的困擾。例如走路、跑步......等常見的基礎動作,只要收錄一次,下次有需要的時候就可以立即的套用在不同的角色上,這樣的特點在進行大規模的背景角色時特別的方便且省下許多的成本。

3、 易於量產

一部電腦動畫的產出,在製作期最耗費人力的工作即為調整動畫的階段,且人力素質的要求也是最高的,若是需要大量的動作,在有限的時間和預算內,投入大量動畫師以關鍵畫格製作,成本將居高不下,動作品質受限於動畫師的能力,容易出現品質不一,表演風格不連貫的問題。

若是製作期程短的電視影集,使用動態擷取技術取代手調動畫,一方面有效縮短動作製作的時間,二方面能減少對動畫師的需求以降低成本,動態擷取在產出效能上有確莫大的優勢。


動態擷取並不是一個完美的動畫工具,同樣具有很多技術條件與功能上的限制,甚至有許多的動作是不可能達成的,舉例來說,如超出人體限制的誇張動作,就不是動態擷取的強項所在。也因此動態擷取動畫也不是為了取代傳統關鍵畫格動畫而出現,而是提出了另一個選擇,具有快捷、準確、真實、等特色的解決方案,同樣的也是傳統動畫手段所難以達到的。對於一個動畫創作者來說,必需衡量得失,因應動畫效果選擇最適合的解決方案,而非拘泥於藝術或是科技之類的迷思之中。

(本文刊載於國立台灣藝術大學藝術欣賞月刊2006)

本頁面及相關頁面所提及之公司名稱與商標,,其著作權皆屬原公司所有

本網站公開發表之文章若未經聲明,皆屬作者本人所有

如需引用節錄,歡迎來函告知