国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

3D計(jì)算機(jī)游戲程序設(shè)計(jì)語(yǔ)言教學(xué)的探索與實(shí)踐

2011-10-17 01:15徐東紅中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院江蘇徐州221116
中國(guó)科技信息 2011年6期
關(guān)鍵詞:引擎程序設(shè)計(jì)教學(xué)法

徐東紅 中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州221116

3D計(jì)算機(jī)游戲程序設(shè)計(jì)語(yǔ)言教學(xué)的探索與實(shí)踐

徐東紅 中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州221116

3D計(jì)算機(jī)游戲是融合了技術(shù)、藝術(shù)、商業(yè)的文化產(chǎn)品,更是軟件產(chǎn)品。在課程講授過(guò)程中,如何讓技術(shù)開(kāi)發(fā)與藝術(shù)創(chuàng)造在沖突的理念中相互包容,讓學(xué)生理解3D游戲開(kāi)發(fā)的理念,掌握游戲開(kāi)發(fā)的關(guān)鍵知識(shí)點(diǎn)與技術(shù)細(xì)節(jié),并在實(shí)踐中融會(huì)貫通,最終形成游戲開(kāi)發(fā)的專長(zhǎng),就此類(lèi)問(wèn)題具體闡述了筆者的教學(xué)內(nèi)容、教學(xué)模式、考核形式以及教學(xué)效果。

3D游戲編程;OpenGL;教學(xué)模式

1.簡(jiǎn)介

近幾年來(lái)計(jì)算機(jī)游戲發(fā)展的速度與規(guī)模日新月異,其相關(guān)技術(shù)已應(yīng)用到科研、工程、商業(yè)、藝術(shù)等社會(huì)和工業(yè)生產(chǎn)的幾乎一切領(lǐng)域[1]。以3D游戲設(shè)計(jì)為基礎(chǔ)的科研與教學(xué)成為越來(lái)越多的院校,相關(guān)專業(yè)必修或者選修的專業(yè)課程,同時(shí)學(xué)生對(duì)于以3D游戲設(shè)計(jì)為基礎(chǔ)的相關(guān)專業(yè)知識(shí)也越來(lái)越感興趣。3D計(jì)算機(jī)游戲是融合了3D圖形、圖像及聲音技術(shù)和藝術(shù)的文化產(chǎn)品,同時(shí)也是一個(gè)軟件產(chǎn)品。對(duì)于工科院校的學(xué)生,不僅僅是學(xué)習(xí)一些簡(jiǎn)單的語(yǔ)言設(shè)計(jì),而是想以此學(xué)習(xí)為基礎(chǔ),進(jìn)行更深入的研究與應(yīng)用。因?yàn)槠湎嚓P(guān)知識(shí)和技術(shù)的更新、發(fā)展非???,只有及時(shí)學(xué)習(xí)和掌握新的研究成果并提高實(shí)際應(yīng)用能力,才能為以后的工作與研究奠定基礎(chǔ)。同時(shí)計(jì)算機(jī)3D游戲軟件的開(kāi)發(fā)學(xué)習(xí)和一般軟件開(kāi)發(fā)學(xué)習(xí)有著明顯的不同[2,3]。計(jì)算機(jī)3D游戲程序設(shè)計(jì)人員不僅需要掌握程序設(shè)計(jì)技巧,還需要有堅(jiān)實(shí)的專業(yè)領(lǐng)域知識(shí),才能有效地生成和實(shí)現(xiàn)游戲的畫(huà)面內(nèi)容、音效處理以及與玩家的交互等。作為教授此課程的專業(yè)教師如何選擇相關(guān)3D程序設(shè)計(jì)語(yǔ)言、如何讓學(xué)生學(xué)習(xí)過(guò)相關(guān)語(yǔ)言后能更進(jìn)一步的深入研究與應(yīng)用、如何把一些研究應(yīng)用至3D游戲?qū)W習(xí)中并在實(shí)踐中融會(huì)貫通,最終形成游戲開(kāi)發(fā)的專長(zhǎng),是計(jì)算機(jī)游戲程序設(shè)計(jì)課程專業(yè)教師必須要著重的要求。

