王天翼
(上海大學上海電影學院,上海 200072)
從電影誕生不久,電影工作者就開始不斷探尋將現實生活中不該存在的角色、場景在影片中的實現。1900年誕生的影片 《The Enchanted Drawing》依靠停機再拍技術,將卡通動畫人物的面容與真人實拍的場景結合在一起。早期的玻璃繪景技術,也在《摩登時代》《人猿星球》等影片中大量應用,將一些危險的、難以通過置景實現的場景以“虛擬”的形式疊加在畫面上,讓觀眾在觀影過程中身臨其境。在系列電影 《星球大戰》中,R2-D2、C-3PO、丘巴卡等一眾機器人角色、外星角色也都是依靠真人扮演、大型器械等方式在銀幕上進行表演。
隨著數字技術在電影制作中的應用越發成熟,以及電影虛擬化制作的日益發展,越來越多的視覺特效大片驚艷了觀眾。同樣是 《星球大戰》系列電影,1999年上映的《星球大戰前傳1:幽靈的威脅》中,由計算機生成的外星角色加·加·賓克斯讓觀眾感受到了虛擬角色的魅力。《指環王》系列、《金剛》《猩球崛起》系列、《阿凡達》《阿麗塔:戰斗天使》等影片的出現,使得虛擬角色、虛擬場景在電影中的融合越發自然,觀眾可以在大銀幕上看到阿麗塔的一顰一笑,也可以體驗潘多拉星球美麗而奇幻的外星風貌。這些效果在數字電影發展早期的拍攝現場是無法實時看到的,在片場的導演、攝影師、演員往往只能面對穿著奇怪的動捕演員以及充斥著綠色或藍色的虛擬拍攝空間進行工作。較為接近于成片的效果需要在后期制作合成之后才可以看到。這種工作流程就會導致一旦出現了因現場拍攝不當而造成的錯誤,后期彌補起來將會費時費力。
實時虛擬預演技術就是在解決了獲取攝影機空間位置和元數據,獲取真實演員的動作表情,獲取高精度數字資產并實現實時渲染,實現真實演員和虛擬角色、虛擬物體的互動等技術問題之后,使得影片主創團隊在拍攝現場對于特效拍攝的可視化的需求變為可能,擴展了導演、攝影等電影主創團隊的創作空間,也為演員的虛擬無實物表演提供了更真實的依據。
本文將對于實時虛擬預演需要解決的技術問題進行梳理,并利用現有虛擬拍攝系統、動作捕捉系統、實時渲染系統、實時合成系統以及相關第三方插件提出一套在電影生產過程中可以應用并且更加完善的虛擬實時預演系統,從而達到提高工作效率,降低拍攝成本和影片拍攝風險的目的。
預演技術是指在電影正式拍攝前對影片中的某些或全部的鏡頭進行可視化呈現的技術,這項技術可以幫助整個團隊對劇情內容有一個整體的認知,預演技術的出現可以節省影片的制作時間、減少制作成本。早期的預演技術是以故事板的形式出現的,隨著計算機技術的發展,動畫預演技術因為有更直觀的表現而被廣泛使用。根據其在影片制作階段和作用的不同可以分成投資預演、資產設計預演、現場預演、技術預演和后期預演五類。
實時虛擬預演技術屬于現場預演的一種,是為了解決對虛擬場景進行實時修改、真人角色與虛擬環境互動等問題而產生的。在拍攝現場可以實時看到由演員驅動的虛擬角色與虛擬場景、虛擬物體、虛擬角色、虛擬攝影機發生的互動關系。虛擬實時預演技術的誕生不僅架起了真實演員與虛擬環境之間的橋梁,更打破了以往影片拍攝的線性工作流程,給制作團隊帶來了更高的效率。
為了實現上述功能,作為一套實時虛擬預演系統,它需要解決角色動作、表情信息捕獲、數字資產、數字場景建立、攝影機空間位置及元數據傳遞至虛擬攝影機以及實時渲染等技術問題。
在電影中,故事呈現的主要載體就是演員的表演。影片一旦涉及到虛擬角色,將真實演員的走位、動作、甚至面部細微表情捕獲并轉嫁到虛擬角色身上的效果,會直接影響影片的最終呈現質量。影片《阿麗塔:戰斗天使》成功的原因之一,就是將真實演員的表演細致入微地在虛擬角色阿麗塔身上再現。對于動捕演員運動表演的獲取,需要分為面部表情捕捉和動作捕捉兩個部分。
2.1.1 面部表情捕捉
表情捕捉技術可以分為基于標記點的面部表情捕捉和無標記點的面部表情捕捉。
基于標記點的面部表情捕捉通過在面部表面繪制或粘貼的標記點進行跟蹤,從而模擬面部肌肉運動方式,實現表情捕捉。這種面捕在算法上已發展得比較成熟,標記點數量由配套使用的設備及系統決定(如圖1所示)。面部標記數量最多可能達到350個,需要與高分辨率相機等設備配合使用,這種面部表情捕捉方式對表情具有較大的束縛性,標示點容易脫落或損壞,在一定程度上也會影響表演者的表演,降低了表演者對模型表情的精細化控制。2009年,電影《阿凡達》引入了頭戴式面部捕捉設備,這種設備可以與動作捕捉系統配合使用,演員的表演過程連貫不受影響。基于標記點的面部捕捉目前已經擁有了比較成熟的商業捕捉系統,傳統的Vicon有標記點式面部系統可以跟蹤79個特征點實現角色面部的重構、跟蹤。

