姜超
(大連工業(yè)大學(xué) 藝術(shù)與信息工程學(xué)院,遼寧 大連 116000)
摘 要:隨著科技的發(fā)展,計算機(jī)的性能不斷地提升,3D技術(shù)在各個領(lǐng)域中的運(yùn)用日益成熟。目前,很多游戲都運(yùn)用3D技術(shù)來進(jìn)行游戲動畫的渲染,它們讓游戲中的畫面變得更加真實(shí)且豐富。本文就3D游戲引擎構(gòu)架及游戲動畫的渲染技術(shù)做出簡要分析。
關(guān)鍵詞:3D游戲引擎;動畫渲染;技術(shù)分析
中圖分類號:TP391.41 文獻(xiàn)標(biāo)識碼:A 文章編號:1005-5312(2017)18-0125-01
從電腦游戲的剛剛起步,到今日的日漸成熟,可以說是經(jīng)歷了一個快速又巨大的變化。這和它所采用的游戲引擎是分不開的,本文將從3D游戲引擎的構(gòu)架入手,然后通過動畫模型在3D規(guī)格界面的調(diào)用以及動畫模型在3D游戲中的顯示等方面分析3D游戲引擎下的游戲動畫渲染技術(shù)。
一、3D游戲引擎構(gòu)架
3D游戲與2D游戲的最大卻別,就是游戲畫面趨于立體、更加精致,游戲中所需要被提供的功能更多,如靜態(tài)網(wǎng)格模型、粒子系統(tǒng)、動態(tài)、曲面、燈光等。對于這些功能,我們可以將它們歸結(jié)為幾個模塊,即系統(tǒng)模塊、控制臺模塊、數(shù)據(jù)存儲模塊、游戲接口模塊、游戲插件模塊和底層渲染模塊。
其中系統(tǒng)模塊起到了3D游戲引擎和硬件之間做通信交互的作用,它其中圖形子系統(tǒng)模塊和聲音子系統(tǒng)模塊等小的系統(tǒng)模塊;控制臺模塊起到了調(diào)節(jié)設(shè)置的作用,對于一些測試和錯誤,控制臺模塊可以及時的進(jìn)行更改;數(shù)據(jù)存儲模塊的作用是將內(nèi)存數(shù)據(jù)和游戲本身的數(shù)據(jù)進(jìn)行組織的作用,也就是我們平時玩游戲時的存檔;游戲接口模塊的作用是連接編輯人員和游戲引擎,好方便編輯人員對于游戲內(nèi)部燈光、音效及關(guān)卡的編輯;而游戲插件模塊是用來彌補(bǔ)游戲畫面中的不足,所以編寫一定的模型轉(zhuǎn)換插件轉(zhuǎn)換成3D引擎格式。這些都是3D游戲引擎的基本模塊,可讓玩家最明顯接觸到的模塊、讓3D游戲畫面區(qū)別于2D游戲畫面,在3D游戲引擎之中起到關(guān)鍵作用的是底層渲染模塊,它可以對游戲畫面進(jìn)行渲染,讓游戲整體畫面變得更加逼真,效果更加明顯,它通過一些如OpenGL庫、Direct3D來完成效果的實(shí)現(xiàn)。
二、游戲動畫渲染技術(shù)
在3D游戲畫面的游戲動畫的制作中,渲染技術(shù)可以讓每一個物體都呈現(xiàn)出一定的質(zhì)感,這種技術(shù)能夠?qū)⒂螒蜃兊酶挥姓鎸?shí)性。
(一)動畫模型在3D規(guī)格界面的調(diào)用
動畫模型在3D規(guī)格界面的調(diào)用,在這里所說的方法為Direct3D方法。首先要對Direct3D進(jìn)行初始化,之后要建立Direct3D的設(shè)備以及對象;然后在X文件(微軟為DX開發(fā)提供的一種3D文件)讀取模型,這是因為我們要用的3DMAX所制作的三維模型要在Direct3D使用之前必須轉(zhuǎn)換成特定的格式;接著我們要設(shè)立透視投影以及并觀察矩陣,前者是為了將3D的物體及游戲畫面在二維的電腦顯示屏上顯示出三維的效果,而后者是用來研究玩家人物視角的朝向;接著要設(shè)置世界坐標(biāo),這是為了將游戲中的物體進(jìn)行游戲世界坐標(biāo)的設(shè)置,以方便我們?nèi)蘸髮λM(jìn)行調(diào)節(jié);在設(shè)置坐標(biāo)完成之后,我們要來設(shè)置一下游戲中系統(tǒng)的燈光,這樣能夠讓游戲中的物體及其他畫面在玩游戲時可以得到顯示,這里的燈光大概分為三種燈光的類型,點(diǎn)光源、聚光源還有平行光源,我們要根據(jù)游戲類型的不同以及風(fēng)格的不同作出合適的選擇;最后,要進(jìn)行一定模型的渲染,將我們在X文件里讀取的模型的紋理、網(wǎng)格等表現(xiàn)出來。
(二)動畫模型在3D游戲中的顯示
1.紋理圖案的生成。紋理圖案的生成主要采用的是紋理映射的技術(shù)。這項技術(shù)是通過將游戲中三維場景中是物體進(jìn)行二維參數(shù)化的轉(zhuǎn)變。它是通過游戲中三維物體表面上的任意一點(diǎn)進(jìn)行一定的計算,算出二維的數(shù)值,即u和v,然后通過u和v計算出物體應(yīng)該的紋理值,進(jìn)而對物體整個表面進(jìn)行紋理圖案的生成,這樣做可以使游戲中的畫面更有細(xì)節(jié)化,也就顯得更加真實(shí)。計算不同形狀的物體需要不同的映射方法,有的需要取多個數(shù)值,還要進(jìn)行不同坐標(biāo)系中進(jìn)行相互的轉(zhuǎn)換。
2.緩沖技術(shù)。緩沖技術(shù)也是動畫模型在3D游戲中顯示的重要因素,它可以在游戲畫面轉(zhuǎn)變時防止畫面的閃爍,畫面的閃爍,也就是我們通常所說的游戲畫面卡頓。緩沖技術(shù)對于畫面的整體效果以及使用感受都有很大的提升,DirectX主要采用的技術(shù)有兩種,一是雙緩沖技術(shù),還有一種是后備緩沖技術(shù)。(1)雙緩沖技術(shù)。雙緩沖技術(shù)的工作原理是在游戲畫面之外的緩沖區(qū)域上畫每一個動畫的備用圖像,也就是在緩沖區(qū)畫出圖像,然后將這種圖像迅速拷貝到顯示畫面上。這種技術(shù)雖然有效地實(shí)現(xiàn)了防止游戲畫面卡頓的現(xiàn)象,但是,它進(jìn)行拷貝會產(chǎn)生一定的延時,效果不如后備緩沖技術(shù)。(2)后備緩沖技術(shù)。后備緩沖技術(shù)的工作原理是在主畫面時創(chuàng)造時同時創(chuàng)造游戲畫面中的顏色以及物體形狀,創(chuàng)造出一個與主畫面一樣的緩沖的畫面,然后用DirectDraw進(jìn)行函數(shù)Flip0的交換,這樣便能讓后備緩沖畫面顯示在主緩沖的畫面上,完成動畫的交換。根據(jù)后備緩沖顯示模型可知,主緩沖畫面和后備緩沖畫面的交換技術(shù)要比雙緩沖技術(shù)應(yīng)用起來更加快捷,也會使游戲畫面運(yùn)行得更加流暢,但前提條件是DirectDraw接口的問世。渲染是3D游戲的動畫制作中最為重要的一環(huán),緩沖技術(shù)能為游戲渲染提供更好的展示效果。
三、結(jié)論
本文主要闡述了3D游戲引擎的構(gòu)架并簡要分析了動畫模型在3D規(guī)格界面的調(diào)用、動畫模型在3D游戲中的顯示這兩方面的技術(shù),隨著游戲業(yè)的日益發(fā)展,3D游戲的競爭日益激烈,在游戲引擎上的更新和游戲動畫渲染技術(shù)上的突破會變得越發(fā)重要。