2011/12/31

R&H特效公司投資台灣

翻譯:Hammer Chen

好萊塢知名的動畫與視覺特效公司, 開始其投資台灣科技工業與美術的計畫. Rhythm & Hues工作室, 這家曾經獲頒奧斯卡動畫與特效的公司, 其總部在洛杉磯, 將簽署協議備忘錄, 雙方將於本週, 在台北與高雄進行簽署儀式 (12月30日與12月31日). 這將會是首次正式的, 建立三個獨立的事業, 發揮台灣在科技與創意力的優勢!


在台灣經濟部的協助下, Rhythm & Hues' (R&H)的台灣計畫包含了建立電影投資基金---稱為East Grand Films電影公司, 提供大型好萊塢電影公司資金與共同製作電影, 這家電影公司將會依據R&H在好萊塢電影製片與發行商的的良好關係來籌募資金, 以這樣的方式來找尋以視覺特效為主題的電影的投資機會.

專注於跟特定投資條件的電影, 這個基金預期將會使台灣入股的投資者, 獲得顯著的資金獲利. 其二, R&H將會在台灣南部的高雄, 建立新的尖端科技的視覺特效中心(VFX Center) , 這個視覺特效中心, 最後將會雇用200位台灣的數位美術人員, 由R&H專家來訓練, 也會直接與國際的分公司一起工作. 例如印度, 馬來西亞, 加拿大與美國. 這項投資案將會開拓並延伸目前R&H公司已經建立的生產線的產能(capacity), 而R&H已經有全世界最大的生產線, 每天24時不停止的運作.

其三, Rhythm & Hues將會建立次世代的雲端機構, 專為視覺特效與動畫產所設計的. 這個機構將會利用R&H的科技與大量經驗, 進行全球的分散式數位生產流程, 提供完整的, 以雲端為基礎的專業動畫與視覺特效.

為了要設計與研發這個新的機構R&H將會與中華電信 (亞洲最大的的電信公司之一), 廣達電腦 (全球最大的筆電與電子硬體生產公司之一)簽署三邊的合作備忘錄. 這項計畫是Rhythm & Hues在國際擴張版圖的最新計畫, 這項計畫始於十年前在孟買建立了第一個子機構(satellite facility)開始.

從那時開始R&H就成功了把在印度海得拉巴, 馬來西亞吉隆坡, 還有最近在加拿大的溫哥華. 這家公司有1300的人力, 這樣的數目讓他在視覺特效與動畫產業的頂端, 而R&H受益於台灣政府的指引 包括引薦, 策略諮詢, 最初的建議是由台灣極富聲譽的電影導演---李安, 在製作電影少年Pi的奇幻漂流開始與Rhythm & Hues合作, 而這部電影是21世紀福斯電影的將會上映電影.

根據Rhythm & Hues電影部門總裁Lee Berger先生說: 我們跟李安先生分享未來的願景, 他提議台灣, 以科技知名, 他開啟我們與台灣經濟部的溝通窗口, 我們對於台灣給我們的支持與輔導十分印象深刻!

R&H的總裁與創始成員John Hughes說: 我們很興奮能夠在台灣實現我們遠大的計畫, 我們也期待與台灣有長期且獲利的夥伴關係!

我們是全球視覺特效與電影動畫的領導, Rhythm & Hues Studios成立於1987年, 加州好萊塢, 也很快速地建立了全球的名聲, 提供高品質的電腦動畫角色, 曾經在1990年代製作可口可樂的北極熊系列. 從那時開始, 製作了許許多多的動畫與視覺特效, 參與了超過130部電影製作, 例如:黃金羅盤與我不笨,我有話要說(這兩部電影分別獲得2008年與1995年的奧斯卡視覺特效獎),鼠來寶, 博物館驚魂夜, 納尼亞傳奇:獅子、女巫、魔衣櫥. 這家公司四次獲得美國的影藝學院的科學與技術獎項, 目前正在製作與將上映的電影: 有少年Pi的奇幻漂流, 鯨奇之旅, R.I.P.D. ,公主與狩獵者, 林中小屋, 超能失控等電影.

2011/12/11

BetterWind參數調校


以Particle Flow搭配BetterWind設定粒子動態, 搭配Krakatoa 2.0算圖的效果.

作者:Hammer Chen