圖1 基于標記點的面部表情捕捉
無標記點的面部表情捕捉根據計算機圖形學,分析鼻孔、眼角、唇部等面部有標志性的部位,確定臉部的表情和運動狀況,同時,無標記點面部動作捕捉系統也能追蹤人的眼皮、牙齒咬合等細節,幫助完成動畫合成。有些時候,需要對采集到的面部圖像進行人工處理,如對極限表情進行面部勾線等,幫助進一步提高面部表情捕捉準確度。目前在用的無標記點商用面部動作捕捉系統有MOVA、Dynamixyz、Faceware等,包括有標記點跟蹤廠商Vicon也推出了基于無標記點的面捕產品。不過使用何種設備通常由使用場景決定,有無標記點與使用何種設備之間沒有必然聯系。如無標記點的Faceware 的面部動作捕捉系統使用的是頭盔式單相機;同樣是無標記點的MOVA 系統卻需要預先在演員面部涂抹特殊的熒光涂料,這在一定程度上,也失去了無標記點面捕系統高效、不影響表演的特點。
從精度上說,有標記點式面部捕捉要優于無標記點的面部捕捉系統。但受制于標記點對演員的表演的影響,越來越多的電影制作流程選用無標記點式的面部捕捉系統。一些廠商推出了如Vicon Cara Lite這樣的混合無標記點和有標記點特點的面部捕捉系統,在面部的關鍵部位放置少量的標記點,這樣一來,既提高了面部捕捉精度,又降低了標記點對于演員表演的影響。在出現更好的無標記點面部捕捉算法之前,這看起來是一種更好的解決方案。
2.1.2 動作捕捉
動作捕捉系統一般由傳感器、信號捕捉設備、數據傳輸設備和數據處理設備組成。根據系統的應用原理分為機械式動作捕捉系統、聲學式動作捕捉系統、電磁式動作捕捉系統、慣性式動作捕捉系統和光學式動作捕捉系統五類。在電影制作中根據應用場景不同,主要使用光學動捕和慣性動捕兩種。
光學式動作捕捉系統由高速攝像機和安放在人體肩、胯、肘、膝蓋、腳踝等大關節以及頭、胸、背、腿等身體大面上的標記點構成的動捕服組成。高速攝像機一般至少每秒六十幀,通過高速率拍攝來準確獲取運動軌跡,標記點則方便鎖定對象的運動軌跡。目前的光學式動作捕捉系統根據對于光信號接受方式的不同可以分為主動式光學動作捕捉系統和被動式光學動作捕捉系統。
主動式光學動作捕捉是將標記點由LED 光源組成,互相由電纜連接,由電池來為LED 光源提供電力。在正式捕捉時,LED 光源持續不斷地向外發射光信號,高速攝像機則捕捉這些光信號來獲取運動對象的運動軌跡。
而被動式光學動作捕捉系統中的標記點是對攝像頭發射的紅外信號有高反射度的小球。正式捕捉時,高速攝像機會發出紅外光,這些紅外光經過對象身上的反光標記點的反射后被攝像頭記錄,當同一個反光標記點同時被超過三個角度的攝像頭拍攝記錄到時,可以根據計算,分辨出標記點在空間中的位置,從而實現捕捉運動對象的運動軌跡。
光學式動作捕捉系統具有同時捕捉人數多,定位準確等優點,但同樣有外界光線干擾造成的捕捉準確率下降、表演區域大需要更多的攝像頭以覆蓋動捕區域、擁抱或互動動作對動捕點遮擋后影響動作準確度等缺點。在大多數的棚拍中,使用被動式光學動捕;而對于戶外拍攝,可使用主動式光學動捕解決光線干擾問題。
慣性式動作捕捉系統使用九軸慣性傳感器測量動捕演員的肢體的運動方向、運動加速度、傾斜角度等參數,通過計算后獲取每一個慣性傳感器的運動方式。使用者只需要穿上帶有慣性傳感器的動捕服,其內置的高度集成傳感器芯片會實時采集對象動作的加速度、角加速度和地磁場強度,然后利用導航算法解算出運動對象的運動軌跡和運動姿態。
慣性式動作捕捉系統具有動捕環境適應性高、不存在遮擋問題、設備穿戴較為便捷等優點,但受制于信號傳輸和解算能力的限制,難以在同一場景進行同時多人表演的捕捉。
虛擬攝影是指借助混合現實、圖像采集技術、圖像合成技術以及計算機圖形學等技術,在電影拍攝過程中,根據導演的要求,部分或全部鏡頭在電腦的虛擬場景中進行。拍攝鏡頭中所需的虛擬場景或角色被整合進電腦,從而可以根據監視器或計算機顯示屏合成畫面指導演員的表演,任意角度運動鏡頭。
虛擬拍攝呈現的效果大致可以分為兩類:一類是場景中的所有角色、物體、場景均為虛擬的全虛擬拍攝;另一類是虛擬角色、虛擬物體與真實演員出現在同一畫面的半虛擬拍攝。實時虛擬預演技術的核心之一就是如何實時獲取攝影機在空間中的位置運動信息,如果使用真實攝影機進行拍攝,還需要獲得攝影機的元數據信息。
對于全虛擬拍攝制作 (比如 《丁丁歷險記:獨角獸號的秘密》《愛,死亡和機器人》等影片)而言,影片中不存在和真實畫面合成的問題,一般使用VCS (虛擬攝影系統)進行拍攝。由于虛擬攝影機構造簡單、使用輕便、功能齊備,完全可以像操縱真實攝影機一樣操縱虛擬攝影機,而相比真實攝影機而言,功能更為自由強大。從物理意義上打破“虛擬”與“實拍”的分界線。在拍攝時,只需要使用光學動作捕捉系統記錄下虛擬攝影機在空間中在六個自由度上的運動軌跡,對于拍攝的焦距、焦點、光圈等參數則由拍攝系統上的移動設備模擬并發送到實時渲染系統上,再通過無線圖傳系統將實時渲染的畫面回傳VCS上的監視器,當延時極小時,這個畫面可以作為攝影師的監看、構圖的參考。
對于半虛擬制作(如《猿族崛起》系列、《阿麗塔:戰斗天使》等影片)而言,除了定位真實攝影機在空間上六個軸向的運動之外,還需要記錄攝影機的元數據信息,并發送到實時渲染系統上進行光學模擬,使得實時渲染出的虛擬畫面的畫面變焦、景深大小、畫面畸變等特質與真實拍攝的畫面匹配,從而實現更好的合成效果。常見的真實攝影機跟蹤系統可以分為有標靶式和無標靶式兩種。
有標靶式的攝影機跟蹤系統是根據圖像識別技術識別二維碼定位的原理,當位于攝影機機身上的小的光學攝像機拍攝到三個以上的可用二維碼點位信息時,就可以獲得在當前時刻攝影機的空間位置信息(如圖2、圖3所示)。有標靶式的攝影機跟蹤系統的代表是美國Lightcraft 公司的Halid系統。

