2018年6月29日 星期五

Fortnite Trailer Pipeline | Unreal Dev Day Montreal 2017 | Unreal Engine _要塞英雄預告生產流程

Fortnite Trailer Pipeline | Unreal Dev Day Montreal 2017 | Unreal Engine

(請放大150%~200%閱讀) 影片


哈囉,我是Brain Pohl,是北美EPIC Game的媒體和娛樂解決方案工程師。我想今天你們已經看了很多技術展示,我的展示會稍微轉換一下。我們會爬到30000英呎,看看未來的遠景,今天我們要討論生產流程(pipeline),跟工作流程(workflow)。

喬治盧卡斯說過,因為人類發展,所有的藝術依賴科技,所以即便你在牆上使用木炭或設計前舞台鏡框,都是科技。他其實要表達的是,藝術推動科技,科技推動藝術,他們是手拉手的共生關係。
動畫製程的下次進化
  • 即時(實時)
  • 身臨其境
  • 非線性
  • 互動
  • 程式控制
  • 客製化
Zafari : 兒童影集 by Digital Dimension,10月在法國首播,隔年美國放映。
Barbie Vlogger : by house of move,這是實時芭比綜藝節目。芭比和她的朋友,實時回答觀眾問題,演員穿著mocap裝,回饋串流mocap資料到引擎,並直播出去。
War : POTA : 利用引擎作previz(視覺預覽)

期望
今天我們討論(堡壘之夜),示範Epic Game團隊如何建構這支預告。在Epic,我們知道製作動畫內容是件不容易的任務。如果我們要為藝術家提供完美的工具,我們要先使用自家的產品,自己試作一遍,所以我們決定製作這支預告,去學到所有的益處和製作實時動畫短片的挑戰。依據結果有許多進展達成中。有些進步或技術會在未來的416 417 418發布,不過還是有很多事情要做。

我不會一開始就告訴你,這首歌我聽了多少次。

設立目標
在2017年,EPIC GAME決定開始要為遊戲,要塞英雄製作3分鐘電影預告,發布這款遊戲的釋出,希望能引起刺激和留住玩家。
這支預告由這些組成
  • 6 個seqs
  • 130顆獨立鏡頭
  • 一定要實時(即時)
  • 24FPS

最高算圖時間
最高算圖時間 41.67毫秒 = 0.04167 秒
實時運算的一格(一秒有24格),最多花費41.67毫秒,所以影片一秒24格,實時只需要約1秒(0.04167*24格=1.00008秒),這將會是24FPS的新標準。

排程
製作期從2017/1月開始,大概20週,但這沒有包括2016年的前置作業。製作期團隊的規模,從5個人到20人(Epic Game),角色動畫是外包(steamroller studio)

應用軟體和使用格式
Unreal,MAYA(角色動畫),MAX(製作模型),Motionbuilder(動態擷取),Premiere(離線和最終剪輯),Substance Designer(材質),Blender(破壞模擬),ShotGun(專案追蹤),Perforce(版本控管),Alembic和FBX(檔案格式),Vicon Mocap(動態捕捉系統)

5個製作階段
在創意產業裡工作的人,都熟悉這流程,不管是在電影,動畫或是遊戲。他們從研發,前製,製作,後製,到發布。我把傳統的線性流程列出來,因為這些技術有點過時,在產業進化和手工業的概念,被用在電影工業,而結果就是每個過程,必須要完成,才能進入下個過程,這是非常流水線的驅使。這的確帶來的好萊塢的黃金時代。
優點
  • 已驗證的公式系統
  • 既定的預算模型
  • 旨在逐步分散工作量
  • 驅動現在的動畫和電影產業

缺點
  • 線性流水線方式
  • 高度各部門各自為政
  • 過時版本的處理系統
  • 緩慢的調修過程
  • 很難變更排程
  • 缺乏統一性
  • 太慢