Betterwind是由Grant Adam先生所寫, 由粒子特效大師Allan Mckay提供的意見所開發出來的, 可以用來改善3ds max內建的wind呆板,單調, 不寫實的問題. BetterWind導入了Keep Distance限制粒子彼此之間的距離, 以及布朗運動fBm Noise多種的noise類型來控制風的亂數, 因此可以做出更複雜的風吹效果. 可以應用在許多動畫特效上面, 例如火焰飄散的煙灰.

感謝由Grant Adam先生提供的場景的檔, 我們來看在官網上面的那顆球特效是怎樣做出來的. 首先要勾選Keep Distance, 粒子才會形成特殊的形狀 距離就決定了球的大小; 第二重要的參數就是Scale=100, 對效果影響甚大.

2011/12/06

Vortex漩渦參數調校


Vortex是在製作龍捲風的時候會使用的力場, 雖然Peter Watje寫的Cylindrical Force也很不錯, 不過兩者的特性還是有點不同. 粒子特效的力場有三個要素最重要, 一是方向, 二是範圍, 三是衰減. Vortex之所以難掌握的原因是, 它有三個方向的力, 彼此又會相互影響到最終的效果.

簡單的說就是往上的力Axial Drop, 龍捲風的半徑Radial Pull以及旋轉力Orbital Speed.

首先來看Axila Drop這個參數:
把Axial Drop調高, 龍捲風就往上拉伸.

Orbital Speed是切線方向的速度, 雖然Radial Pull會直接改變龍捲風的胖瘦, 而這個參數則是間接影響到整個龍捲風的寬窄.

Radial Pull是龍捲風把東西吸進來的範圍, 可以看到對整個形狀也會有影響

Taper這個參數有點像是在圓柱上面加上一個Taper Modifer那樣的感覺, 不過缺少Curve這個選項. 由此可見Vortex這個外力目前還相當陽春, 很有改進的空間.

最後我們把Unlimited Rage關閉, 也就是有範圍的外力. 不過你可以發現這個功能做的不是很好, 外力在很遠的地方, 分子雖然不會受到影響, 但當Vortex拉近的時候, 作用力會突然增加. 用起來的控制力並不是很好. 這時候就可以考慮使用Peter Watje寫的Cylindrical Force.

以下是Vortex力場的效果影片


[相關教學]

2011/11/22

Phoenix FD 2.0流體外掛新增功能介紹


ChaosGroup PHOENIX FD 2.0 FEATURES 功能介紹

編譯: Hammer Chen

Displacement置換貼圖
Phoenix FD最強大的功能是fluid displacement, 提供流體細節化的全新方法, 就跟模型的displacement一樣, 具有displacement的流體會沿著它模型原本的法線方向產生細節. 這個displacement貼圖的解析度可以比模擬的grid cell要小, 這樣一來, 在算圖的時候可以產生很多細節. Phoenix FD的displacement技術並不會讓流體用更大的解析度, 因為那會導致記憶體效能的問題, 而且displacement演算法還支援多核心運算!

2011/11/20

Softimage ICE與Kristinka Hair頭髮設置教學

作者:Anto Matkovic
翻譯:Hammer Chen

當Softimage推出ICE功能時, 認真的用戶不會再懼怕'multiply vector by matrix'這類的字眼, 因為他們可以開發出頭髮造型系統, 不需要寫任何的程式碼. 對於"火星女警"這個案子, 我利用我自己寫的免費頭髮系統---Kristinka Hair來製作頭髮. 這個系統利用了NURBS表面, 用程序性的方式產生細節. 在斯拉夫語系裡, Kristinka的意思是"親愛的克莉絲汀"或是"小克莉絲汀".

第一步是表面發射器與兩個ICE的點雲(point clouds), 第一步只有很少的導引(guides) ,第二個就會有很多頭髮. 在導引中間有很多的內差計算. 一般來說, 第一個是用來做造型的, 第二個是拿來算圖.
Follow NURBS 2節點的效果, 這個節點會找尋最近的髮根, 然後平滑地在兩個NURBS表面之間產生圖層, 在經過一些微調後, 我得到了大致形狀. 為了要更容易編輯, NURBS附著到有相同拓樸的mesh上面, 然後套用envelope. 到目前為止, 可以開始進行最後的姿勢了!

