用Unreal Engine繪制實時CG影像


轉自:http://www.unrealchina.net/portal.php?mod=view&aid=225

近年來,對實時CG的關心熱度越來越高,但要想彌補與預渲染方式的差異並不是那么容易。這里就有影像業界的先鋒進行挑戰的MARZA ANIMATION PLANET。本文中通過Demo Movie的制作,來看看實時CG的可能性。
 
 
一、對應現狀的問題意識與先見之明相結合的實驗性項目
    近年來的實時CG的品質的提升特別顯著,最新的影像出現使得CG影像的相關人員興奮起來,不光是影像的美麗程度,還感到了這種技術的可能性。這次介紹的MARZA ANIMATION PLANET(后面簡稱MARZA )發表的Demo Movie“Happy Forest”,是把Unreal Engine 4(后面簡稱 UE4)作為影像制作的渲染器來使用的作品。
   “用實時CG來做影像制作還是異端,當初公司內部的贊同者也很少”擔任本作主管的今村環人氏說到。 盡管如此,在面向實現的行動上,不光是影像制作的輸出,找出游戲和影像的中間部分的可能性,還有最能發揮出優勢的時機的考慮。“有了這種情況下是否夠好的茫然和不安感,探索着解決方案。在制作本案例時候感覺到的可能性,在成型,部署之前就都是秘密了(笑)“執行制作人內田治宏回顧到。
    於是,由贊同了今村氏的技術指導佐藤男治以及技術顧問橋本善久(曾任Square Enix CTO兼Luminous引擎技術總監)3個人開始了項目。美術方面有少數人加入,接觸了實時引擎的機能和概念,在離開了習慣的工具后,美術方面成了缺點,優勢方面很少。花費了約1年時間,才將優點沉淀,變成了積極的因素。另外本項目的代號名【KURO】是使用MARZA慣例的顏色的命名 ,因為本項目一開始是非正式的,在接近黑色印象的同時,把平常用英文的表示寫成日語KURO,體現出了異端的氣氛。
 
二、實時CG的導入
實時CG技術的現狀和影像制作的可能性
    在項目開始前,首先是佐藤氏和協調員宇津也周一進行了實時CG的現狀調查和驗證。說到作為現在趨勢的GPU的高速渲染方面,各種渲染器的RT模式和GPU渲染器也會進入視野。在項目上,先通過是MARZA的商業模式的變化,以及想到的影像內容以外的輸出,選擇以實時引擎中適用的內容為前提來進行調查。在UE和Unity間做了很大的比較。說到這次項目,當時預定是不加入軟件工程師來進行開發,因為面向高端圖形的功能更充實,而選擇了UE4。"UE4所具有的過場動畫編輯器Matinee,與大家所熟知的視頻編輯的Timeline的是相當接近的,而一個主要的原因也是,當時的Unity並沒有配備類似的功能。" 其他方面,Unity在2015年3月后發布的5.0版本在圖形功能上有很大的提升,【充實的Asset Store】,【可買斷的授權】,【日本市場的開發與用戶的距離更接近】,【使用C#的定制性更高】等等,成為了與UE4不同的優點,今后也包含Unity的開發也在研究中。
     導入實時引擎的影像制作,以視覺開發(Look Dev),光照(Lighting),渲染(Rendering),合成(Composite)為中心,產生了相當大范圍的影響。因此,雖然敦促要越早的接觸UE4,但美術師還是沒怎么接觸過,橋本氏回顧到。“預渲染有着已經穩固的管線,只要按照方法來進行工作就可以得到想要的表現。這個就像文化一樣。和之前的流程不同,總之理想是通過讓每個美術在更早的階段通過實時引擎的特性來獲得實感,再逆算出影像的制作在短時間內提高品質,但是,因為從習慣的文化中走出也會有人覺得麻煩,無法做到也是很自然的”(橋本氏)。
  A UE4和Unity,有着各自的優點,就KURO來說,一開始就是只有設計師來構成的項目,當時的Unity4.x和UE4的圖形能力有很大的差距,所以采用了UE4,但現在Unity5.0發布后,與UE4的圖形差別縮短了,MARZA以后加大Unity的研究開發。
UE4的優點
  從一開始,就是為高端硬件設計的游戲引擎,圖形機能的標准很優秀
  過場動畫編輯和捕捉功能等等,影像制作的功能非常完備
  基於節點的可視化腳本的藍圖(Blue Print)的實現,對設計師更體貼。
  設計師完成工作更容易
