摘要:在游戲制作中,著色器是實時處理圖形效果的小程序,文章重點介紹了針對美術(shù)設(shè)計師的著色器技術(shù)應(yīng)用。
關(guān)鍵詞:著色器;美術(shù)設(shè)計師;應(yīng)用
中圖分類號:TP37 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)05-1038-02
著色器是一個充滿概念和技術(shù)要求的龐大而復(fù)雜的話題。每個游戲引擎和游戲項目都有自身流程和著色器處理上的微妙差別。著色處理的最常見的應(yīng)用是為美術(shù)設(shè)計師提供各種各樣的表面材料,不僅包括金屬、塑料和天然材料的表面,還有像水、霧、熔巖以及其它的動態(tài)表面。
1 著色器的分類
在游戲制作中,著色器是實時處理圖形效果的小程序。在現(xiàn)代圖形處理器(GPUs)上有兩種主要類型的著色器:像素和頂點著色器。
頂點著色器是一組指令代碼,這組指令代碼在頂點被渲染時執(zhí)行,同一時間內(nèi),只能激活一個頂點著色器。頂點著色器可以提高渲染場景速度,可以做布類仿真,高級別動畫,實時修改透視效果(比如水底效果),高級光亮(需要像素著色器支持)。
像素著色器的編寫、使用和頂點著色器大同小異,像素著色器是對每個像素進行光柵化處理期間在圖形卡的GPU上執(zhí)行的程序,可以實時處理像素,創(chuàng)建各種圖形效果。
實時處理像素的能力使著色器變得強大。著色器可用于許多復(fù)雜材質(zhì)外觀和圖像效果:頭發(fā)、火、陰影、水、反射等等。它很靈活,幾乎是無止境的,著色器程序員可以編寫幾乎任何你能想象的效果。
2 著色器工作原理
著色器,從美術(shù)設(shè)計師的角度來看,往往有點兒像黑匣子。美術(shù)設(shè)計師的作用主要是創(chuàng)建輸入和判斷著色器的輸出,即設(shè)置參數(shù)或指定貼圖,生成預(yù)先存在的著色器,然后查看最終的結(jié)果。在某些情況下,著色器代碼是由美術(shù)設(shè)計師編寫或編輯的,但在Max和Maya中,大多數(shù)較新的著色器創(chuàng)建工具更像是材質(zhì)系統(tǒng),沒有要求編程知識。
圖 1 顯示從美術(shù)設(shè)計師的角度來看材料著色器的工作原理示意圖。
圖1
這是著色器如何工作的簡單流程。在游戲世界窗戶本身是黑的,我們可以使用著色器告訴游戲引擎基于灰度圖像的哪些部分變亮,哪些部分變暗。你可以看到框架是暗的而玻璃是亮的。圖像的右邊是黑的和亮著的窗戶的特寫。
3 著色器的應(yīng)用
著色器通常需要使用二維資產(chǎn)作為輸入,并且美術(shù)設(shè)計師的任務(wù)通常不只創(chuàng)建這些資產(chǎn),而且在某種程度上還需要深入了解、創(chuàng)建和執(zhí)行著色器。所以,盡管著色器可以替代美術(shù)設(shè)計師做許多工作,但同時也會增加我們的工作量。目前,在游戲中對美術(shù)設(shè)計師有影響的不再是畫一個獨立的實體的貼圖,而是創(chuàng)建一系列為獲得所需效果必須共同作用的貼圖。使用著色器需要更多的規(guī)劃、不同的藝術(shù)創(chuàng)作思維方式和更多的組織。美術(shù)設(shè)計師需要學(xué)習(xí)著色器工具、組織更多資產(chǎn) (可能會彼此鏈接,因此著色器到位后,它們的移動性更嚴(yán)格),并且還要具備這樣的心理素質(zhì),那就是創(chuàng)建資產(chǎn)并不是最終結(jié)果而是最終結(jié)果的組成部分。
我們習(xí)慣了在Photoshop中繪制那些沒有實時顯示某些屬性的貼圖,但實際上是需要從平面創(chuàng)建貼圖,構(gòu)建一個復(fù)雜圖像和效果的組織樹去創(chuàng)建最終表面(很像我們在3D 程序已經(jīng)做的以及部分貼圖生成工具工作的)。因此美術(shù)設(shè)計師要了解光影基礎(chǔ)或發(fā)展技能去觀察場景背后所有污物、反射和其他表面屬性的基礎(chǔ)材質(zhì)。例如,不要在 Photoshop 中繪制鉻表面反射高光——既要讓高光點看起來不錯,但又不要太明顯—— 你現(xiàn)在要離開Photoshop,給材質(zhì)指定一個著色器,這樣將會實時準(zhǔn)確模擬鉻的高光點(圖2)。盡管著色器在某些方面可以讓我們的工作更容易,而且肯定可以使我們的游戲看起來更好,但它們可能在理解上有點復(fù)雜,需要更大程度的組織。
圖2
在上面示圖中,在頂行的窗戶玻璃很假,高光點是不動的。中間行的圖像的高光點會隨著你移動,像真實的反映效果 (看最底行窗玻璃的亮點)。示圖的底部是非常明顯的鉻黃效果,同它旁邊質(zhì)樸貼圖的相同模型相比較,你可以更容易看到光點在表面移動。
圖像著色器可以將任何基礎(chǔ)圖像轉(zhuǎn)換為三維拼貼馬賽克,如圖3所示。
圖3
在轉(zhuǎn)換過程中,圖像可以自由動畫和重新渲染,速度相當(dāng)快。無論是地板拼貼或復(fù)雜的暗視覺,圖像處理可以給出幾乎任何游戲的圖像或呈現(xiàn)獨特的聲音和情感;如果你能想像用一系列步驟去更改圖像,那它就是著色器。
將一個場景分解成基本貼圖的能力有足夠的挑戰(zhàn)性,但將一個貼圖分解成其基本組件的能力則是更深層的挑戰(zhàn)。當(dāng)游戲中藝術(shù)變成貼圖、濾鏡和程序的復(fù)雜結(jié)合體時,美術(shù)設(shè)計師將變得更加重要和更具挑戰(zhàn)性。有人預(yù)言著色器將會替代美術(shù)設(shè)計師,但我認為不會發(fā)生,總會有需求要美術(shù)設(shè)計師做出的東西看上去更好、更獨特(至少我們可以更改著色器的默認設(shè)置)。
記住,著色器僅是美術(shù)設(shè)計師使用的另一個工具。
參考文獻:
[1] 3D Game Textures ,luke Ahearn, Focal Press,2006.