圖2 空間定位二維碼

圖3 拍攝現場布置
無標靶式的攝影機跟蹤系統是基于光學原理構建視覺深度的原理,通過位于攝影機鏡頭下方的兩個魚眼鏡頭獲取的畫面特征點深度信息,反求出攝影機在前后兩個的位置差,從而判斷出攝影機的空間位置以及運動情況。目前市面上使用這種技術的攝影機跟蹤系統的是英國Ncam 科技公司的Ncam系統(如圖4所示)以及加拿大Ross公司的Solid Track系統。

圖4 Ncam 虛擬拍攝系統
兩種主要的攝影機跟蹤系統的優缺點如表1所示。

表1 兩種攝影機跟蹤系統優缺點對比
無論是全虛擬制作還是半虛擬制作流程,影片中都會出現大量的虛擬場景、虛擬道具以及虛擬角色等數字資產。同樣,這些數字資產的精度也會影響最終成片的質量。對于影片中的虛擬場景、虛擬角色的數字資產的獲取,除了以往常見的基礎建模之外,還出現了數字雕刻這種更加靈活而高效的建模方式,使得建模的過程變成了雕塑的過程,讓手中的筆刷指針變成了刻刀。數字雕刻還具有模型精度高、建模自由度大、軟件操作簡單直觀的特點。
如果虛擬角色是基于真實演員形象進行創作,則可以使用光臺 (Light Stage)技術,即使用高分辨率相機從多角度記錄演員的照片,并使用照片進行合成處理,從而形成高質量模型的技術。
對于一些基于真實世界的虛擬大場景,也可以通過無人機傾斜攝影建模技術對真實場景進行圖片掃描從而生成場景粗級別模型,以供虛擬場景使用。如圖5所示。

