劉德新
中影動畫產業有限公司,北京101400
傳統動畫片或者動畫電影的產生是一個“純粹”的從無到有的過程。從宏觀角度講,在投資、制片、編劇、導演、配音、音樂、音效、美術設計、三維動畫制作、母版制作、影片發行等眾多資源的共同努力下才為觀眾帶來生動感人的藝術作品[1]。以上工作中,成本最高和工作周期最長的莫過于三維動畫的制作。就目前而言,三維動畫制作的標準工序大體上包括模型、材質、綁定、動畫、特效、燈光、渲染、合成等。受新冠肺炎疫情影響,電影票房普遍受到了不小的沖擊,電影在現代人娛樂方式中的占比正在回歸本位。作為電影體系中的一個分支,動畫電影受到的影響也非常明顯。與之相比,各視頻平臺的動畫播放量保持了一種相對穩定的態勢,即便在疫情期間,平臺對IP 改編和動畫化的投入也保持了相當的熱忱,從而培育了一批依托于視頻平臺的動畫公司。考慮到目前年輕觀眾“手機+視頻App”為主的觀影模式,以及周更一集的動畫番劇,甚至周更兩到三次的短視頻,僅從制作周期和制作成本的角度考慮,在技術和流程上發生相應的變化是必然的結果。元宇宙概念的推出讓數字人技術受到了廣泛的關注。從某種角度來說,當下電影行業內很多變化也是受到了互聯網時代的數據分享觀念的影響。在此影響下,動畫軟件廠商和動畫制作企業逐漸意識到資源再利用的重要性,開始在不同層面最大限度收集、整合、管理、應用來自自身或者互聯網的動畫數據。對于企業而言,動畫數據是非常重要的資源,善于使用已有資源是降低成本的重要方式。
隨著三維動畫軟件發展和生產流程的演變,原有的分工協作逐漸具有了跨軟件、跨流程的技術特點。跨軟件指在制作動畫的過程中使用了更多的軟件,跨流程指原本的線性流程順序被打破,因此具有通用性的文件格式變得非常重要。作為動畫制作的參與者需要對三維動畫軟件的不同數據有足夠的了解,才能對其進行科學合理的分類,從而更好地利用這些資源。
動畫電影中的資產數據可以理解為實拍電影中的道具,即置景、服裝和演員。從三維動畫的技術角度來講,如果資產(不特指某一類)在同一款軟件中進行制作,那么完整的資產應該是包含模型、UVs、材質、綁定四種數據信息的文件[1]。如果以上四種數據不在同一款軟件中進行制作,除了需要按照各自軟件提供的標準格式進行存儲外,考慮到模型數據通用性,模型和UVs文件一般會選擇Obj或Alembic Cache這樣只含有模型網格信息的文件格式(USD格式也受到越來越多用戶的青睞)。
由于不同軟件以及渲染器的內部算法不同,導致與之配套的材質數據無法通用的現象是非常普遍的。材質數據的劃分方式其實是按照軟件和渲染器來分類。如動畫軟件3ds Max、Maya、C4D、Blender、渲染器Redshift、Arnold、VRay、Cycles 4D 等,具體使用哪種搭配方案一般由燈光渲染的技術負責人決定。因此前面提到使用通用格式的模型文件可能會帶有彩色貼圖,但通常不具備材質的物理質感。
在游戲行業中的資產數據比動畫要廣義的多,動畫中的資產數據在游戲中被分為靜態網格(Static-Mesh)和動態網格(Dynamic Mesh)兩種。靜態網格是不參與運動的模型,動態網格為參與運動的模型。沒有動作表演的模型不需要進行綁定工作,如各種體積的巖石和碎塊以及房屋居室等。將以動畫和游戲對網格(Mesh)的定義綜合起來看會是個更為全面的做法,畢竟選擇使用虛幻引擎(Unreal Engine,UE)進行渲染早已是主流的技術方案之一。
角色綁定可以簡單的理解成利用骨骼來驅動角色模型,使角色能夠按照要求做出相應的動作,角色動畫文件是帶有動畫信息的角色綁定文件,所以這里把它們歸納在一個標簽內來進行介紹。角色動畫的制作仍然存在兩種形式,其中一種是綁定和動畫在同一軟件中進行制作,綁定文件和材質文件有著類似的特點,它對軟件的依附度非常高,由于為骨骼添加控制器時會使用大量的運算節點,而這些節點在不同的軟件間是無法互認的。再者,作為數據庫文件的一部分需要考慮文件的大小,如使用Maya 時會將角色動畫的曲線單獨導出,而不是直接使用帶有動畫的角色。另一種是使用通用數據跨軟件制作的形式。在不同的三維軟件中骨骼和蒙皮模型作為最基礎的綁定數據,如果記錄為FBX 格式在所有三維軟件都是可以被讀取的。使用FBX 文件在不同的軟件中通過對帶有動畫信息的骨骼文件進行重定向(Retargeting)工作,可以把任何動作賦予到新的同類角色身上[2]。
特效工作涉及的內容是非常繁雜的,內容不限于煙火爆炸、雨雪河流、毛發布料、剛體柔體、光效等。因此它的制作方式和流程比其他部門更為自由,根據實際情況可以選擇在不同的軟件中制作。特效一般是按照每個鏡頭單獨制作的,鏡頭中一般會使用到其他軟件制作的公共數據,如帶有動畫的攝像機、帶有角色和道具動畫信息的Alembic Cache 緩存,如果制作河水還會用到場景的緩存文件。這里需要考慮的是可以將沒有參與互動的特效文件單獨梳理出來,方便日后再利用。
除了像個人或動畫公司這樣在平時的工作中日積月累產出或少或多的數據外,我們還需對互聯網帶來的動畫數據進行梳理。互聯網數據來源不限于傳統的技術形式,往往會采用更為新穎的技術手段,使得數據的采集效率和質量都有非常大的提升。
在眾多的掃描技術中,以Quixel MegaScans 技術最為出名,它使得Quixel成為世界上最大且增長速度最快的3D掃描庫。此外很多個人或者機構采用了諸如Reality Capture、Meshroom、RealityScan 等激光掃描設備來創建三維模型,3D 掃描技術可以高效獲取被掃描對象的模型和貼圖。除了用于采集真實環境中常見的各種物品外,對于像中式家具、中式傳統建筑的鏤雕浮雕乃至博物館中收藏的文物都有著極高的處理效率。一些不常見的通過激光掃描獲取資產數據,很多都在付費下載網站占據一席之地,甚至已經形成了一種新興產業。另一種可以快速生產模型資產的方式是使用多角度照片來產生模型數據的云計算技術。只要將模型的照片上傳至指定的網站,通過網站提供的計算能力生成模型和材質貼圖,如Autodesk ReMake。使用激光掃描和通過照片獲得的模型數據需要在通過其自身軟件或其他三維軟件進行重建網格(Remesh)后,才能達到用于動畫制作的模型標準。
對于一些特定類型的模型,如城市建筑和科幻場景,更適合使用程序化建模來進行制作。程序化建模常見于Houdini和Blender中,只需要提供一些不同樣式的建筑部件,如門、窗、墻體、屋頂,通過程序可以生成不同高度、結構、搭配、造型復雜的建筑模型。自然植被的獨立插件(Add-on)也是一種非常具有代表性的資產數據,如針對Blender 開發的G Scatter、Tree Vegetation、Botaniq等。
在此介紹兩個為3D藝術家提供成千上萬數字掃描資產的網絡資源——Quixel Bridge 和KitBash3D。他們提供的數字資產幾乎涵蓋了視頻游戲、電視、電影、設計或藝術領域所需要的所有部件,如海洋生態系列、砂巖系列、荒地系列、草原系列、瓦礫系列、森林系列、灌木系列、草地系列、城市建筑系列等,文件格式含有Unreal、Unity、Houdini、Blender,C4D、Maya、3ds Max、Octane、Redshift、VRay、FBX和Obj。
為了方便制作者使用,很多動畫軟件選擇了內置角色數據庫。如近期在網絡上較受關注的虛擬數字人,很多都是使用Character Creator、Daz 3D 和Meta-Human Creator 提供的角色數據庫來進行制作的。值得一提的是此類軟件提供相對智能的頭部模型生產系統,如Character Creator 可以使用照片來生成角色的頭部。Epic Games 發布的MetaHuman Creator 在2022年6月迎來了更新,增加了將掃描或手動創建的面部網格轉換為MetaHuman 格式人像的功能,彌補了舊版本只能小幅度調節角色形象的遺憾。
制作復雜的角色動作時需要為角色的骨架添加相對復雜的控制系統以提升角色的可控性[2]。在任何一個動畫軟件中手工綁定角色的工作量都非常巨大,因此將角色綁定系統模塊化是必然的選擇。相比模型和材質方面的數據模式,可以把模塊化的綁定程序理解成一種數據庫的變形,它記錄了少則幾百、多則幾千個復雜的綁定步驟,幫助綁定師更有效率地完成工作。比如Maya 中經常用的Advanced Skeleton,Blender 中的Rigify 和Auto-Rig Pro 等。C4D 則另辟蹊徑的內置原生綁定系統,可以識別不同標準的骨骼數據并為之創建控制的角色綁定系統,如把從Mixamo下載的骨骼動畫數據變成標準的且帶有原動畫數據的C4D角色動畫文件。
MetaHuman Creator 則進一步將角色的模型和綁定整合成一個系統,在此系統中可以使用數據庫自帶的角色身體以及自定義面部模型。無論創建出的角色形態如何,身體和頭部都將使用各自的標準化拓撲。這樣可以通過模型網格上點的ID(VertexID)信息來自動判斷不同骨骼與身體關節的對應位置,以實現骨骼(Joint)和權重(Weight)按照角色的身材比例自動適配的效果。除了主要關節外,在主要的肌肉位置也添加了很多單獨骨骼,以配合主要骨骼在運動時做出相應的反應,以實現看起來有肌肉在動的錯覺。使用骨骼驅動的方式來實現肌肉運動的效果,其優點不需要進行動態解算,具備實時性。肌肉效果的實現方式使用的是相當傳統的驅動方式,但因為是通過程序自動生產的,在效率和效果上已經做到了目前的極致水平。MetaHuman Creator 支持輸出不同的文件格式,比如UE、Maya、Blender 等。所謂“傳統”是一個相對的概念,有些意味著延續,有些意味著顛覆。總體來說MetaHuman Creator 在技術和流程方面作了更為系統的整合,是一種經驗和技術的延續。但對動畫制作者來說,感受更深的應該是一種用戶體驗上的顛覆。
貼圖數據主要是指高分辨率的紋理圖片,渲染時使用分辨率越高的貼圖所需渲染時間越長。為了提高渲染速度,距離攝像機越遠的模型,貼圖分辨率越低。因此在工作中也就形成了同一套貼圖文件需要準備多個不同分辨率版本的規定。材質繪畫師大都會在著名的貼圖數據網站Texture Haven下載資源。
前面提到的由于軟件和渲染器內部算法的不同,造成了材質數據無法互相轉換的現象。在基于物理渲染(Physically-Based Rendering,PBR)的材質被部分軟件或渲染器采用后,在一定程度上解決了不同軟件間的材質轉換問題。雖然不同軟件中的PBR 材質在轉換時需要重新鏈接相應的屬性,但在效果上基本可以保持一致。如果在渲染時選擇了像UE 和Blender這樣的軟件,準備PBR 材質的技術方案是非常必要的。
像Mari和Adobe Substance 3D Designer 這樣獨立的材質繪制軟件,不僅繪制功能強大,一般也都內置了相當規模的素材庫。另一類材質資源作為插件存在,如Blender 的材質繪制的插件Philogix PBR Painter,其攜帶了一個完整的紋理包,擁有完整的涂層系統、智能材質和導出選項,而且具備非常直觀和友好的用戶界面,可以輕松創建蒙版、應用貼圖和材質,允許在Blender 中為3D 模型繪制紋理并導出PBR材質,功能和使用方法與Substance Painter類似。
在動畫工作正式開始前為角色準備有效的動畫數據庫,將有助于保持動畫風格的一致性,大幅降低動畫師的重復勞動進而提升工作效率[2]。
身體的動畫數據除了有動畫師手工制作的Keyframe 動畫外,使用動作捕捉設備獲取數據的方式也非常普遍,光學捕捉和慣性捕捉作為比較常見的動作捕捉系統,通常需要演員身著外部硬件設備來進行技術支撐。近期英偉達推出的Omniverse Machinima 含有通過使用移動或網絡攝像頭獲取人體動作,借助WrnchAI姿勢預測器模仿人體動作的動作捕捉技術。
ActorCore、Rokoko、DeepMotion、Mixamo 等網站為動畫師提供了幾千種不同的動作數據,動畫師可以根據自己的需求下載其提供的FBX 文件,并把這些下載的數據與相應的動畫角色進行重定向,最終產生以控制器動畫曲線為主的數據文件。在對動畫要求不高的情況下,也可以直接把FBX 動畫數據重定向給一個只有骨骼和蒙皮模型的角色上(無控制系統)。
表情動畫數據的獲取方式,不同形式的面部捕捉技術也已經被廣泛使用了,設備成本從幾千元到幾萬元,滿足不同的市場定位。除了面部捕捉和動畫師手工制作的Keyframe 動畫外,最近不少軟件開始提供通過智能的語音輸入轉化成動畫口型的功能,FBX文件中除了骨骼和蒙皮模型的信息外,通常會包含用于制作表情的綁定信息。可以在軟件中把這些信息鏈接到軟件中對應的表情控制接口上,在選定一段語音文件后,可以通過內置的智能運算系統為角色生產相應的口型動畫。如針對普通用戶的iClone 和高端用戶的Omniverse 的Audio2Face。
特效鏡頭往往是需要針對特定的場景環境和構圖來制作的。如果拋開以上的限制,還是可以發現很多既可以用來豐富氣氛,又和角色沒有互動的特效效果。如自然環境中的火焰、煙霧、塵土、雨雪、程序化分布的植被、角色技能特效等,這些都值得處理成單獨的、可以重復使用的數據加以保存。特效數據使用的方便程度受軟件本身的特性影響,如在虛幻引擎中對素材的操作靈活度要高于Maya很多。
動畫是一種包含藝術性、工業性和商業性的混合型產業。如果以動畫軟件的工業性為代表,以制片統籌為商業性代表,那么數據管理則兼顧了二者的屬性。以往的動畫行業受限于技術條件,制作、數據、制片三部分形成了三條不同的管理脈絡,時至今日逐漸相互影響,大有通匯融合之勢。
不同形式的動畫數據無疑是一種財富,如果不能建立有效的管理機制將無法充分發揮其作用。從數據管理的發展脈絡來大致可以分為三種類型:外置型、插件型、內置型。
外置數據庫主要用于存放數據,它與三維軟件間幾乎沒有交互性。因為傳統的三維軟件內部數據管理功能比較薄弱,用戶可以通過三維軟件的相關命令來指定某個項目的工程目錄。但是為了更自由地安排項目中的各項資源,通常需要人工在電腦系統中創建復雜的文件目錄進行數據管理。文件目錄存放越深,對于文件的查找和讀取速度就越慢,通常還會影響到渲染速度。目前硬件存儲有塊存儲、文件存儲和對象存儲三種形式,其中對象存儲相比塊存儲和文件存儲的本質區別是無層次結構。相比于前兩者,對象存儲讀寫使用程序管理,減少人為操作,具有讀取速度、查詢速度更快和安全性高等特點。
插件型數據庫通過安裝外部插件達到在動畫軟件內部產生可以使用的數據管理程序。如在Maya中使用的名為Studio Library的角色動作數據管理程序。此程序擁有獨立的使用界面,可以以角色為單位,為不同的角色創建動作庫,其數據包括且不限于角色的經典站立,不同狀態時的走路、跑步、跳躍、等待、揮手,以及不同情緒時的表情和說話口型等。在功能方面,不僅支持相同角色間的數據傳導和不同角色間的動作數據傳導,還支持不同角色間的、指定關節的、通過閾值控制的,從而達到的不同幅度的動作傳導,彌補了原生Maya在角色動畫方面存在的技術空白。為了方便所有動畫師可以同時使用此數據庫,一般會將它的存儲路徑指認到公司的總服務器上。不過也一有些插件型的數據管理程序隨著軟件自身的升級被原生軟件淘汰掉了。
內置型數據庫指已經集成在軟件內部的數據管理器。隨著動畫技術和流程的發展,用戶會在使用過程中產生新的需求,從而促使軟件廠商在開發過程中做出相應的調整,如UE 的原生資產管理器(Asset Manager)。UE中的資產(Asset)定義是指任何可被其讀取的數據,如靜態網格、動態網格、PBR材質、貼圖、角色綁定、角色動畫、特效等,并不是單指某一特定類型的數據。而像Blender 在3.0 以后的版本中添加的資產瀏覽器(Asset Browser)則屬于特定類型的數據管理器。
從網站角度來說,每一個網站都是一個龐大的數據庫,為用戶帶來無數的數據資源。對于項目和個人而言,其需求往往具有明確的定位,過多的資源反而會造成選擇上的困擾。要構造一個方便使用的數據庫需要花費不少的時間,其模式應該是以上所述類型,具備不同側重點的混合體。為了方便查看這些收集好的數據,作為說明,需要為每個數據配備與之對應的圖片信息或動畫視頻。除了前面提到的角色動畫的動作庫內容外,需求量最大的算是模型資產方面了。準備模型資產要考慮資產的藝術風格,同一個動畫項目中風格差異過大的資產不會在一起使用。其分類方式仍然遵循角色、道具、場景、環境等,可以按照不同的用途添加標簽或批注來進行更詳細的分類,如角色的男女老幼、正裝或休閑裝、不同類型的交通工具、室內的家具或炊具、鄉村或城市、環境植被等,甚至還可以更詳細的細分,如環境植被可以拆分為喬木、灌木、雜草、碎石等[3]。材質數據主要依據物體的物理屬性進行分類,比如塑料、木頭、布匹、金屬、石頭等。特效數據首先需要按照軟件來分類,如Maya 或Houdini,分類則可以考慮塵土、煙霧、濃煙、爆炸、火焰、流水、水花、瀑布、光效等。為了更容易地在資產庫中找到需要的文件,對各個大類進行更詳細的拆分,并做好標注是非常有必要的。
近年來,各大公司對動畫數據的重視程度日益明顯,很多公司都在投資動畫數據領域,為其在未來發展中謀取有利的位置。如UE 的母公司Epic Games收購了資產庫Quixel 和瀏覽器Mixer 和Bridge,Adobe收購了動作數據庫Mixamo。
雖然網絡資源分享看似由游戲行業主導,但隨著UE 在動畫行業中的應用,來自互聯網的數據資源對動畫行業在不同角度和深度上都產生了深刻的影響。
首先,隨著一部分傳統的概念設計師對三維軟件和網絡中提供的數字資產有了越來越多的了解,概念設計逐漸從純粹的傳統美術范疇中分化出了以三維軟件為創作平臺,引用數字資產快速搭建畫面構圖,并在其基礎上進行二次創作的“概念設計的新流派”。在某種程度上降低了概念設計對美術基本功的要求,從而擴大了概念設計的參與人群,為喜歡概念設計的人士提供了更多的機遇。
其次,互聯網中提供了各種類型的動畫數據,為動畫行業中不同專業領域的動畫人士提供了更多的練習素材和創作靈感。如材質師可以下載不同的模型素材作為練習對象,動畫師可以下載不同類型的角色綁定文件練習動畫,燈光師可以下載資產素材搭建場景練習燈光渲染等。
對于三維動畫的制作公司來說,無論是使用自己的數據庫還是互聯網中的數據,一方面可以大幅度降低重復的工作。另一方面可以加快生產效率,如使用現有模型資產快速搭建新的場景。使用動作庫加快動畫的制作效率,尤其是非主要角色的動畫制作,甚至可以通過籌建完成的數據庫向客戶展示其以往的作品。通過數據庫中大量的可視化資料,為那些難以用語音表達的視覺效果提供有效的參考,以便更易于與客戶達成共識,為業務溝通提供便捷服務。
其實動畫資產數據的應用范圍要比人們的普通認知廣泛得多。隨著各大博物館推出VR 體驗館,很多珍貴的文物都接受了數字化處理,為文物保護發揮了一定的作用,同時眾多珍貴文物的掃描數據也成為了數字資產中重要的組成部分。
從某種意義上講,數字資產擁有非常高的商業價值和社會價值。對于普通用戶來說,能夠獲取并使用來自互聯網的動畫數據,無疑將為學習和工作帶來極大的便利。本文提及的動畫數據僅僅是互聯網資源中的太倉一粟,如果想使用得當還需要下一番功夫,畢竟適合自己的數據資料和數據庫才是最好的。?