Pixar USD 淺談(一)
題圖來自官網
USD這個格式從被Pixar介紹給公眾,到現在已經有了差不多三年了,代碼共享也已經有了快一年。但由於之前代碼的bug和編譯難度,在國內的CG行業還沒有哪個大項目真正的能把USD用起來。隨著最近的各個常用製作軟體(Pixar稱之為 DCC --digital content creation applications)都放出的口風,相信成熟穩定的內置USD支持應該都是很快的事情了。除了代碼之外,Pixar也公布了更多的相關文檔和視頻,值得業內技術愛好者來預習一下,至少在未來這個格式進入生產前有所準備。結合一下官方文檔(Introduction to USD)來說一下這個格式的歷史背景。Pixar在勇敢傳說之前使用的是名為Menv (Marionette)的製作軟體來組織場景和調動畫,類似於一般使用製作公司使用Maya作為主要製作軟體。 如果我們以Maya為例,業內常見製作方法是在 Maya中建立一堆資產,比如角色,道具,環境,然後建一個鏡頭文件比如 shot001.ma,將資產 reference進入shot001.ma,然後再調動畫。reference是Maya最基本也是最重要的概念之一。被reference的資產的的一切操作,比如某個杯子向左挪10個單位,某個角色的右手揮舞... 這些都會被記錄到shot001.ma文件中。而資產的修改,比如杯子把手變細,都會在重開文件或者刷新reference時得到更新。抽象的說,shot001.ma中主要記錄了兩件事:1.我reference了那些資產 2.我對這些資產做了什麼。
而Menv的本質也是這樣記錄信息,可以說所有的CG製作軟體在這個基本點上是相同的。但與Maya不同的是,Menv會將一個shot001.ma所包含的信息拆成4個文件。其中最重要的是鉤子文件和動畫文件。鉤子文件記錄了鏡頭內 reference信息,動畫文件記錄了所有對鏡頭的操作。在渲染時,Menv會把4個文件組合起來輸出可以被渲染器理解的rib文件,交給渲染器。
儘管Maya從概念上來說這些都有,但是有幾個方面做的差強人意。首先是Maya文件內容太多,因為只有一個文件,reference/幾何體/動畫/甚至ui信息一股腦都要存進去。國內製作人員都應該體會過,Maya文件容易「臟",「大「,「慢」。然後由此引發的問題就是,多層reference儘管理論上可行,但因為文件臟,所以實際項目中套兩層就有風險,很容易文件崩潰。而Menv的鉤子文件是可以一個鉤子文件調用另一個鉤子文件的。Maya中動畫信息作為動畫曲線保存在文件里也不是個好設計。製作公司往往許需要使用額外的工具導齣動畫來搶救奔潰的場景文件或者給其他鏡頭復用。
當然Maya的缺點是有它的歷史原因的,畢竟是一個十幾年前設計的構架。而且要考慮到這個軟體要有包含從模型到渲染的所有要求,考慮到普通中小公司的技術能力,這樣一個文件格式設計還應該說是合情合理的。
同樣的,Menv是從Bugs Life開始使用的,隨著技術的進步,Pixar也意識到它在某些方面已經過時了。在文檔里可以看到Pixar在和特效行業的交流中意識到用緩存(cache)來隔離綁定(rigging)和動畫(animation) 的巨大優勢。基於這個原則,Pixar開發了他們的第二代製作軟體Presto 和它的文件格式 -- USD
從文檔和一些簡單測試中可以看到,USD包含了幾個主要功能。
首先它是一個緩存格式,在這一點上它對應的是abc,fbx,obj 這些業內通用的文件格式。至於這個格式和 abc 比有沒有效率上的優勢,我們還不清楚。
其次,也是最重要的,這是一個在DCC中傳遞場景描述信息的文件格式。業內目前和它類比的是 scene graph xml 格式,但可以肯定的說,USD的功能比 scene graph xml強出太多。USD對於資產,資產的變化,場景構架的描述信息豐富;對信息的組織(composite)非常靈活且強大;對從模型到燈光間各個環節數據的傳遞極富效率(理論上);對製作軟體格式通用(有待觀察)
此外,USD對Hydra這個GPU渲染構架支持(需要等商業軟體跟進),製作軟體讀取USD場景的效率這些,都是很值得期待的功能。
優點說完了,但有些冷水也要潑一下:
首先,主要利好的是動畫製作流程,對與電影特效公司來說,也有價值但不是那麼的大。
其次,不要指望Maya,Houdini,Nuke都支持USD以後,混亂的製作流程就會變得清晰高效了。絕對不要朝這個方向想。甚至可以反過來說,如果現有的流程是混亂的,不要指望能把USD用起來。從Pixar放出的一些概念介紹和文檔來看,USD如果投入生產,一定是要把這幾個問題先解決好的:
1.對數據來源有明確的責任分工和技術手段保證落實。因為USD可以多層reference,理論上製作環節上任何一個修改都會直接進入燈光渲染環節。Pixar一定有高明的設計,既能高效的傳遞,又能防止無責任的誤操作。如果現在的製作中還會有燈光文件莫名其妙壞掉的現象,USD不是解藥而是更大劑量的毒藥。
2.對資產的製作和管理會有更高的要求。
3.如果有些概念在現有的流程中沒有,引入USD時的改造會相當痛苦...
推薦閱讀:
※教教全體7月番什麼叫節奏,《騎士&魔法》
※拋開劇情評析《大魚·海棠》動畫製作中的不足——畫面篇
※致郁,黑暗,獵奇,為你推薦10部揭露人性陰暗面的恐怖動漫作品
※2017年7月動畫追番參考!