圖5 傾斜攝影建模技術生成的虛擬場景
但是需要注意的是,在虛擬實時預演過程中,為了實現實時效果,需要對這些高精度模型進行減面處理,從而減少渲染的壓力,達到實時的效果,在后期制作過程中使用高精度模型代替低精度模型進行電影級的制作。
在虛擬實時預演系統中,實時性的渲染是系統進行及時交互的關鍵,而實時渲染技術解決了畫面實時渲染的問題,給制作團隊帶來了更好的交互體驗。對于傳統的渲染引擎Render Man、V-Ray 和Arnold這類離線渲染器而言,使用光線追蹤算法,單機位渲染的效果極低,雖然渲染出的畫面效果十分逼真,但渲染速度決定了其無法應用在實施預演系統中。
而可以實時渲染的游戲引擎通常使用深度緩沖三角形光柵化技術,將每個對象分解為若干個三角面,可以在屏幕上進行位移、旋轉和縮放,再通過軟件或硬件的光柵化渲染器將這些幾何數據轉化成像素點,從而實現實時渲染的速度。最有名的Unreal虛幻引擎以及Unity3D 引擎都使用的是這種技術。
目前的實時渲染技術可以分為基于客戶端的渲染方式、基于服務器端的渲染方式和基于混合端的渲染方式三種:
(1)基于客戶端是指渲染完全依靠客戶的單機端完成,目前這一方法主要就是依靠GPU 進行渲染,難以處理較為復雜的實時渲染。
(2)基于服務器端是借用服務器平臺完成渲染,也就是云渲染,目前使用這類方式進行實時渲染時,服務器端的運行速度足以支撐渲染的快速完成,但有時受限于網絡帶寬等硬件問題,仍無法給用戶很好的畫面質感。
(3)基于混合端是利用客戶端和服務器端各自承擔一部分畫面渲染的工作,然后在客戶端完成畫面輸出任務,這一方法在繼承了前兩種方法的優勢的情況下也同時含有前兩種方式的劣勢。
在如Unreal虛幻引擎以及Unity3D 引擎等游戲引擎的夾擊下,傳統三維動畫軟件如Maya、MotionBuilder等也都發布了軟件內的實時渲染模塊,以及開發了相應的插件以支持虛擬拍攝系統,從而更好地適應虛擬預演制作在影視制作中的高速發展趨勢。
實際上,在進行影片制作過程中,除了要解決虛擬、真實角色、物體共處同一空間的問題之外,還必須要解決真實演員如何與虛擬物體,甚至是虛擬角色進行互動的問題。一般這種互動可以分為視線互動以及肢體互動兩個部分。
在表演時,如出現多個真實演員和虛擬角色共同表演的情況,需要對真實演員的視線進行統一,否則會出現每個演員的視線高度不一的情況。如果虛擬角色比動捕演員高大,比如 《復仇者聯盟:無限戰爭》中的滅霸,《銀河護衛隊》中的樹人格魯特,如圖6所示,可以使用給演員身上背一個延長桿上面放置一個角色形象的方式,匹配真實演員視線角度與虛擬角色真實身高。

圖6 《復仇者聯盟:無限戰爭》和 《銀河護衛隊》拍攝片場
對于肢體互動,如 《權力的游戲》中龍母與龍的互動,《少年派的奇幻漂流》中派與老虎的互動,如圖7所示,可以使用綠色占位物體代表虛擬物體的方式,從而獲得因接觸造成的真實物體的形變、陰影等畫面信息,提高合成真實度。同時也可以粗暴地使用交疊的方式,掩蓋掉互動發生的場景,只給觀眾造成互動的假象。