2 .3D游戲編程語(yǔ)言,OpenGL與OpenAL組合設(shè)計(jì)完美的3D游戲

做3D游戲的設(shè)計(jì)開(kāi)發(fā),選擇合適的設(shè)計(jì)語(yǔ)言極為重要,選擇的設(shè)計(jì)語(yǔ)言不僅需要易學(xué)、易用,而且還要要求具有跨平臺(tái)、高性能、且有相關(guān)的規(guī)范標(biāo)準(zhǔn)。OpenGL是用于開(kāi)發(fā)簡(jiǎn)捷的交互式二維和三維圖形應(yīng)用程序的最佳選擇,任何高性能的圖形應(yīng)用程序,從3D動(dòng)畫(huà)、CAD輔助設(shè)計(jì)到可視化仿真,都可以利用OpenGL高質(zhì)量、高性能的特點(diǎn)。OpenGL強(qiáng)有力的圖形函數(shù)不要求開(kāi)發(fā)人員把三維物體模型的數(shù)據(jù)寫(xiě)成固定的數(shù)據(jù)格式,也不要求開(kāi)發(fā)人員編寫(xiě)矩陣變換、外部設(shè)備訪問(wèn)等函數(shù),大大地簡(jiǎn)化了編寫(xiě)三維圖形的程序。更重要的是微軟在Windows中包含了OpenGL,OpenGL能夠模擬比較復(fù)雜的三維物體或自然景觀。OpenGL在游戲設(shè)計(jì)中的優(yōu)勢(shì)主要體現(xiàn)在3D圖像的設(shè)計(jì)與實(shí)現(xiàn)中,游戲中另一重要方面是3D音效,完成這一重要功能的是OpenAL。 OpenAL(Open Audio Library)是自由軟件界的跨平臺(tái)音效API。它設(shè)計(jì)給多通道三維位置音效的特效表現(xiàn)。其 API 風(fēng)格模仿自O(shè)penGL。是為了將Windows商業(yè)游戲移植到Linux上。OpenAL主要的功能是在來(lái)源物體、音效緩沖和收聽(tīng)者中編碼。

3. 在課堂上運(yùn)用OpenGL編3D游戲,結(jié)合典型案例全面分解剖析,讓學(xué)生掌握3D游戲開(kāi)發(fā)的理念與實(shí)際應(yīng)用技術(shù)

在課堂教學(xué)中,專門(mén)對(duì)游戲開(kāi)發(fā)的基本理念和流程進(jìn)行剖析,在學(xué)習(xí)過(guò)知識(shí)點(diǎn)后,針對(duì)具體學(xué)習(xí)的知識(shí)點(diǎn)采用流行及典型的三維的游戲的案例,在游戲創(chuàng)意及具體編程代碼層面上進(jìn)行層層分解剖析,以“解剖麻雀”的方式來(lái)講解游戲產(chǎn)品的組成以及游戲產(chǎn)品的開(kāi)發(fā)流程,幫助學(xué)生理解和掌握3D游戲程序設(shè)計(jì)的方法和思想。在學(xué)生掌握知識(shí)點(diǎn)后,讓學(xué)生發(fā)揮自己的想象力去設(shè)計(jì)和實(shí)現(xiàn)具體的例子,并在開(kāi)放式討論中進(jìn)行詳細(xì)的講解。下面通過(guò)一個(gè)案例來(lái)說(shuō)明如何將將典型案例進(jìn)行全面分解剖析,讓學(xué)生掌握3D游戲開(kāi)發(fā)的理論,達(dá)到良好的教學(xué)效果。案例:在課堂上中學(xué)習(xí)過(guò)運(yùn)用OpenGL繪制多邊形、設(shè)置不同色彩、平移、縮放、旋轉(zhuǎn)等技術(shù)后,把各種技術(shù)組合使用,設(shè)計(jì)了在各種3D虛擬及游戲中常用的一種機(jī)器人,該機(jī)器人由頭部、手臂、軀干、腿等不同形狀和色彩的幾何圖像組成,且各組成部分相互協(xié)調(diào)進(jìn)行行走,轉(zhuǎn)動(dòng)。由于篇幅有限,源程序代碼過(guò)長(zhǎng),用OpenGL和C++設(shè)計(jì)的機(jī)器人部分代碼如下。計(jì)算法的枯燥、沉悶的傳統(tǒng)教學(xué)法,嘗試開(kāi)放式教學(xué)內(nèi)容;提問(wèn)式講課;無(wú)標(biāo)準(zhǔn)答案的課程設(shè)計(jì);查找文獻(xiàn),分組動(dòng)手實(shí)現(xiàn)程序設(shè)計(jì)等參與式教學(xué)方法,培養(yǎng)和發(fā)揚(yáng)學(xué)生的參與意識(shí),通過(guò)參與式教學(xué)提高學(xué)生學(xué)習(xí)的主動(dòng)性、積極性和效率,培養(yǎng)學(xué)生的動(dòng)手能力和創(chuàng)新能力。