最後的細節層由"Offset By NURBS"節點所產生. 是用好幾個增加的NURBS表面, 這個用來re-mapping頭髮流向, 操作跟UV編輯很類似, 微調的方式是以"2.5"D的方式調整, 沿著NURBS的表面的UV空間來調整, 就是你在右圖看的圖片, 這個節點也會程序性地產生頭髮的群組.

增加的NURBS表面與"Follow NURBS Lite"節點, 用來產生更有趣味的髮型. 節點有簡化, 只需要一個NURBS表面就可以了, 但如果有好幾個表面也是可以輸入的.

"Curls"節點產生新的圖層, 用在程序性變形上面, 跟常見的程序性節點一樣, 它有很多參數可以調整循環的數量, 波浪的內差, 卷曲...等等 .在這裡我刻意讓循環的啟始點在髮尖的部位.

現在, 我們進入到第二個步驟--- ICE 點雲, 用來處理細節. 我改變了內差, 從髮根的平均分布改成從髮尖開始.

最後的細節: 隨機化頭髮的長度.

再次增加細節, 移動了某些頭髮, 不過還都是用程序性的控制.

現在, 讓我們上材質吧. 火星女警完全是用3delight來算圖的. 3delight是RenderMan相容的算圖器. 我用了常見的打燈設定: 太陽光, 背光, 用20盞等所打的光環做為環境光. 所有的燈光都有很深的shadow maps ,都有開啟diffuse與specular lighting照明. 這樣的設定很容易做調整, 也可以對整個角色做照明, 不只是頭髮而已. 一開始時, 我從手繪的HDR影像轉移了顏色過來 最後我手動調整所有的燈光, 頭髮的透光效果是以背光建立出來的, 具有比較高的shadow bias. 其他所有的光, 我試著用銳利的陰影, 小的bias數值. 根據shadow map的大小所決定, 至於太陽光 shadow map是4096, 背光是2048, 其他光源是1024. 我還用expression設定了每盞光的icon與顏色的顯示.

3delight算圖器的算圖效果

頭髮表面的材質軟體就有提供(out-of-box) 提供頭髮常見的顏色, 而頭髮陰影的shader. 我用了比較暗的, 比較飽和的顏色. 高光顏色是採用了隨機變化的灰色, 每根頭髮都具有一點點不同的高光強度. 最後, 大約產生了三萬根頭髮, 每根具有約0.15像素的厚度.


Kristinka Hair軟體介紹:
這裡進入下載頁面

Compounds:
  • Hair from NURBS Plus 提供很多選項: 例如髮叢(hair clumping) ,需要"am Hair from NURBS Ctrl"才能正確運作.
  • Hair from NURBS Single: 比較簡單, 提供一樣的參數, 但多了hair locks, 主要是用在產生細的NURBS髮條.
  • Hair from NURBS Ctrl :只是一個hair locks的產生器, 只有當你使用"for am Hair from NURBS Plus" compound才會需要用到
  • Hair from NURBS MotionBlur :用來產生動態模糊
使用方式
  • 建立一個空的點雲(point cloud), 輸入"am Hair from NURBS Ctrl" compound, 連接NURBS surface.
  • 建立另一個空的點雲, 導入"am Hair from NURBS Plus" compound, 連接第一個點雲NURBS surface 以及你要黏附的mesh.
  • 頭髮的基礎是在NURBS surface U邊界, 如果你啟動了NURBS boundary屬性, 在Softimage viewports U boundary會顯示成紅色. 如果頭髮方向無法吻合, 那就切換surface UV .同樣, 檢查NURBS surface法線方向, 這對很多參數都很重要, 髮線必須要與頭模型的法線平行.

[相關文章]

2011/10/31

VRay動畫算圖最佳化


原文:Vray animation optimisation
作者:James Cutler
翻譯:Hammer Chen

當用Vray算動畫的時候如果算圖時間很長, 往往會讓人很挫折. 原本用在單張靜態算圖的反射模糊的材質, displacements, 如果直接用在動畫上面的話,會讓整個算圖時間無限延長!

Displacement
渲染單張圖片若是用到displacement, 算圖時間就會變得很長. 若是用在動畫上面會變得更複雜, 需要很小心地規劃, 特別是你想要做出寫實的地毯的時候.
小技巧:若是用在表現草地, 地毯時, 建議使用3d mapping. 如果你用2d mapping算圖, Vray會載入每個frame. 如果texture很大的話, 這個動作會花很久時間. 關於地毯與草地3d mapping的邊長(edge length)可以設的高一點, 效果也不差; 若是用比較小的邊長, Vray越是細分(subdivides )mesh, 算圖時間就會越長. 邊長這個參數跟解析度有關, 越高的解析度, 邊長就應該越大. 同時應該要確認view dependent的選項有打勾, 這樣會減少閃爍問題, 因為displacement會更平均地分散計算.