圖7 使用綠色占位物體實現虛實肢體互動
本文分別針對全虛擬及半虛擬的拍攝方式,提出了兩種實時虛擬預演流程設計方案。
(1)實時渲染軟件選擇了Autodesk公司的MotionBuilder軟件,因為其對Motion Analysis動作捕捉系統的支持較Unreal要穩定,軟件內的動捕相應插件也較為豐富,并具備一定的實時渲染能力。
(2)對于場景中的虛擬角色以及虛擬道具的動作捕捉,通過Motion Analysis動作捕捉系統對穿著動捕服的演員及粘有跟蹤點的剛體道具進行動作捕捉,獲取其骨骼運動信息或將動捕數據通過第三方插件導入MotionBuilder 軟件中,對角色及虛擬道具進行綁定。現場使用三臺攝像機從三個視角記錄動捕演員的表演,為后期制作中調整演員動作提供參考畫面。
(3)對于動捕人數超過5人的動捕場景,由于運行Motion Analysis控制軟件Cortex的工作站性能限制,直接輸出由動捕點云解算出的虛擬角色骨骼有一定困難,如要進行多人大量動捕,可以將動捕點云輸出到另一臺工作站,使用Sonic Viewer進行解算,將點云轉換成動捕骨骼數據通過第三方插件導入MotionBuilder軟件中,對角色及虛擬道具進行綁定。
(4)動捕演員佩戴Faceware無標記點式面部捕捉系統,由無線圖傳將位于演員面前的攝像頭拍攝的畫面傳回工作站,進行分析得到面部表情數據。將面部表情數據通過第三方插件導入MotionBuilder軟件中,對角色的面部進行綁定。同時,錄制攝像頭拍攝的表情畫面,為后期制作中調整面部表情提供參考畫面。
(5)在拍攝方面,使用VCS虛擬拍攝系統,在現場獲取虛擬攝影機的運動軌跡及焦距、光圈、焦點等攝影機元數據,并把相應數據賦予Motion-Builder軟件中的虛擬攝影機,通過Motion Builder實時渲染輸出預演畫面,并通過無線圖回傳至VCS系統完成監看。
(6)對于VCS虛擬拍攝系統拍攝實時渲染的鏡頭,使用Film Light Daylight進行錄制和回放。錄制的畫面為現場剪輯提供素材。全虛擬拍攝實時虛擬預演流程圖如圖8所示。

圖8 全虛擬拍攝實時虛擬預演流程圖
半虛擬拍攝實時虛擬預演流程在實時渲染軟件的選擇、虛擬角色及虛擬道具的動作捕捉、面部捕捉等方面與全虛擬拍攝預演方案類似,此處不做贅述。
(1)在拍攝方面,Ncam 虛擬拍攝系統將獲取真實攝影機的空間位置、姿態信息以及真實攝影機元數據(焦距、焦點、鏡頭畸變量等)實時地傳遞至MotionBuilder的虛擬攝影機。
(2)由MotionBuilder實時渲染輸出虛擬攝影機拍攝到的虛擬物體畫面信息,并輸出給Ncam 工作站,Ncam 工作站將鏡頭畸變附加在計算機生成的畫面上,并傳遞到Blackmagic Design Ultimatte中,進行摳綠合成。
(3)最后,在Film Light Daylight中對實時渲染的虛擬畫面以及摳綠后的實拍畫面進行合成、錄制、回放。錄制的畫面為現場剪輯提供素材。
半虛擬拍攝實時虛擬預演流程圖如圖9所示。

圖9 半虛擬拍攝實時虛擬預演流程圖
對于實時虛擬預演系統而言,經過一段時間的發展,現在已經能夠較為成熟地應用到電影制作流程中,但一些問題仍待進一步解決。
比如,在半虛擬拍攝時,如果畫面中同時出現真實角色和虛擬物體,如何判斷兩者的前后關系是現在仍待解決的問題。因為雖然在拍攝時,虛擬攝影機處在三維空間,但是在將渲染出的虛擬空間輸出時,相當于將三維的空間拍扁成了二維的平面,這樣就很難處理真實演員、虛擬角色、虛擬背景以及真實、虛擬道具之間的空間位置關系。雖然Ncam 公司已經實現了單個真實演員在虛擬場景前后景的移動,但是作為現代電影制作,這種進步仍然未能解決多人場景走位的問題。
另外,相比于以往的實時渲染,支持實時渲染的游戲引擎在輸出的畫面質量方面有了大幅度的提升,但是與基于光線追蹤的渲染器相比,畫質以及真實度上仍然有一定差距。5G 傳輸的出現,可能會在一定程度上促進基于服務器端的云實時渲染,進一步提升實時虛擬預演的效果。