在具體案例教學(xué)中,采用問(wèn)題教學(xué)法、引導(dǎo)式教學(xué)法和參與式教學(xué)法。在問(wèn)題教學(xué)法中,圍繞3D游戲程序設(shè)計(jì)的知識(shí)模塊,在引導(dǎo)學(xué)生發(fā)現(xiàn)各種各樣問(wèn)題的前提下,傳授知識(shí)。教學(xué)活動(dòng)中,嘗試3D程序設(shè)計(jì)知識(shí)圍繞實(shí)際問(wèn)題而展現(xiàn),使問(wèn)題不僅成為激發(fā)學(xué)生求知欲的前提,也成為學(xué)生期盼、理解和吸收知識(shí)的前提,以此激發(fā)學(xué)生的創(chuàng)造動(dòng)機(jī)和創(chuàng)造性思維。在引導(dǎo)式教學(xué)法中,給出相似模塊的編程思想有具體的編程代碼,讓學(xué)生去模仿和創(chuàng)造,比如在給出的案例中在講解過(guò)用OpenGL設(shè)置機(jī)器人頂部方法后,讓同學(xué)們模仿此代碼設(shè)計(jì)繪制立方體的前面、后面、底面、左面和右面的代碼,并強(qiáng)調(diào)方法與頂部設(shè)計(jì)相同,僅是參數(shù)里面的數(shù)值不同。在講解設(shè)置機(jī)器人手臂方法后,讓同學(xué)們模仿給出的實(shí)際代碼設(shè)計(jì)繪制機(jī)器人其他的部位如頭部、軀干、腿等部位的代碼,并強(qiáng)調(diào)方法與手臂設(shè)計(jì)相同,僅是與設(shè)計(jì)手臂的立方體大小不同,同時(shí)為了區(qū)別不同部位,可以設(shè)置不同的色彩,達(dá)到綜合美觀3D的效果。在參與式教學(xué)中,打破3D設(shè)

4.介紹游戲引擎,通過(guò)開(kāi)放式課后作業(yè)、游戲開(kāi)發(fā)實(shí)踐、科研訓(xùn)練相結(jié)合,把多學(xué)科交叉的知識(shí)點(diǎn)和技能進(jìn)行融會(huì)貫通

