什么是CG技術?
以前,人們或許會說是“Avatar”;如今,人們也許會改口說是“Alita”了。
但不論是Avatar還是Alita,都只是CG技術的一種呈現。關于CG(Computer Graphics),如果簡單來理解地話,其實就是通過計算機把虛擬世界在屏幕中展現出來的過程。
至于如果建造虛擬世界,我們就要先來看一個方程式:
看得懂的人,請給自己點個贊;看不懂的人,也沒關系。因為只要換張圖,你們也都懂了。
這個與初中物理“光的折射”看著很神似的圖,就包含了CG技術的萬千世界。
從現實到虛擬
建設一個虛擬世界,需要一個參照系,也就是真實世界。比如,現實中的皮球是圓形的,那虛擬世界中的皮球也應該是圓形的,而不是方形的。
但形狀只是其中之一,現實中,物體的呈現還與環境光息息相關。不同的光打到同一物體上,人眼看到的物體形狀可能就是不一樣的。
將虛擬世界中的人、物體等,在計算機中建造出來的過程,就是CG技術的第一個重點——建模。
建模,說起來也簡單,跟米開朗基羅雕大衛像差不多。不同的是,整個過程被放在了計算機中進行,而雕琢具體模型時,人需要通過計算機去一點一點地調。
要想讓虛擬物體更接近真實物體,就需要有更多的原始素材。一開始,建模師是用一組相機全方位地拍物體,盡可能地了解光照下物體的各種細節,包括紋理、凹凸、幾何形狀等。
物體尚且如此,更不用說人了。以阿麗塔為例,僅臉部就包含肌膚紋理、肌膚表層、汗毛、油脂、頭發等數不清的細節。這些單靠相機拍照去收集數據,可謂難上加難。一方面,因為相機本身的性能(分辨率、清晰度等)還有待提升,另一方面,相機只能收集二維數據,而重建人,需要更多三維數據。
于是乎,我們會發現,早期的電影CG特效中,“人”一看就是假的。
(電影史上第一個電腦生成的角色“彩色玻璃人”)
既然問題很明確,那就要解決唄。于是,三維掃描技術誕生了。依托三維掃描,人的各類信息可以被更好地獲取,建模的第一道坎算是跨過去了。
不過,這時候建好的模型還是白模——完全不帶紋理、汗毛、油脂等細節一個模型。有人是不是要說,這辛苦了半天,啥進展也沒有啊?
別急,接下來就是CG技術的第二個重點——渲染,露臉了。渲染,就是求解上述方程式的過程。這與現實中的畫畫差不多,就是把人臉的各種細節給畫上去。不同的是,畫畫是可以寫意的,但渲染是要寫實的。
細到一個毛孔不像,模型也只是模型,跟“真人”半毛錢關系也沒有。這也是為什么阿麗塔會如此受大眾歡迎,因為她突破了“恐怖谷效應”,成為了影史上第一個CGI 與真人結合的類人角色。
但渲染的水,其實很深。光線不同,人呈現出來的信息就不同;拍攝的角度不同,人呈現出來的信息也會不同;人在劇烈運動中,所呈現出來的信息和靜止時也會不同……而要把這些不同全部綜合起來,就需要靠算法。
目前來看,算法越先進,模型與真人也越像。不過,前提是收集到的信息足夠多且是準確的,如果信息不準確,那結果可能就是相反的。
從虛擬到現實
真人模型建好了,也渲染好了,接下來就是CG技術第三個重點——動畫,登場了。
說來也神奇,相比建模與渲染,動畫反而是最早被大眾所熟悉的。這,大概就要歸功于我們從小耳濡目染的動畫片了。不過,當時的動畫其實是二維的,由原畫師一幀一幀地畫出來并組合到一起而成的。
雖然現在也有了三維動畫,但與真人動畫仍是不可比擬的。其中,一個最大的不同點就來源于動作捕捉設備。真人動畫,是由真人穿上動作捕捉設備進行表演,并由設備設置不同的特征點,實時記錄人動作的相關數據。
同時,現場還會有一組攝像機拍攝下真人表演的不同角度,記錄各種細節。最后將所有信息都上傳至計算機,借助編程或動畫制作軟件來生成一系列人物動畫。
上面也談到,模型與真人越像的前提是收集到的信息越多、越準確。這也意味著,動捕設備必須完全貼合人的形體,并精準地捕捉到人的所有動作細節。被CG技術掩蓋了很久的硬件設備,終于C位出道了。
動捕設備的出現,極大充實了CG人物動作庫,為電影拍攝需要大量人物出現的宏大場景,節省了巨大成本。且隨著這一設備不斷普及和升級,相應的數據量也呈幾何倍增長,為建模、渲染的進一步優化打下了更為扎實的基礎。
但這些在人臉面前,則顯得稍微有點小兒科。人臉的微表情實在太多,比如皺眉一個動作,就牽扯到眉毛、眼睛、鼻子、嘴巴、面部,乃至毛孔、肌膚紋理等等。這次,《阿麗塔》對人臉面部細節的精準捕捉、重建和展現,就極大刷新了人們對CG技術極限的認知。
當然,這也要歸根于表演捕捉設備的不斷升級,達到了人眼識別的界限,讓3D模型真的像真人了。不過,這個像是有限度的,它除了受表演捕捉設備本身的影響外,還受到拍攝設備、演員表現等影響,更重要的是,還受到算法的影響。
算法的好壞,直接影響到計算力的好壞,影響到呈現出來畫面的精準度,也影響著動畫環節的連貫性。從這個層面來說,算法決定了一個虛擬人物的成敗,更進一步說,可能也決定了一部電影的成敗。
從現實到鏡像
算法與設備,是一母同胞。
早期,算法的落地大多是依托于CPU實現的。一臺電腦,大多也只有一個CPU。不過,隨著CG技術不斷被應用落地,采集的數據量也越來越大,要呈現出好的動畫效果,單靠CPU已顯得有點捉襟見肘了。
比如在《阿麗塔》中,要呈現一幀動畫,平均就需要花費100個小時來渲染。而整部電影下來,總計需要花費4.32億小時來進行渲染。這需要動用到最少3萬臺電腦。可以說,每一幀動畫都在瘋狂地燒錢,即便是在工業級操作已經很溜的好萊塢,也是很難承受的。
但卡梅隆已經將人們的審美拉到了這個高度,想要再下來,怕也是很難了。于是乎,GPU就隆重登場了。這個專門負責圖形處理的顯卡,曾因實時相應慢、穩定性不夠等原因,不被重視了很長一段時間。不過,隨著虛擬世界與現實世界日益交融,GPU因運算速度快、計算能力強等特點,一躍成為了虛擬世界的“主角”。
(圖片源自網絡)
2017年,中國造出了世界首臺超越早期經典計算機的單光子量子計算機。2018年,英偉達發布了全球首款支持8K屏、實時光線追蹤的GPU。同年,一款擁有16顆Volta GPU、可提供高達2PFLOPS的深度學習計算能力的超級計算機也正式問世。
這些于電影界乃至普通大眾而言,無疑都是重大利好。量子計算機極大代表運算能力的提升,可減少渲染環節的計算機數量;8K屏代表信息收集將更加精準,數據的獲取將更高效;實時光線追蹤代表渲染可以耗時更短,超級計算機代表制作團隊可大量縮減。當技術的壁壘被一層一層攻克,CG技術也迎來了第四個重點——人機交互。
“阿麗塔”,正在走下影壇,走向普羅大眾。近年來,從首個AI虛擬主播絆愛到首個AI合成主播“邱浩”,再到今年央視春晚的虛擬主持人團隊、今年春節期間首次亮相的拜年“豬豬”,CG技術開始漸漸褪去“工業級”的面紗,顯露出“民用級”的真身。
目前,在工業級CG制作團隊之外,市場上已有了多家主打民用級CG技術的團隊。比如旨在為用戶打造PAI(個性化人工智能,即Personal AI)的人工智能初創公司ObEN,比如旨在讓每個人都擁有實時互動、智能、個性化的3D技術內容提供商FaceUnity(杭州相芯科技有限公司)……它們的出現,讓CG技術從大屏走向了小屏,為人機互動創造出更多的應用場景。
《失控》作者凱文·凱利曾說,在網絡、社交媒體之后,我們正處于第三個平臺——鏡像世界的黎明,這個平臺將使世界其他的地方數字化。而在鏡像世界里,每樣東西都會有一個“孿生兄弟”,也就是“數字雙胞胎”。
盡管這個世界短期之內或許不會馬上來到,但虛擬世界與現實世界的交融腳步卻不會停止,人們建造虛擬世界的熱情也不會停止。
阿麗塔之外,更多的阿麗塔正在大步走來。
(新聞稿 2019-03-12)