Unity的優點
  對應各種平台
  網絡上的資料很多
  Asset Store上有各種資源銷售
  在日本有分支機構,技術支持更放心和開發者距離更接近
  有買斷模式
  Unity5.0后,在圖形上也有相當大的投入
  B 工作流的比較
 
 
三、KURO 1.0
勇敢的踩過了所有的地雷
    【KURO】經過了1.0,1.2,1.5 三個階段,【Happy Froest】是【KURO 1.5】的官方命名,作為出發點的【KURO 1.0】,是與現在的方向性不同的作品。 ”因為平時是制作游戲片頭的小組,使用實時引擎就面對了那樣的制作感覺。總之,不考慮引擎不擅長的部分,演出方面就像以前那樣努力就好。”加治佐興平指導說到。 結果上,雖然獲得了一定的成果,但品質和引擎的特性並沒有獲得最大限度的提升。“按照橋本氏的建議,如果工具的調查和體驗后加入到制作中是理想的,當時是把想作的內容做了修改,在各處加入了。”(今村氏)。結果UE4不擅長的要素也全部實踐過了,與橋本氏的“預想的范圍”相符。關於這點,加治佐氏回顧到“雖說有不合適的表現,但有多疼不摔倒是不會知道的,成為有領會感覺的摔倒”的,這次的不擅長的要素,有人的皮膚,特寫,眼睛,頭發,人群等大量資源的動作。相反的【KURO 1.0】中很容易表現出品質的,可以說是角色的盔甲。
    【KUR01.0】的宣傳得到的是“大家都努力了!辛苦了!難以稱作熱度感(苦笑)”今村氏說到。一方面確信可以這個經驗得到了更好的作品。以公開后可以獲得驚嘆為目標,項目向新的追求的階段前進。還有,【KURO 1.0】的長度是1分半鍾,員工10名,開發時間3個月。
  圖1,2是MotionBuilder的工作畫面,圖2~7是 【KUR0 1.0】的場景鏡頭,使用UE4的實時CG影像的第一版,一邊向和預渲染不同的做法挑戰,一邊正面對抗皮膚和群組等實時CG不擅長的要素,這些經驗提起了更高品質的影像制作的士氣。繼續做成【KURO 1.2】。
 
 
四、KURO 1.2
能確實的跳躍的根基鞏固
    【KURO 1.2】是在回避CKURO 1.0所確認的“實時引擎的不擅長的部分”的同時,展示品質的驗證項目。把這個成果在【KURO 1.5】中繼承,而【KURO 1.2】並不是作為單體的影像作品而成立的,通過這個階段,為了可以在更高一層技術的內容來發掘引擎的繪制品質,軟件工程師松村知哉氏加入了。對石頭,太閑,樹木等,UE4擅長的要素進行精確的調查。Shader相關的是高橋聰氏通過【KURO 1.0】繼續進行調查,另外一方面松村氏進行陰影,GI的渲染相關的調查。還有,平時松村氏也是要進行編碼的,而這次並沒有。成為核心成員的體制,4名員工,1個月的短期集中的項目。“雖然是最初就建議進行的調查,但考慮到【KURO 1.0】的“有領會感的摔倒”的是更實在的,結果上是成為很好的繼承形式](橋 本氏)。 
 
 
  【KURO 1.2】的截圖,這里是以照片真實的自然物為目標進行渲染方法,進行了基於物理渲染(PBR)的研究。
 
五、利用UE4特性的策划案
用【KURO 1.0】的經驗摸索當前的解答
    【KURO 1.0】完成后,首先是把策划案湊在一起的頭腦風暴,進行討論。其中,不加入角色要素的方案也被討論了。使用UE4的回避要素是把角色排除,把細致的值得一看的背景放到前面突出的方法。“但是,也有這樣沖擊力會變弱的意見,成為挑戰的,因為加入了角色,也有關於MARZA銷售的角色動畫的呼聲,這里,使用UE4比較擅長的要素進行“龍”的制作”(今村氏)。最終,以【KUR0 1.0】為主導,采用了理解了實時引擎特性的加治佐氏的方案。具體的是,回避【KUR0 1.0】里不利於工作的人形角色和大量角色登場的人群,相反的推出可以容易表現品質的樹木和岩石,角色也是類似岩石質感的龍為主角。
    加治佐氏體驗了實時CG的渲染速度,感覺到流程變革的可能性。也就是說,① 可以確認每天最新完成版品質的“日常”。② 包含演出的每個部分可以並行的進行工作。特別是后者,從已有的CG影像的制作流程(瀑布開發類型= 明確各部分之間的先后關系來推進,返工處理就很困難。)向允許返工的[敏捷型]轉變的推動。就演出方面來說,受益於此,在最后階段也可以修改拍攝技術和演出,“准備了舞台和外景,然后布置演員和相機來表演,就好像真實的電影拍攝的感覺” (加治佐氏說到)
    擔任本作設計的是梅田年哉氏,加治佐氏把傳達印象的資料准備成畫像,梅田氏繪制作為主角的龍的設計。之所以使用幼龍的設計,據說是因為小的角色可以更有效的進行景深的表演,某種程度上也是壓縮工時的考慮。“設計工作用了大概10天,和其他項目並行的進行。通過最初的2,3天准備草圖,再從中選取來獲取感覺。具體的印象上,也有聽過使用UE4要注意的地方,以確信的方式來推進工作”(梅田氏)。