“工欲善其事 必先利其器”,為了開(kāi)發(fā)應(yīng)用,在掌握了語(yǔ)言設(shè)計(jì)知識(shí)點(diǎn)后,把語(yǔ)言與具體的引擎結(jié)合,更能用于控制所有游戲功能的主程序,從計(jì)算碰撞、物理系統(tǒng)和物體的相對(duì)位置,到接受玩家的輸入,以及按照正確的音量輸出聲音等等。在學(xué)習(xí)OpenGL設(shè)計(jì)時(shí),給同學(xué)們講解3D建模的引擎如Ogre、Maya、Softimage等的使用方法,在學(xué)習(xí)OpenAL 3D聲音設(shè)計(jì)時(shí),給同學(xué)們介紹常見(jiàn)的聲音引擎如BASS、MikMod、FMOD、ModPlug、Miles Sound System、EAX、Dolby Encoding等在設(shè)計(jì)3D聲音時(shí)要注意的事項(xiàng),要求同學(xué)們?cè)?D建模引擎和聲音引擎中掌握一至二種,并把同學(xué)們分成項(xiàng)目組,給每個(gè)項(xiàng)目組布置和科研相關(guān)的題目,或者前沿的設(shè)計(jì),如“基于OpenGL的礦井機(jī)器人操作可視化等。另一個(gè)方面是在學(xué)期結(jié)束前一周,每個(gè)小組將所開(kāi)發(fā)的游戲進(jìn)行演示交流,任課老師和其它小組的學(xué)生提出進(jìn)一步完善的建議,并督促每個(gè)小組進(jìn)行整改。經(jīng)過(guò)多年的教學(xué)實(shí)踐證明,通過(guò)逐步引導(dǎo)學(xué)生在“做”游戲產(chǎn)品的過(guò)程中,把所游戲開(kāi)發(fā)所涉及的多學(xué)科知識(shí)進(jìn)行融會(huì)貫通,由點(diǎn)及面地逐步掌握游戲開(kāi)發(fā)的高級(jí)技能,是讓學(xué)生在游戲開(kāi)發(fā)方面一步一個(gè)腳印地邁向更高層次的有效途徑之一。總之,把游戲開(kāi)發(fā)實(shí)踐、科研訓(xùn)練相結(jié)合,極大地提升了學(xué)生的創(chuàng)新能力和科研基本素質(zhì)。

圖1

5.結(jié)語(yǔ)

針對(duì)3D游戲設(shè)計(jì)的課程特點(diǎn),積極開(kāi)展游戲開(kāi)發(fā)實(shí)踐教學(xué)、研究型教學(xué)、科研訓(xùn)練型學(xué)習(xí),提高大學(xué)生的學(xué)習(xí)能力、實(shí)踐能力和創(chuàng)新能力的研究與實(shí)踐。我們的教學(xué)研究與實(shí)踐主要內(nèi)容包括三個(gè)方面:結(jié)合典型案例全面分解剖析,讓學(xué)生掌握3D游戲開(kāi)發(fā)的理念與實(shí)際應(yīng)用技術(shù)和成體系的實(shí)驗(yàn)訓(xùn)練;游戲引擎介紹與應(yīng)用以及多學(xué)科交叉的知識(shí)點(diǎn)和技能相對(duì)接的科研訓(xùn)練。這三個(gè)主要方面,層層遞進(jìn)、環(huán)環(huán)相扣,是體系完整的創(chuàng)新型3D游戲設(shè)計(jì)語(yǔ)言教學(xué)實(shí)踐,并在教學(xué)中取得了令人滿意效果。

[1]于延,王建華.游戲軟件設(shè)計(jì)專業(yè)培養(yǎng)模式的實(shí)踐與探索[J].計(jì)算機(jī)教育.2010(7):104-107

[2]田興彥,王嘉.基于3D 游戲引擎的物理探究學(xué)習(xí)平臺(tái)設(shè)計(jì)[J].微計(jì)算機(jī)信息.2010(26):3-6

[3]劉青,劉銳.基因工程虛擬實(shí)驗(yàn)室的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代教育技術(shù).2006(5):60-64

10.3969/j.issn.1001-8972.2011.06.073

國(guó)家重大專項(xiàng)“核高基”(No. 2009ZX01043-001-07)項(xiàng)目,中國(guó)礦業(yè)大學(xué)青年基金項(xiàng)目(No.2009A050),中國(guó)礦業(yè)大學(xué)“啟航計(jì)劃”項(xiàng)目

徐東紅(1977-),男,博士,講師,研究方向?yàn)?D虛擬程序語(yǔ)言設(shè)計(jì),服務(wù)計(jì)算,形式化方法。

猜你喜歡
引擎程序設(shè)計(jì)教學(xué)法
新海珠,新引擎,新活力!
批注式閱讀教學(xué)法探究
基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
實(shí)施“六步教學(xué)法”構(gòu)建高中政治高效課堂
從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
三生 三大引擎齊發(fā)力
高中數(shù)學(xué)實(shí)踐教學(xué)法的創(chuàng)新策略探討
藍(lán)谷: “涉藍(lán)”新引擎
高職高專院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用