2011/10/16

Building demolition: volumebreaker and Thinkingparticles integration videotutorial



In this 18 mins video tutorial, I am going to demonstrate how to create a realistic building demolition in 3ds max 2011, with help of Volumebreaker and ThinkingParticles plugins.

Tutorial results:




Before you start break your 3d building into pieces, make sure the mesh is a solid model. Add STL modifier to see if there is any error.

2011/10/11

Art of Optical Flow 光流的藝術

Optical Flow是從觀察者的角度(2D), 物體上面的特徵點所產生的運動向量. 這些向量可以由每個frame推算出來. 得到這些向量的資訊, 用在影片格式方面, 可以用來壓縮影片. 在電影特效的領域裡:可以用來追蹤畫面, 自動去背, 自動ROTO, 重建3D場景, 製作慢動作特效, 計算景深資訊. 在機器科學裡面, 可以讓無人飛機偵測環境碰撞, 判斷速度, 物體的遠近. 基本上Optical Flow的技術可以視為一種機器的視覺. 以下文章主要由fxguide而來, 挑出重點略譯.


----以下為編譯後的內容----
作者:Mike Seymour
編譯:Hammer Chen

"Optic flow"這的詞, 其實是你我每天都會體驗到的視覺現象. 基本上, optic flow是當你在運動的時候, 體驗到的視覺上的移動. 假設你做在車子裡面, 看窗,外 你會看到樹木, 地面, 建築物, 似乎在往後移動---這樣的動作就是"optic flow". 這個動作也能告訴你物件跟你的距離有多遠, 距離比較遠的例如天空的雲, 山脈會移動的比較慢. 比較近的如樹木或是建築物會移動的比較快. 非常近的物體, 例如地面, 會以非常快的速度離開你. (節錄自Centeye)

我們可以用很清楚的數學來界定optic flow的強度與物件跟你的關係. 如果你用兩倍的速度移動, 那麼optic flow也會變成兩倍. 如果物件兩倍的接近你, optic flow也會變成兩倍. 而且optic flow也跟角度有關, 跟你移動的方向, 和觀看的方向有關. 如果你往前移動, 跟你呈90度角的會有最大optic flow. 如果朝你而來, 則optic flow會比較小.

Optical flow 是視覺特效科技發展最有趣的技術, 這裡會專訪發明這項技術的人.

電影駭客任務Matrix裡面的子彈時間( bullet time) 跟 optical flow技術大有關係!

Bill Collis是The Foundry公司寫出 Furnace optical flow外掛的人. 該外掛還包含了改變時間撥放快慢(retimers )的 Kronos功能, 而ILM公司的Kim Libreri 認為Kronos是當今做 retimers最棒的工具. Optical flow大概是在十年前開始被用在電影裡面, 而現在有業界裡面的天才們正在開發相關的外掛 ,有了這些外掛, 美術人員就有機會處理極端複雜的畫面, 把這項科技用在 After Effects Shake, Flame, Nuke, Fusion 與 toxik等合成軟體.

Optical flow或是追蹤每個像素所需要數學, 被用再當今標準的影片轉檔與壓縮裡面, 在視覺特效的領域裡面, Optical flow 被用在改變影片快慢(retime), 追蹤, 3D場景重建, 動態模糊, 自動roto, 移除缺陷 (dirt removal).

對於 Optical flow的計算, 我們必須要考慮每個像素的x y移動向量, 也要考慮每個像素的品質, 比較這個frame的某像素跟下個frame一不一樣, 還必須要設定一個評量標準, 怎樣的像素可以作為追蹤點. optical flow都是以浮點數在計算的, 有些會儲存在 OpenEXR檔案裡面.

"當我們在走路或是移動頭時, 眼裡的世界也跟著改變, 即便是我們靜止不動, 這個世界也不會一直維持不動. 東西會飄落, 樹木會擺動, 小孩嬉戲. 這一類的動作, 以及我們對動作的了解, 似乎很平常, 我們往往把它當作理所當然. 事實上, 能夠查覺這個世界的改變, 對於生存十分重要, 沒有這項能力, 我們感知就會失去連續性"---- M.Black 博士班論文, 1992年.

