天天看點

《The Last Night》美術分析

E3中最驚豔的美術風格當屬The Last Night的立體像素風。預告片中的3D錄影機穿梭于這個由像素組成的賽博朋克城市中,真實的光效和雨水營造出有戲劇效果的氛圍。最令人驚訝的是每個人物都能夠和環境光源發生互動,根本不像是普通的像素圖(2D Sprite),而是像3D模型一樣受光影響。再加上片尾的飛行汽車的刻意塑造的鋸齒狀邊緣,讓人懷疑這一切都是3D元素進行了像素化的處理。而沒有像素遊戲用過這種方式。

《The Last Night》美術分析

以往的像素遊戲的人物都是2D Sprite,上面的光照陰影也都是畫在每一幀裡的。一般都會預設光是從上往下照的。如果在遊戲中遊戲角色的腳下發生了爆炸,你會發現角色的光照不會有任何變化,除非有針對腳下爆炸專門制作2D序列幀,但那樣工作量和資源占用都會變多。而在The Last Night中,主人公以及街道上的所有人都會受到頭頂燈光的影響,以及偶爾的閃電會将所有人的邊緣打亮,這又是如何做到的呢?

最初我和很多同僚都覺得The Last Night用了特殊的着色器(Shader)将3D模型實時的翻譯為2D像素,尤其是最後的黃色計程車表現出了明顯的3D卡通渲染(Cel Shading),更讓人覺得整個遊戲的角色都是3D模型,然後通過像素化讓玩家誤以為是平面。但是問題也在于每個像素的方格是完全平行的,是以不可能是直接讓UV貼圖直接像素化(否則像素方塊會因為模型體積的變化而發生扭曲)。有一種方法是通過錄影機投影(Camera Projection)來根據錄影機來重設貼圖,類似于《返老還童》的紐扣片頭。這樣就保證不管3D模型體積和動作如何,它正對着錄影機的貼圖一定是平面的。但這樣計算量就會很大,而且UV包裹會出現問題。因為在遊戲裡,角色的像素都很完美的和人物邊緣協調,不會出現有半個像素的情況。如果每一個不同的3D模型都能準确的渲染成完美的2D像素效果,那這個算法一定非常智能,來探測邊緣和優化像素分布。

這也太黑科技了。沒有人确定這是The Last Night的實作方法。但是如果不是3D模型,又如何做出帶有法線的2D Sprite呢。

在驚歎和發愁之餘,我将The Last Night的預告片逐幀反複觀看了數十遍之後,終于得出了答案。其實沒有黑科技,就是比較聰明。

3D和2D的混合

遊戲中的箱子是3D模型上貼了像素化的貼圖,就像Minecraft裡那樣。但本身是3D元件,也會受各種光源影響,即使傾斜,邊緣也不會是鋸齒狀。

當然,同時是3D模型的還有街道上的一些垃圾箱,頂棚,和雜物。他們僅僅是擁有像素貼圖。而這給人了一種誤導,會以為“既然連箱子都是3D的了,那人和武器一定也都是。” 然而并非如此。

《The Last Night》美術分析

右側垃圾廠裡的紙箱全部都是3D的模型,包括預告片裡被子彈擊中的翻滾的紙箱。它們會正常接收光線和陰影。而裡面的植被都是2D紙片。

2D人物

人物是2D Sprite,就是一個紙片。當聚光燈打到人的身上的時候,你能明顯看到柔和的邊緣掠過人的身體,如果是3D渲染成2D像素,那麼它會把光的資訊翻譯成像素的顔色,呈現出一個實心的色塊。而非有漸變的柔光。這就是一個聚光燈打到一個紙片上的效果。

《The Last Night》美術分析

中間紫發姑娘的身上打了一個聚光,從褲子可以看到柔和的漸變,如果是3D光照再像素化就不會是這樣的效果。

那閃電和燈光照耀時角色的頭頂邊緣光又如何解釋呢?答案是那隻是額外的一層“頂光”貼圖。無論是任何角色,他們隻有頂光和正面光兩種情況,而且頂光所照亮的像素一模一樣。比如一個前行的戴帽子的女士,無論她在燈前面還是走過燈,她帽子的頂光永遠是那幾個像素,隻是明度上有變化。是以每個角色的sprite都有一個頂光圖層,通過二手交易調節這個頂光圖層的亮度來模拟出受路燈和閃電的影響。這依舊需要一定的工作,但是比之前的黑科技要可行很多。

《The Last Night》美術分析

街上的人物隻有白發特朗普,太陽帽姑娘,粉朋克女孩,DJ,流浪漢,胖子和紫發。每個人出現在任何環境裡的高光都是頭頂光,像素位置也一模一樣。

《The Last Night》美術分析

可以上下對比一下這個太陽帽姑娘。一個是正上方的閃電,一個是偏右的更近的路燈,兩者打出的高光隻有明度上的差別。也就是說高光并非是實時的,而是烘焙在sprite裡的。

沒錯,人物的動作都是一幀一幀做的,頂光圖層也是,這些都是這個工作室最駕輕就熟的2D像素流程,從他們之前的Flash版The Last Night就能看出來。而且裡面的路人角色也并不多,工作量很取巧。而最後的那輛飛車,則極有可能是3D預渲染,這一點國外Retronator Magazine網站也做出了判斷。

鏡頭效果

強烈的景深效果,鋪天蓋地的體積光,真實的水面反射和雨滴流淌,都讓這個遊戲即使不用2D像素角色,也可以成為一個電影級别的3A遊戲。

體積光,Bloom配合霧氣,讓整個遊戲浸在強大的光感裡。