【KURO 1.5】= 【HAPPY FOREST】
  策划案 加治佐氏准備的策划書的一部分,有策划內容的細節和創意草圖等 
 
 
  幼龍的設計 1 是繪制了很多版的幼龍的設計案, 2是 幼龍的特寫,3 是表情集
 
 
  舞台 1是 策划初期的草稿,有舞台意識的設計, 2 梅田氏繪制的背景布局 通過明暗的繪制來抓住氣氛 3着色后的背景印象圖
 
 
  繪制了背景和幼龍的印象圖,[KURO 1.5]的第一步
 
 
  故事板,顯示的故事框架,幼龍的表演方案動畫師也有斟酌的余地
 
 
六、背景
補足故事世界觀的嚴格的高端背景
    背景的建模工作使用的是3ds Max。負責背景的八木啓敬氏是使用3ds Max建模的專家,為了可以高速的工作,采用了與UE4交接的工程是由高橘氏代替的體制。"有特寫顯示的部分的話,Texture的分辨率達到了4K,也沒有使用Dispalcement,通過實際的網格形狀顯示細節,其中幼龍躲藏的樹有600萬多邊形,用和預渲染一樣的高模來做成"(八木氏)
    實際的【KUR0 1.0】開發時,因為意識到是實時CG而限制了多邊形數量,【KURO 1.5】不考慮實時性而重視品質,因此,前述的樹木等是用線框顯示邊緣時密集到無法看清的狀態。盡管如此在最接近鏡頭上細節還是不夠,把苔蘚網格用數組模板來組織,作為Instance配置來對應。
    還有在UE4的實現上,准備了不受風力搖擺影響的花草來增加細節,高橋氏解釋到“因為數量很多,如果全部動態更新是會相當痛苦的工作”。順便說一下,背景的設計畫中繪制的樹根,據說因為建模后完成的非常好,有了急忙就在開始鏡頭就使用的小插曲。“當初並沒有預定,在上面的背景的品質提升中試着使用了,實時CG在表演的自由度上壓倒性提升這點,成為了這次制作方式的一大魅力”(加治佐氏)。
   背景模型,1和2是3ds Max配置全體模型的場景,3 是作品中主要顯示的倒下的樹的模型的配置場景,做成了相當高的密度,4和5是UE4上的背景。故事的舞台。
 
 
七、幼龍
立足於【KURO 1.0】經驗的角色制作
    把影像制作的流程加入到實時引擎,很多的部分都會收到影響,但也有影響較小的部分。建模就是其中的一個,本作中也和通常預渲染的流程一樣進行工作。用ZBrush進行造型,MARI繪制貼圖的流程。“從ZSphere開始造型的比例檢查,幾天后進入向動畫師提供模型的工作,就是這樣的節奏感。開始的1周內,大體的Texture完成,移送到MARI里進行細節的加入”角色模型師鴻巣智氏說到。工作上的注意點是,游戲引擎中對應物體對象的數量導致繪制負荷加重是無法避免的,要盡量做成一個Mesh,還有Texture的張數不能增加過多,這次使用了2張4K的Texture。
    皮膚的角質和鱗片的色調的表現,是利用MARI的Procedural Layer。對應部分改變縮放來繪制pattern。再把它作為Mask轉寫到 Sculpt 。其中的問題是,哪個位置要近似真實到什么程度。完成的幼龍就如你所見,加入細節感的同時可以感覺到可愛的來完成。“最初想要更加真實的質感,‘不對,這樣要被咬死了!’導演這樣說到(笑)‘,於是向更可愛的進行調整。使用UE4的質感設定也有不習慣的部分,但即使有渲染消耗也可以把握完成狀況的反映是魅力所在”(鴻巣氏)。這個工作是在MARI和UE4兩方面同時開始進行的。還有並行的是高橋氏使用Substance Painter來進行傷口和污濁的加入。因為着色的工作自身終究還是又UE4來完成的,Substance Painter是用來准備Occlusion等UE4所用Texture。“(高橋氏)。
   使用ZBrush制作的幼龍的Sculpt,約700萬多邊形來構築的
 
 
  基於加治佐氏收集的畫像。梅田氏制作的材質表。參考各種真實的動物
 
 
  使用MARI制作的皮膚的Texture,繪制為4K大小的兩張Texture
 
 
  1是UE4上的幼龍的質感調整。畫像是Shader Tree。2是在Viewport上的外觀確認。
 
 