Black博士的論文呈現了---optical flow, 做為這個世界的動作投影到觀察者的平面最好的註解. Optical flow 是以二維的向量場所呈現的, Optical flow是由移動的物體, 或是攝影機移動所造成的 用最簡單的說法來談, optical flow 它就是追蹤一個frame的像素, 然後追蹤下一個frame...最後的輸出會得到一系列的向量, 從這些向量與分析, 你就可以找到原本場景中物件的形狀.

為什麼這樣的分析很重要, 因為基本上 optical flow可以視為"機器的視覺". 一旦我們給予電腦"看" 東西的能力, 那麼電腦就能由2D畫面判斷出的物件形狀, 物體位置甚至演員, 這樣開啟了很龐大的機會, 我們可以依此做出很多很酷的特效. 一旦電腦可以"看"到車子, 電腦就會自己對汽車做roto的工,作 自動取代背景隱藏的部分( background hidden)或是把汽車挖掉. 一旦電腦"看"的到, 電腦就會產生深度圖(depth map), 顯示哪些東西靠的比較近, 哪些比較遠, 甚至可以進行retime. 精確地對畫面進行補差 (missing frames between any two ), 產生非常平順的慢動作特效.

Optical flow 雖然是一項技術, 讓我們分析場景, 這不是3D的分析, 也不需要任何特殊的硬體. 它主要是比較每個frame 試著去比對每個像素, 由一個frame到下一個fram, 如果有一個完全平滑的球在自旋的話, 因為畫面上看不出動作, 所以就沒有Optical flow了!

Optical Flow的拍攝規範
前面談那麼多Optical Flow的理論有什麼意義呢? Optical Flow的程式寫法是根據某些假設或是規則, 如果你在拍攝的時候遵守這些規則, 就會產生比較好的結果. 這很容易理解, 我們都知道綠色或是藍色螢幕的去背, 我們在拍攝的去背畫面的時候都會有規則遵守: 例如不要穿著綠色上衣, 或是不要用 promist濾鏡, 避免綠色背景太過接近演員. 當然啦! 你還是可以違反這些規則, 但是為了要得到高品質的去背結果你可能要因此加倍努力才能得到好效果.

就 optical flow來說, 規則如下:
  1. 透明的東西, 會違反"單一的運動前提", 所以效果會不好
  2. 閃爍的燈光, 或是其他類似的狀況會違反"亮度恆定的假說". 效果也會不好
  3. 非常顆粒或是雜訊很多的影片效果也不好
  4. 後製通常會對Optical flow 的計算不好, 後製對Optical flow 的計算不會有幫助. 我們問過Black博士與 the Foundry的 Bill Collis, 兩個人都同意. 他們說: Optical flow 程式的演算法在寫的時候就有把雜訊與顆粒考慮進去了, 所以預先處理影片, 比方說顏色校正這類的東西, 雖然人肉眼看好像比較好看, 其實對你Optical flow的運算是有害的.
  5. Optical flow 會去考慮frame之間的圖案 所以快速移動可能不容易解算出來, 隨機的運動也不行. 如果物件過於激烈地改變, 連你用肉眼都很難看出來運動了, 我想電腦也很難判斷吧.
  6. 為了解決雞生蛋, 蛋生雞的問題, 就先給電腦雞吧. 很多程式都能輸入matte, 如果你能先提供物件的roto或是key或是有用的matte, 將會大大改善解算的問題. 目前的程式, 並沒有物件形狀的資料,庫 也沒有更高階的形狀資料, 所以預先把物件獨立出來會非常有效. the Foundry的 Kronos的 retimer功能就能輸入matte .
  7. 計算Optical flow 的時間或多或少跟影片的影像大小成正比, 兩倍的像素表示兩倍的計算時間 .
  8. 這跟邊界分離有關, 大部分的軟體對相對規則, 慢點的影片會比較好計算, 如果有交錯的運動要避免 例如兩個人交錯走過就是一個不好的例子.

發展的歷史

1993
1993年TRACK軟體發表, 這個東西的功能是計算攝影機的位置並且重建場景TRACK系統是Digital Domain公司整合的軟體. 用在電腦視覺(computer-vision)科技, 萃取影片中2D與3D的資訊 , 到了2006年. 推出第五版的TRACK, 可以餵資料給Digital Domain的NUKE合成系統. 但是這套系統在使用的時候需要相當的使用藝術... 通常不能只用一種方法來處理單一個場景, 可能需要三四種方法才能達成.

1995 – 1996
Optical flow技術首次用在電影裡面:
1995年Sergei Fogel研發出新的處理技術, 可以讓frame與frame之間產生內差, 這項科技很快地命名為Cinespeed. 而最先採用Cinespeed技術的電影是"不可能的任務". 其中有一幕湯姆克魯斯在圓桌上親吻Emmanuelle Beart, 這個鏡頭成功地結合傳統的2D與Cinespeed技術, 表現慢速鏡頭(retimed) 這基本上就是整個系統的元型.

在"美夢成真"這部電影裡面, 羅賓威廉斯在一個似乎用筆刷畫出來的世界裡面, 他是即時的表演, 但是當他接觸到植物的時候, 植物看起來好像是畫出來的. 背景一直有個巨大光線, 不論攝影機的位置在哪裡, 但是當風吹, 或是演員移動 ,植物都能夠很寫實地做出反應. 觀眾可能會假定這幕是完全在綠幕前拍攝的, 但是, 實際不是的. 導演(Vincent Ward)不想用傳統的方式拍攝, 他想用自由的, 自然的方式拍攝, 但是又能在後製加上驚人的特效.

美夢成真這部電影跨出的一大步

場景準備
最後想出的解決方法是, 在冰河國家公園拍攝所有場景, 演員就自然演出即可, 但是在現場擺上橘色標記點.

接著, 演員以Optical flow技術從場景中拿掉. 攝影機的功能是要重建攝影機在3D中運動, 然後再次利用Optical flow技術. Optical flow vector maps用來追蹤影片裡面的每個像素, 最後, 使用雷射雷達技術, 用來掃描拓譜, 產生點雲, 重建整個地形的3D資訊.

接著使用Photoshop做pre-viz, 團隊能夠依此決定要怎場景的哪邊繪製植物, 山脈, 天空, 水. 可以依照顏色, 亮度, 深度來繪製出alpha matte.

接著"動作繪製(Motion Paint )" 用來套用不同顏色與比刷, 根據動作/空間的分析資訊, 動作繪製拿實拍畫面Photoshop mattes 或是optical flow的處理, 來產生整個最終影片的效果

最後, 演員才又擺回原本的畫面裡頭.

1999
駭客任務中的子彈時間特,效 也是利用optical flow技術還讓慢動作畫面能平順地呈現. 而這次提昇的品質是過去業界無法想像的!

Kim Libreri是子彈時間的主管, 這幕最大的困難在於要慢慢的動. 然後拉攝(dolly)進畫面, 而每個靜態攝影機的最近距離是七吋, 而最近也會有12吋的間距, 所以要產生平順的運動根本就是不可能的.

最大的問題在於鏡頭的抖動, 每秒600個frame, 這些是跟optical flow無關的, 是穩定性與顏色等問題.

一開始時團隊有考慮到用cineon系統, 但是原廠Kodak有意把cineon抽出市場. 於是Kim Libreri詢問他在S&W的朋友, 請他試做效果相當不錯, 只是當時不是只有內差的問題, 還有攝影機拍攝600 fps的抖動問題.

根據Libreri所說, 在首次的駭客任務子彈時間測試的時候, John發明了新的詞---UCAP 他希望做出完全的捕捉, 他希望用10台攝影機, 能夠內差出所有角度的攝影機, 做出完整的3D場景重建, 裡面有演員 ,環境, 不管從任何角度都可以, 這就是團隊在下一步要做的(駭客任務第二集)

2000
在製作電影"大敵當前"的時候, RealViz Retimer這套軟體推出了. 那時我們用Cineon’s Cinespeed進行retime, 但是"大敵當前"有其他挑戰, 用這個工具無法克服. 這部電影拍攝了很多二戰時期史達林格勒的細節畫面, 電影中經常必須出現大量的火, 燃燒以及很厚實的煙, 燒向天際. 我們根本就不可能實際拍出這麼多煙霧, 而大部分拍攝地點製造這麼多煙霧也是不合法的. 所以我們的作法是拍攝微縮的煙霧, 用最高的FPS來拍攝, 就算是這樣還是不夠, 我們就利用當時最新的Retimer軟體來處理讓這些火焰, 煙霧的速度變慢. 有時候甚至讓速度整個慢十倍, 只有optical flow的技術有可能達到這種特效, 最終的效果讓我們感到十分驚奇.

駭客任務的續集
第一個把optical flow技術用在臉部表情動畫的不是"駭客任務"續集 ,其實是用在"不可能的任務2"與"靈異總動員". 裡面有一個角色要變臉的鏡頭, 我們決定要用optical flow的技術來做, 於是我們就拍攝一位演員的臉部表情背景是綠色螢幕, 而另外又做了這演員的模型. 我們把演員表情所產生的optical flow套用到模型上面, 模型就開始講話了. 雖然效果很粗糙, 但是這個測試說服了我們,這樣的流程可行. 雖然電影後來沒有用這個畫面, 可是這就是駭客任務續集UCAP的基礎, 我們可以說, 只要有好的3D模型, 我們就能重新建立某位角色的臉部表情.

當時Manex團隊想要找到合作夥伴, 因為這些特效相當複雜, 攝影機產生的資料量是每秒好幾G. 每天晚上團隊都要備份5terabytes的資料量, 到最後, 他們還必須要把工作帶回家處理這些高解析度的影片.

Borshukov回憶在拍攝"靈異總動員"的時候, 他發現景深效果不對, 但是他想到如果再加幾部攝影機的話就能產生正確的景深.

駭客任務續集, 把一些研究與成果都結合在一起. 結合了美夢成真的追蹤技術, 子彈時間的內差技術 還有虛擬攝影(virtual cinematography) 全部結合在一起---就變成了全景捕捉了(Universal Capture of the Matrix sequels) . 駭客任務續集, 延伸了optical flow技術, 使用多台攝影機並結合了,攝影量測學技術(photogrammetry)用在產生3D動作重建(包含了動態貼圖與擷取)

高解析度捕捉的設定
團隊小心翼翼地放置五台同步的攝影機, 在環境燈光下, 捕捉演員的表情. 為了要得到最佳圖像品質 ,精心佈置了Sony/Panavision HDW-F900攝影機與電腦工作, 捕捉出位壓縮的數位格式. 以每秒達到1G/sec 資料量寫到硬碟裡面.

Optical Flow的攝影量測學技術(Photogrammetry)
Optical flow用在追蹤每個畫面的像素, 最終結果會結合成一個虛擬的模型, 表現出自然的演員表情與重建的攝影機位置.

這演算法會投影模型的vertex到攝影機, 然後追蹤這些vertex的動作, 利用optical flow技術追蹤這2D畫面, 然後用三角測量法重新根據每個frame建立3D的位置, 最後會得到精確,的 每個vertex在3D空間的重建.

關鍵形狀, 適應, 移除整體運動(Keyshaping, Adapt, Removing Global Motion)
Optical flow的計算錯誤會隨著時間累積, 會造成3D重建不必要的飄移. 為了要減小飄移問題, 團隊用了反轉的Optical flow, 這個問題是經由手動的關鍵形狀(a manual keyshaping step)來減小的. 當問題大到某個程度的時候, 就手動修正錯誤, 然後用演算法的方式把這個修正套用到其他的frame. 重建的動作包含了整體的僵硬的頭部運動, 為了要添加臉部表情到CG身體, 我們會用最小平方法去吻合自然的臉部然後扣掉這個動作來取得不僵硬的臉部變形(non-rigid deformation)

貼圖的擷取
為了要產生逼真的臉部算圖效果, 就要擷取臉部表情隨時間的貼圖. 事實上團隊並沒有在演員臉部放置任何的標記點來幫助臉部追蹤. 因為他們可以根據多台攝影機, 隨著時間變化, 產生一個無縫的UV color map. 捕捉重要的貼圖變化, 例如皺紋, 或是擠壓產生的顏色改變, 臉部的每面都有很高解析度的細節.

算圖
雖然臉部動作擷取最細微的動作, 但是還是缺乏細節, 例如毛孔和皺紋. 團隊用的是高解析度的100-micron scan掃描臉部, 這個細節最終轉換成bump map. 動態的皺紋是根據影像處理所產生的, 然後把皺紋疊在bump map上面, 最後再結合image-based skin BRDF估算與次表面估算效果.

[相關文章]