李 蓉
文章編號(hào):1672-5913(2009)06-0034-03
摘要:隨著游戲產(chǎn)業(yè)的快速發(fā)展,國(guó)內(nèi)外越來(lái)越多的高校開始開設(shè)游戲開發(fā)專業(yè)或游戲開發(fā)方向,在該專業(yè)的課程設(shè)置中,“計(jì)算機(jī)圖形學(xué)”是一門重要的專業(yè)基礎(chǔ)課,如何在講授“計(jì)算機(jī)圖形學(xué)”課程的同時(shí),考慮游戲?qū)I(yè)人才的培養(yǎng)目標(biāo),結(jié)合游戲設(shè)計(jì)的實(shí)例來(lái)進(jìn)行實(shí)踐,使得學(xué)生能將圖形學(xué)理論和游戲設(shè)計(jì)實(shí)踐很好地結(jié)合起來(lái),是一個(gè)值得深入探討的問(wèn)題。本文從“計(jì)算機(jī)圖形學(xué)”課程的特點(diǎn)分析開始,結(jié)合當(dāng)前教學(xué)過(guò)程中存在的問(wèn)題,給出了面向游戲開發(fā)專業(yè)方向的“計(jì)算機(jī)圖形學(xué)”課程建設(shè)思路。
關(guān)鍵詞:計(jì)算機(jī)圖形學(xué);游戲開發(fā);課程建設(shè)
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
1引言
“計(jì)算機(jī)圖形學(xué)”是計(jì)算機(jī)領(lǐng)域一門重要的學(xué)科,也是計(jì)算機(jī)學(xué)科方向的核心課程之一,作為一門不斷發(fā)展的學(xué)科,“計(jì)算機(jī)圖形學(xué)”的教學(xué)應(yīng)該跟上學(xué)科的快速發(fā)展以及社會(huì)對(duì)本學(xué)科的人才需求。當(dāng)前,伴隨著計(jì)算機(jī)科學(xué)與媒體技術(shù)的相互融合,形成了數(shù)字媒體技術(shù)這一新的學(xué)科,越來(lái)越多的國(guó)內(nèi)外高校開始開設(shè)數(shù)字媒體技術(shù)專業(yè),而相當(dāng)多的高校將“游戲開發(fā)”作為數(shù)字媒體技術(shù)專業(yè)的一個(gè)主要方向進(jìn)行發(fā)展。游戲設(shè)計(jì)以高質(zhì)量的3D技術(shù)來(lái)展現(xiàn)游戲畫面,從角色建模、燈光、渲染、紋理等,無(wú)不是基于計(jì)算機(jī)圖形學(xué)的算法和理論,因此,“計(jì)算機(jī)圖形學(xué)”也成為數(shù)字媒體技術(shù)專業(yè)重要的一門專業(yè)基礎(chǔ)課。
如何在講授“計(jì)算機(jī)圖形學(xué)”課程的同時(shí),考慮游戲?qū)I(yè)人才的培養(yǎng)目標(biāo),結(jié)合游戲設(shè)計(jì)的實(shí)例來(lái)進(jìn)行實(shí)踐,使得學(xué)生不至于因?yàn)樗惴ê屠碚摰目菰锒a(chǎn)生厭學(xué)情緒,同時(shí)又能將圖形學(xué)理論和游戲設(shè)計(jì)實(shí)踐很好地結(jié)合起來(lái),是一個(gè)值得深入探討的問(wèn)題。
本文分析了“計(jì)算機(jī)圖形學(xué)”課程的特點(diǎn)及其在游戲開發(fā)專業(yè)培養(yǎng)課程體系中的地位以及圖形學(xué)授課過(guò)程中存在的問(wèn)題,給出了面向游戲設(shè)計(jì)專業(yè)的“計(jì)算機(jī)圖形學(xué)”課程教學(xué)改革的思路。
2 “計(jì)算機(jī)圖形學(xué)”課程的特點(diǎn)及其在游戲開發(fā)專業(yè)培養(yǎng)課程體系中的地位
游戲開發(fā)專業(yè)的教育目標(biāo)是幫助學(xué)生了解游戲從策劃、設(shè)計(jì)、開發(fā)、測(cè)試、運(yùn)營(yíng)過(guò)程的整個(gè)環(huán)節(jié),使學(xué)生獲得扎實(shí)的理論基礎(chǔ),同時(shí)使學(xué)生具備較強(qiáng)的實(shí)踐能力,掌握最先進(jìn)的主流游戲開發(fā)技術(shù)。
“計(jì)算機(jī)圖形學(xué)”是游戲設(shè)計(jì)專業(yè)的一門重要專業(yè)基礎(chǔ)課,當(dāng)前的主流圖形API是對(duì)圖形學(xué)的基本原理和算法的實(shí)現(xiàn),因此,對(duì)圖形學(xué)算法和原理的掌握,能夠幫助學(xué)生更快更好地理解和掌握主流的圖形API,而這些主流的圖形API也是當(dāng)前游戲開發(fā)過(guò)程中必不可少的工具。
由此也可看出,“計(jì)算機(jī)圖形學(xué)”課程應(yīng)該理論與實(shí)踐并重,既要講解清楚圖形學(xué)的基本理論和算法,又能給學(xué)生充分的實(shí)踐機(jī)會(huì)和時(shí)間,為學(xué)生后續(xù)學(xué)習(xí)游戲開發(fā)技術(shù)打下堅(jiān)實(shí)的基礎(chǔ)。
處理好圖形學(xué)授課過(guò)程中的理論講授和實(shí)踐的關(guān)系,對(duì)于這門課程的學(xué)習(xí)效果至關(guān)重要。
當(dāng)前的圖形學(xué)的教學(xué)現(xiàn)狀與游戲?qū)I(yè)的教學(xué)目標(biāo)相比,存在如下一些問(wèn)題。
3 “計(jì)算機(jī)圖形學(xué)”授課過(guò)程中存在的問(wèn)題
(1) 傳統(tǒng)的計(jì)算機(jī)圖形學(xué)的內(nèi)容可以分為二維、三維兩部分,其中二維部分即光柵圖形學(xué)部分,包括:基本圖形(直線、圓弧、橢圓等)的生成算法、二維裁剪算法、填充算法、曲線曲面、圖形反走樣等內(nèi)容。三維圖形學(xué)算法則圍繞三維物體的建模、運(yùn)動(dòng)、三維場(chǎng)景的建立組織,包括:物體建模(物體在計(jì)算機(jī)內(nèi)的表示模型、幾何造型)、三維圖形的顯示(三維圖形的幾何變換、三維圖形的投影變換、三維裁剪)、真實(shí)感圖形學(xué)(消隱算法、光照模型、光線跟蹤技術(shù)、陰影、紋理、輻射度算法等),有些圖形學(xué)教材還增加了計(jì)算機(jī)動(dòng)畫技術(shù)、交互技術(shù)、圖形處理高級(jí)技術(shù)等內(nèi)容。
分析上述內(nèi)容,其中與游戲設(shè)計(jì)關(guān)系最為密切的部分是:基本的圖形學(xué)數(shù)學(xué)算法,包括向量部分的內(nèi)容、圖形變換、視圖變換、圖形渲染、材質(zhì)、紋理貼圖、模型動(dòng)畫等三維圖形學(xué)的內(nèi)容;而二維圖形學(xué)的內(nèi)容在游戲開發(fā)中使用的相對(duì)較少。
而在傳統(tǒng)的圖形學(xué)教材中,二維圖形學(xué)的內(nèi)容占據(jù)相當(dāng)大的比例,學(xué)生在學(xué)習(xí)這一部分內(nèi)容的時(shí)候,普遍感到算法較為枯燥,而無(wú)法和實(shí)際應(yīng)用聯(lián)系起來(lái),易產(chǎn)生厭學(xué)的情緒。
(2) 對(duì)于當(dāng)前主流圖形庫(kù)的學(xué)習(xí)安排
為了更好的開發(fā)出具有豐富3D效果的游戲,必須學(xué)會(huì)使用3D技術(shù),而當(dāng)前主流的3D圖形API為OpenGL和DirectX,早期的很多游戲的底層引擎是基于OpenGL開發(fā)的,如“3D游戲之父”Carmack的經(jīng)典游戲“DOOM”、“Quake”,在當(dāng)前的游戲行業(yè)中,微軟開發(fā)的DirectX多媒體引擎大有后來(lái)居上之勢(shì),當(dāng)前基于Windows操作系統(tǒng)的游戲絕大多數(shù)都是基于DirectX開發(fā)。雖然如此,在其他操作系統(tǒng)的游戲開發(fā)和工作站上的圖形應(yīng)用程序開發(fā),OpenGL仍然是不二的選擇。
因此掌握好這兩種圖形庫(kù),是游戲?qū)I(yè)的學(xué)生必須掌握的技能;在兩種圖形庫(kù)的偏重上,DirectX所占的分量應(yīng)該更重一些,而當(dāng)前的圖形學(xué)理論和實(shí)踐教材基本上都是基于OpenGL,缺少合適的基于DirectX的計(jì)算機(jī)圖形學(xué)實(shí)驗(yàn)指導(dǎo)教材。
(3) 對(duì)于圖形學(xué)課程理論和實(shí)踐的安排
一般圖形學(xué)課程的安排是先講授圖形學(xué)理論,之后進(jìn)行圖形學(xué)課程設(shè)計(jì),目的是在課程設(shè)計(jì)環(huán)節(jié)讓學(xué)生應(yīng)用所學(xué)的理論知識(shí),鍛煉實(shí)踐能力。但也存在一些弊?。豪碚撝v授和實(shí)踐環(huán)節(jié)割裂,學(xué)生在學(xué)習(xí)圖形學(xué)算法和理論時(shí)對(duì)枯燥的內(nèi)容感到較難,缺少實(shí)踐,而在實(shí)踐環(huán)節(jié),由于時(shí)間有限,很難真正掌握開發(fā)工具并作出具有一定深度的作品。
基于上述問(wèn)題,結(jié)合游戲開發(fā)專業(yè)的特點(diǎn),我們認(rèn)為必須從以下幾方面入手做工作,確保“計(jì)算機(jī)圖形學(xué)”課程的教學(xué)效果,加快課程建設(shè)。
4面向游戲開發(fā)專業(yè)方向的計(jì)算機(jī)圖形學(xué)課程建設(shè)思路
(1) 針對(duì)游戲?qū)I(yè)的特色,在內(nèi)容選擇上,應(yīng)有所取舍,有所補(bǔ)充,不拘泥于某本計(jì)算機(jī)圖形學(xué)教材的具體內(nèi)容作為授課內(nèi)容,而是根據(jù)培養(yǎng)目標(biāo)和專業(yè)特色,靈活安排。
首先,重點(diǎn)講授三維圖形學(xué)的內(nèi)容;另外,將一些游戲開發(fā)過(guò)程中較為關(guān)鍵的圖形學(xué)相關(guān)算法和內(nèi)容補(bǔ)充到圖形學(xué)的授課內(nèi)容中,例如以下兩種算法:
場(chǎng)景管理及相關(guān)算法:場(chǎng)景管理是3D游戲引擎最核心的部分,對(duì)于一個(gè)3D場(chǎng)景來(lái)說(shuō),有很多的物體,最簡(jiǎn)單的組織方法就是把它們用一個(gè)List連接起來(lái),然后在繪制每一幀的時(shí)候一次送入渲染器進(jìn)行處理,這樣的方法即使處理一個(gè)簡(jiǎn)單的場(chǎng)景都會(huì)顯得非常慢。因此,如何合理有效地管理3D場(chǎng)景中物體之間的相關(guān)、從屬、互相影響的關(guān)系,如何組織這些關(guān)系,并將它們與3D引擎的其他部分的功能聯(lián)系起來(lái),就是場(chǎng)景管理需要完成的工作。牽涉到空間排序,有多種算法來(lái)實(shí)現(xiàn),基本的方法為:N叉樹算法,包括:二叉樹算法、四叉樹算法和八叉樹算法。
現(xiàn)有的各種圖形學(xué)教材,有些根本沒(méi)有提到上述算法,有些在圖形消隱的章節(jié)講授其中的某種算法。而上述算法是游戲引擎的核心算法,對(duì)游戲?qū)I(yè)學(xué)生這一部分的內(nèi)容應(yīng)補(bǔ)充進(jìn)授課內(nèi)容。
三維模型動(dòng)畫及動(dòng)力學(xué)的基礎(chǔ)知識(shí):在游戲開發(fā)過(guò)程中,有了模型之后,需要為三維模型添加相應(yīng)的動(dòng)作,實(shí)現(xiàn)游戲效果。對(duì)于當(dāng)前的三維圖形庫(kù),比如Direct3D,也支持豐富的三維模型動(dòng)畫,包括:關(guān)節(jié)動(dòng)畫、單一網(wǎng)格模型動(dòng)畫、骨骼動(dòng)畫和Morph動(dòng)畫。這一部分內(nèi)容對(duì)于游戲開發(fā)人員來(lái)說(shuō)也是必須掌握的一部分,但在現(xiàn)有的《計(jì)算機(jī)圖形學(xué)》教材中,絕大多數(shù)沒(méi)有涉及這部分內(nèi)容,但也有一些《計(jì)算機(jī)圖形學(xué)》課本增加了三維模型動(dòng)畫及動(dòng)力學(xué)的內(nèi)容,如美國(guó)加州州立大學(xué)斯坦尼斯洛斯分校Steve Cunningham所著的《計(jì)算機(jī)圖形學(xué)》一書中,就將動(dòng)力學(xué)和動(dòng)畫作為專門的一章內(nèi)容進(jìn)行介紹。
(2) 理清圖形學(xué)各部分內(nèi)容和具體的游戲應(yīng)用之間的關(guān)系,采用多種方式,有針對(duì)性地講述。
游戲?qū)I(yè)方向的“計(jì)算機(jī)圖形學(xué)”課程在講授的時(shí)候,不能完全沿用傳統(tǒng)的“計(jì)算機(jī)圖形學(xué)”的授課方式,而應(yīng)該找出相關(guān)內(nèi)容和具體的游戲開發(fā)實(shí)踐之間的關(guān)系,教師在講述相關(guān)理論和算法的時(shí)候,應(yīng)將游戲開發(fā)過(guò)程中如何應(yīng)用該算法或理論以及如何實(shí)現(xiàn)該算法和理論進(jìn)行講解,將相對(duì)枯燥的理論和實(shí)際聯(lián)系起來(lái),讓學(xué)生能學(xué)以致用。
下表對(duì)圖形學(xué)的內(nèi)容和游戲開發(fā)實(shí)踐中的應(yīng)用作了粗略的總結(jié)。
教師在具體講授時(shí)可以在此基礎(chǔ)上進(jìn)行豐富,使得授課內(nèi)容生動(dòng)起來(lái)。并在課程結(jié)束的時(shí)候,按照構(gòu)造游戲的流程,從角色建模講起,用游戲設(shè)計(jì)這一根主線找出各部分內(nèi)容之間的聯(lián)系,使得學(xué)生對(duì)課程的內(nèi)容和游戲開發(fā)之間的關(guān)系有一個(gè)全貌性的認(rèn)識(shí)。
(3) 在理論環(huán)節(jié)和實(shí)踐環(huán)節(jié)的安排上,采用理論課+實(shí)驗(yàn)課+課程設(shè)計(jì)的方式,在平時(shí)圖形學(xué)理論講授的過(guò)程中,穿插實(shí)驗(yàn)課,在最后安排課程設(shè)計(jì),加大實(shí)踐環(huán)節(jié)所占比重。
(4) 建設(shè)與開發(fā)面向游戲方向的圖形學(xué)案例庫(kù)
欲使課堂講授的內(nèi)容生動(dòng)起來(lái),必須有實(shí)際的案例支撐,因此建設(shè)面向游戲方向的圖形學(xué)案例庫(kù),使得學(xué)生能夠快速理解和掌握相關(guān)理論和技術(shù),對(duì)于提高圖形學(xué)課程的授課質(zhì)量至關(guān)重要。
(5) 教材建設(shè)方面
編制面向游戲開發(fā)專業(yè)的計(jì)算機(jī)圖形學(xué)教材以及編制面向游戲開發(fā)專業(yè)的圖形學(xué)課程設(shè)計(jì)指導(dǎo)書是非常緊迫和必須的任務(wù)。
5總結(jié)
本文結(jié)合圖形學(xué)教學(xué)的實(shí)際以及游戲開發(fā)專業(yè)方向的培養(yǎng)目標(biāo),對(duì)于面向游戲設(shè)計(jì)專業(yè)的“計(jì)算機(jī)圖形學(xué)”課程教學(xué)改革進(jìn)行了一些探討,希望能對(duì)游戲開發(fā)專業(yè)的教學(xué)和課程建設(shè)有所促進(jìn)。
參考文獻(xiàn):
[1] 培養(yǎng)具有創(chuàng)新意識(shí)的復(fù)合型數(shù)字媒體技術(shù)人才——山東大學(xué)軟件學(xué)院數(shù)字媒體系人才培養(yǎng)[J]. 計(jì)算機(jī)教育,2008,(15).
[2] 博采眾家智慧,培育復(fù)合型、創(chuàng)新型人才——山東大學(xué)軟件學(xué)院孟祥旭院長(zhǎng)談數(shù)字媒體技術(shù)專業(yè)人才培養(yǎng)[J]. 計(jì)算機(jī)教育,2008,(15).
[3] 徐延寧. 計(jì)算機(jī)游戲課程體系建設(shè)[J]. 計(jì)算機(jī)教育,2008,(15).
[4] 尹義龍. 數(shù)字媒體技術(shù)專業(yè)的教學(xué)實(shí)踐體系探討[J]. 計(jì)算機(jī)教育,2008,(15).
[5] 向輝. 數(shù)字媒體技術(shù)專業(yè)課程體系探討[J]. 計(jì)算機(jī)教育,2008,(15).
[6] 潘榮江. 揚(yáng)長(zhǎng)補(bǔ)短的 “2+X” 數(shù)字媒體技術(shù)專業(yè)培養(yǎng)模式[J]. 計(jì)算機(jī)教育,2008,(15).
[7] 龐曉溪. 游戲引擎教程[M]. 北京:中國(guó)水利水電出版社,2008.
[8] [美]Steve Cunningham著. 石教英,潘志庚譯. 計(jì)算機(jī)圖形學(xué)[M],北京:機(jī)械工業(yè)出版社,2008.
[9] 降愛(ài)蓮,胡或,段富. 計(jì)算機(jī)圖形學(xué)教學(xué)改革的研究與實(shí)踐[J]. 太原理工大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版)2005,23,132-165.
[10] 張慧. 計(jì)算機(jī)圖形學(xué)課程教學(xué)研究[J]. 山東工業(yè)大學(xué)學(xué)報(bào),1994,1,72-74.