八、SETUP
與FBX文件格式的戰斗
    Rig的工作方面,是從無法Maya向UE4的數據傳遞,到什么的數據是無法傳遞的驗證開始的。對兩個工具間的FBX格式做了交換,確認了FBX的配置,光是可以隨意的讀取就很辛苦。Rigging美術師塙智洋說到。UE4能讀入的只有Skin Cluster和Blend Shape,包含復雜關系的角色動畫的Rig是沒法直接傳遞的。【KURO 1.0】是基本的人形角色,因為外部的員工使用MotionBuilder來進行工作,Rig也是基於HIK的簡單的東西。"這次成為了更加復雜的Rig,首先是把動畫在場景里再現的挑戰,例如受到骨骼的階層內包含變形節點不能很好變形的制約, 當初讀入時也產生了幼龍的面部爆炸這樣的故障](加治佐氏)。
    這樣試行錯誤的結果,因為動畫特殊化使得復雜的Rig不能在UE4正確的再現,采用了對簡單的Bake用的Rig進行烘培在UE4中實現的流程,而FBX無法傳遞的數據,有Maya的Lattice和面部的Squash,“這些應該可以想辦法克服的,這次因為時間的緣故放棄了,FBX的解釋在每個工具引擎上都有微秒的差役,例如Scale的操作可以用UE4,也可以用Unity,有時間的話想確認一下”(塙氏)。
  圖1 是動畫用的Rig,使用Maya的定制節點用控制器制作動畫,為了動畫的最適化,在骨骼階層的構造方面較輕量。
 
 
  圖2 bake用的Rig,把控制器的動畫向Joint和Blendshape進行bake。是FBX最適化的階層構造 
 
 
  圖 3是轉化后的Rig,向UE4傳遞的只有Joint BlendShape以及幾何體
 
 
九、視覺開發(Look Dev)
利用預渲染的經驗來克服實時CG的弱點
    UE4使用的是基於物理的着色模型,look dev的工作方面因為MARZA有過基於物理的工作的經歷,很順利的對應了。但是Shader的組合上,要研究每個節點的意義和組合方式,花費了相應的時間。“因為UE4准備的材質的參數比較少,可以比較清晰的來使用。和它相比,平常使用的Shader參數很多,最新的趨勢這樣的也不會有很多消費”(高橋氏)。
  【KURO 1.0】中切身的感到UE4的弱點是SSS方面。在【HAPPY FOREST】中幼龍腹部的一部分有使用,SSS並沒有具備必要的參數,用4K的貼圖繪制也可以很好的完成等,“預渲染可以普通顯示的部分,與之比較美術師說不定就可以感覺UE4有所欠缺的部分” (加治佐氏)。因為實時引擎和光線追蹤是有差異的近似繪制,要去掉現況中的差異並不容易。
  同樣發生問題的部分還有眼睛的表現,實際上是復雜的反射和折射的表現,因為必須要對應表面的部分,使用了eye shader。“方法上,是以【Agni‘s Philosophy】和GDC發表的資料為出發制作了shader,我想也可以說是按照大致的AAA游戲的標准方法來進行的”(橋本氏)。
   幼龍的Eye Shader,參考了GDC的資料構築的
 
 
  圖1是 石頭的Shader Tree。 是在UE4上的布局,配置設定為上面布滿苔蘚的設定
  圖 2是 樹木的Shader Tree,Layer Shader的一個素材,使用了多個法線貼圖,配合苔蘚shader來顯示
 
 