5個製作階段
更現代,非線性
侏儸紀公園讓流程更互相倚賴,很快我們更了解到更動某一個流程,就會戲劇性的改變預先準備和其他流程的執行。這有好有壞。好處是這讓製作團隊開始以整體去思考他們的電影,而不是流水線模式。壞處是導演開始追上CG技術,開始會提出任性要求,此時,製作人會很開心。我相信各位有聽過類似的話 fix it in post correct,這是典型的好萊塢神話。
優點
  • 非線性
  • 互相聯結
  • 多用途
  • 更快速
  • 預防

缺點
  • 更複雜
  • 需要更多團隊合作
  • 需要更複雜的製作管理

方法

目前

次世代
  • DCC(數位內容製作 ex : MAYA MAX)
主要製作工具
  • 遊戲引擎
  • 拉下 (要完成才能往下個階段製作)
研發模型
  • 取和推(隨時都可以修改並且合併到主線)
  • 分散和部門化
  • 資料和產品管理
    • 集中和合作化
  • 手動符號連結
  • 版本控管
    • ACID
  • 較少平行
  • 工作流程
    • 更平行
  • 配合合成系統使用圖層
  • 輸出目標
    • 直接輸出成品(為了可以live直播)
  • 嚴格
  • 命名慣例
    • 彈性
  • 無限制拓譜
  • 資產考慮
    • 為實時做最佳化
    典型動畫工作室生產流程 - 現代/非線性
    故事階段就可以花到6-12個月,一年半載,製作出分鏡表,再送去(Editorial)剪輯出story reel,再送到Shot Blocking(鏡頭調度)做Rough Layout(粗略佈局),同時藝術部門開始繪製概念圖送去模型 綁定 材質 ,資產建構(Asset Construction)完成,最後會再送回Shot Blocking,Rought Layout由多顆鏡頭組成,當Rought Layout完成,就開始調Aniamtion,動作調完再送回Shot Blocking製作成Fianl Layout。接著再將鏡頭後製優化(Shot Enhancement and effects),再到燈光渲染(Image Output),最後剪輯配音輸出(Editing and Finalizing)。這就是目前今日的動畫工作流程。

    要塞英雄前期作業優勢
    要塞英雄已經是上市遊戲,所以遊戲的資產都可以在遊戲中找到。
    遊戲資產都是從要塞英雄裡拉下。
    • 模型
    • 遊戲綁定
    • 遊戲動作庫
    • 場景組裝
    • 利用預覽過程
    傳統CG過程要把這些全部做出來,可能是好幾個月的工作,但對要塞英雄,它已經提供大幅的領先。

    要塞英雄動畫生產流程
    有點類似,但還是有些不一樣。我們沒有專門的故事部門,但我們製作故事板,再送到剪輯室製作story reel,聽起來很而熟吧。在Rought layout中,直接拿遊戲資產,套上Mocap資料,製作成1st Unit Previs,基本上就是導演和演員,在Mocap棚裡拍攝。可以直接跟演員互動和流暢的製作鏡頭。使用真人調度動畫。這是最大的不一樣的地方,不再是手key每顆鏡頭。所有的資料都會在Rough Layout時建立。基本上它會連接到seqs,我們會做相當粗略的製作,製作level seqs,並一直保持彈性。你可以製作獨立的seqs和shots。當我們完成額外一次性(one-off)的鏡頭。會把這些鏡頭再做精煉過程(refining stage)或reindex conform(可能也是完善),所有的Level sequences都會在seqencer裡面。每顆鏡頭正式製作,sub level被定義出來,這兩者都會在seqencer裡製作,seqencer會變為成品樞紐,在傳統系統裡,剪輯和layaout是成品樞紐。第4階段,資產輸出。第5階段,資產優化,遊戲模型可能沒這麼適合電影預告所用,他們需要被評估和改善。改善綁定和貼圖,佈線(surfacing)。第6階段,動畫(Animation),之後的我們等下詳細說明。

    有什麼是確實地不一樣的?

    目前動畫生產流程
    次世代動畫生產流程
    • 側重前期故事
    • 整合故事
  • 構思鏡頭建構
    • 實拍鏡頭建構
  • 剪輯&布局如成品樞紐
    • seqencer如成品樞紐
  • 前製之後的部門主宰
    • 整個過程以導演為中心
  • 少有互動式調修
    • 更多的互動式調修

    目前的流程,你可能會花18個月在想故事。次世代中,整合故事的流程,有很多人發想,導演有相當大的掌控。在製作期間,部門主管的想法會取代導演最初的想法。次世代製程,則是以導演為核心。
    要塞英雄的前製作業-開發故事
    開發故事
    • 最初的想法會應用故事板
    • 多種概念都會被納入考慮
    • 利用Premiere Pro做暫時剪輯
    • 製作粗略的story reel給mocap當參考資料
    • 接近傳統流程

    要塞英雄的前製作業-ROUGH Layout
    MoCap + Previs = ROUGH Layout
    • Vicon動態捕捉系統/Mobu
    • 合理的動作,運動。當場決定動畫發生點。
    • 盡可能在單一較大的take裡,完成拍攝很多Mocap資料。
    • 在匯入引擎之前,回看Mocap take。
    • 驗證過的take在匯入引擎。
    • 這個階段定義粗略的level seqs
    • 組裝選出的level seqs,丟進一個肥大的master level seqs
    • 為鏡頭涵蓋(coverage)拍攝一次性的鏡頭,並在劇本標示改變和配音。
    • 複製FAT master level seqs並根據最初的rough shots和時間點來劃分鏡頭。
    • 從複製的master裡,刪除多餘的素材。
    • 正式的攝影機會增加在複製的level seqs裡,並基礎取景。
    • 為求提升效能,根據攝影機的FOV,移出鏡頭內不用的角色和布置。

    要塞英雄的前製作業-Conforming In Sequencer
    Rough Layout一旦完成,就要來整合seqs,這個階段會開始嚴謹。
    • Rough level seqs會被規劃成一個傳統的seqs,節拍,並且鏡頭結構通常建立在影片中。
    • Level seqs會被重建去支援新的構造組合(新的剪輯)。
    • 正式的鏡頭編號會被重新排序和指定名稱 (ex : db0030_001,op0040_001)
    • 資料會被送去shotgun,做產品追蹤。
    • 要塞英雄的預告是遊戲的分支(為這專案分支)
    要塞英雄實機操作
    各位可以看到這裡有6個seqencer,OP DB (這些縮寫)。

    點進去有多個seqs(shots)
    這些獨立的seqs就是獨立的shots。
    再點進去就會看到有好多資料夾,有level Visibility ,audio,Camera,Character,Lighting,Props,VFX
    要塞英雄製作-場面調度
    因為動畫師是在MAYA裡工作,所以要輸出到MAYA。但不幸的是要手動輸出(4.20出了Livelink for maya),
    • 場景組裝是由Fortnite遊戲場景提供,在rough layout流程,會被輸出到MAYA,讓動作表演對位和場面調度。
    • 與額外的rough layout 所重拍的鏡頭,不需要製作,除非非常必要。
    • 所有的攝影機運動都是在UE4完成。
    要塞英雄製作-版本控管
    版本控管
    • Perforce客製化包裹
    • unreal game同步系統
    • 支援changelist,time stamps ,detail info

    批次輸入/輸出
    • 從MAYA用寫腳本的方式輸出
    • 手動輸出/輸入到UE4
    • 主要痛點
    • 4.19將支援Python

    要塞英雄製作-Sub Level 管理組成
    CG總監和導演,想要每個人都可以平行工作,所以他們創造sub level。
    藉由類別來管理工作和控制場景組裝可視性。
    • Persistent Level - sub level的虛擬場景持有者(母層)
    • Environment Sub Levels (ENV) - 場景組裝
    • Character Sub Level (Characters) - 給所有level seqs的FBX身體
    • Cine Sub Levels - 每個電影level seqs 節拍?(1.OP 2.DB 3.MT 4.HF 5.SF 6.DE )
    • Lighting Sub Levels - 專屬seq與鏡頭 level light
    • Blueprint Specific sub Levels
    • Post Processing sub Level - Tonemapper

    會依據不同的seqs,使用Level Visibility來開關不同的sub level。注意:這是在最大的seq所做的level visibility,所以有很多不一樣的sub level
    例如這個是在第二層Master(db_seq)所做的Level Visibility,只會看到db開頭的sub level。
    要塞英雄製作-遊戲資產改善
    遊戲資產在遊戲中品質不錯,但在預告裡可能沒辦法。要塞英雄是使用動態光源。
    • 遊戲資產手動匯入MAX
    • 頭部和身體分開
    • 模型和貼圖強化需要額外解析度
    • 任何烘焙燈光貼圖,都要把抽掉燈光
    • 臉部佈線使用統一的拓譜
    要塞英雄製作-角色綁定
    角色綁定
    • 在MAYA裡,資產用w/ART 2.0綁定
    • 為Anim Physics額外增加Leaf 節點。
    • 改善電影臉部綁定和控制器應用。
    要塞英雄製作-FBX & Alembic快取工作流程
    • FBX身體 - 55,000四角面 / 110,000三角面
    • Alembic 頭 - 35,000 四角面 / 70,000三角面 (統一拓譜)
    • 每位英雄的總面數接近185,000三角面

    • 在遊戲中,臉部骨架是26根
    • 透過FBX,每個點會被8根Bone影響
    • 限制變形的可能性
    • 在電影中,臉部是201根
    • 綁定是一個骨頭,blendshape,lattice的組合在UE裡,使用FBX讓變形的模型移除影響限制。
    • ABC快取在UE4轉換成GPU morphs,並且實時混接。
    要塞英雄製作-動畫 - MAYA
    • 所有表演動畫都是委外給佛羅里達州尤斯蒂斯的steamroller studio
    • 他們使用他們的資產和產品管理生產流程,製作鏡頭和追蹤資料。
    • 當steamroller 完成每顆鏡頭的表演,Maya的檔案會上傳到Box並且Epic 動畫團隊必要時會調修,再彙整到UE4.
    • 所有MAYA檔案會用perforce追蹤,確保Epic可以版本控管。
    要塞英雄製作-為ABC使材質匹配
    • 讓MAYA材質名稱與UE材質名稱相同匹配。
    • 置入Maya材質球給臉部模型,而不只是換掉整個模型。
    要塞英雄製作-ABC準備和輸出
    • 所有角色臉部幾何體,必須把四角面轉成三角面。
    • Maya以ABC快取格式輸出模型。

    • ABC檔案輸入到UE是被當成Skeleton Mesh
    • ABC的快取會轉成PCA壓縮成morph Targets
    • “Use GPU for Morph Targets”必須開啟。
    • ABC使用請看Youtube Introduction to Alembic




    要塞英雄製作-最終排版和發布
    • 新增的rought layout所做的重拍鏡頭,除非必要否則不做這件事。
    • 所有的camera運動都在UE4建立
    • 如果在動畫之中,攝影機需要被改造,會在MAYA做改變,在最終輸出時,再回到UE4。(是否寫錯?)
    • 角色動畫表演也是回到MAYA修改。
    要塞英雄製作-打燈
    有一個燈光架設系統,可以用在一些seqs裡,
    • 燈光架設(light rigs) VS Spawnable 燈光
    • 燈光優先度覆蓋被利用調整每一顆鏡頭的燈光布置
    • 使用動態燈光勝過烘焙燈光 (因為烘焙太花時間)
    • Distant Field AO會和基礎材質求連接,在無陰影主燈下,提供一個較柔和的陰影。
    • PCSS被使用在動態spot light和直射燈光。
    要塞英雄後期製作-特效和後製
    音樂放在第一層的master level seqs

    要塞英雄後期製作-最終輸出和剪輯
    • seqs的鏡頭是以序列圖像輸出
    • 把序列圖檔匯入Primiere做最後剪輯
    • 最後聲音在配上
    • 同樣在剪輯軟體和UE裡剪輯,都是手動的
    • 傳統的EDL,UE是支援的,但無法對Seqs提供更複雜的剪輯