十、動畫
實時CG動畫數據的導入
    動畫的工作方面,實時CG並沒有什么特別之處。只是在【KUR0 1.0】里,從動畫的輸出到UE4的實現是動畫師的工作,這樣就有了很大的負荷,也是效率下降的一個主要原因。在【HAPPY FOREST】里,這部分是由張中時氏協助解決。
    在UE4的支持工作上花費了想象以上的時間很麻煩“項目結束后,發現如果不做導入動畫的優化檢測,就可以高速的導入,因為這次的動畫內容不需要優化,我想如果項目中意識到就可以更高速的工作了”(張氏)。
    通過配置實現工程的專門員工,作為動畫師的山岸次郎氏可以集中動畫工作,發揮出和預渲染工作同樣的效率。”工作和以前一樣,不過項目結束前的日程安排都是划時代的。但是,有勉強的堅持挑戰的方面,也有相反的不得不挑戰的方面,好壞共存的。后面也會去修正殘留的問題,這也反映完成影像的可能性,期待今后的表現。“(山岸氏)。
   在Maya里進行的動畫工作。
 
 
十一、陰影
無法回避的渲染器性能
    預渲染使用的是光線追蹤(Ray Trace)渲染器,是通過計算光的路徑得到結果的一種模擬器,而實時引擎不能進行基本光線追蹤的繪制。對於靜態資源,可以通過預計算光源bake,來獲取高品質的結果,而動態資源就不能bake了。因此,像鼻子落在臉上的影子就很難獲得好的效果。結果動態物體和靜態物體的陰影顯示有差別,不得不在設定上反復進行推敲。”我想把這些依賴光線追蹤的部分,在UE4上可以看起來近似的進行設定是有必要的,但,實際比預想的要復雜...(苦笑)。而且在渲染結構上,無法獲得光源的向量等,也有擴展起來感覺很麻煩的部分。因為源代碼是公開,在公司內有也制作擴展版本的,這次因為時間原因而沒有進行。總之,覺得實時引擎並不是渲染器的認識是很重要的"(松村氏)。因為光線追蹤可以獲得很漂亮的陰影效果,UE4配備了Ray Trace Distance Field Shadow的功能,調查后發現限制很多,本作中就沒有使用。”因為這個是建築物使用的功能,用在本作的大量的草和樹葉的投影上也有缺點,說不定可以提高最終畫面的品質,要是再有些時間就可以使用了“(加治佐氏)。
  圖1 在UE4上播放的過場動畫 
  圖2 UE4的Matinee Editor
  圖3 顯示Gbuffer來做光源調整,確認每個要素的外觀
  圖4 通過Viewport來確認后處理特效的調整,UE4的每個相機的后處理特效的設定
 
 
十二、總結
各種因素而提升效率的先驅項目
    CG制作現場,現在主要還是用瀑布類型的制作流程,在如何讓產品的可以返工,以及並行工作的實現上而煞費苦心。本項目通過實時引擎的使用,獲得了更加敏捷的風格,使人吃驚的是,這個並不是訓練而是自然的滲透。橋本善久氏不僅是曾制作過【Agni‘s Philosophy】的Luminous Studio的開發主管,也有很多項目管理方面的演講。在本項目相關的開發中,他只進行了前者相關的說明。經過【KURO 1.0】,有了完全日常進行的反應,到了【KURO 1.5】就是確實的進行了。這樣全體員工都可以實際感受每天的成果和變化來進行制作"(加治佐氏)。這樣回避了大量的返工,可以親眼看到每天畫面的改進,在良性循環中進行制作。當然還要面對的問題是,要改變制作的“文化”和“意識”是很困難的。這點在【KURO 1.0】和【KURO 1.2】中就是很好的例子。“感覺美術師的意識在經過了半年后有了很大的變化,反映在工作的快速繪畫上,通過感受其他員工的進展,感到了很強的凝聚力”協調員宇津野周一說到。還有本作的渲染時間(從游戲引擎捕捉畫面)上,1台使用Quadro K2000的工作站(2013年的配置)大概是20分鍾的時間,如果是最新的GeForce GTX TITAN X的話,大體上可以實時的看到輸出了。
     相反的浮現出來的問題有,特效方面很弱,特別是煙霧等的體渲染,也沒有VFX的合成方法,引擎方面管理渲染的功能和管線也不完備等等。今后,包含對應這些問題的方法,MAZAR還要通過多年的計划來解決的樣子。就像前面提到的,不再限於UE4,也不再僅僅是這次的試驗的規模,會分配充分的人員來進行開發。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM