999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D的中學(xué)數(shù)學(xué)概率學(xué)習(xí)游戲設(shè)計(jì)與實(shí)現(xiàn)

2016-05-30 11:10:37王麗
關(guān)鍵詞:游戲

王麗

摘 要:教育游戲的出現(xiàn),極大的改變了學(xué)生的學(xué)習(xí)方式,學(xué)生可以通過教育游戲?qū)蕵放c學(xué)習(xí)結(jié)合起來,提高學(xué)習(xí)興趣和效率。文章利用3ds Max建立三維游戲場(chǎng)景和道具,使用Unity3D作為開發(fā)平臺(tái),以JavaScript作為開發(fā)語言,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)中學(xué)數(shù)學(xué)概率學(xué)習(xí)的三維游戲。

關(guān)鍵詞:游戲;建模;Unity3D

中圖分類號(hào):G434 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2016)08-0068-04

一、引言

學(xué)生是有個(gè)性差異的,課堂教學(xué)無法滿足每個(gè)學(xué)生的學(xué)習(xí)需求,但通過教育游戲卻可以實(shí)現(xiàn)因材施教。教育游戲可將游戲任務(wù)按照難易程度劃分等級(jí),使每個(gè)學(xué)生可以根據(jù)自己的學(xué)習(xí)情況選擇適合的等級(jí),制定自己的學(xué)習(xí)進(jìn)度,自主學(xué)習(xí)能力也得到了提升[1]。此外,教育游戲還具有很強(qiáng)的挑戰(zhàn)性、互動(dòng)性和趣味性,可以激發(fā)學(xué)生強(qiáng)烈的求知欲和學(xué)習(xí)動(dòng)機(jī)[2]。學(xué)生利用教育游戲進(jìn)行學(xué)習(xí),不僅可以鞏固已學(xué)的知識(shí),拓展知識(shí)面,還能提高想象力。教育游戲還有助于培養(yǎng)學(xué)生正確的人生觀和價(jià)值觀。

文章利用3ds Max建立三維游戲場(chǎng)景和道具,以Unity3D為開發(fā)環(huán)境,JavaScript為開發(fā)語言設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)中學(xué)概率學(xué)習(xí)游戲。讓學(xué)生體驗(yàn)游戲刺激的同時(shí),可以通過回答問題來學(xué)習(xí)、鞏固概率知識(shí),使學(xué)習(xí)不再枯燥,讓學(xué)生快樂學(xué)習(xí),愛上學(xué)習(xí),提高學(xué)習(xí)效率。

二、游戲開發(fā)流程

首先,根據(jù)學(xué)習(xí)目標(biāo)設(shè)計(jì)學(xué)習(xí)內(nèi)容和游戲流程,接著利用3ds Max建立模型、為模型賦予材質(zhì);然后將文件導(dǎo)入U(xiǎn)nity3D中進(jìn)行游戲的開發(fā),內(nèi)容包括碰撞檢測(cè)、動(dòng)畫設(shè)置、添加特效、布置燈光、添加音樂、人機(jī)交互設(shè)置六大部分;最后進(jìn)行優(yōu)化系統(tǒng),導(dǎo)出為可執(zhí)行文件。游戲的開發(fā)流程如圖1所示。

三、游戲設(shè)計(jì)與實(shí)現(xiàn)

1.設(shè)計(jì)思想

此游戲?qū)儆诿苁医庵i類游戲,游戲場(chǎng)景的部分結(jié)構(gòu)圖如圖2所示。整個(gè)密室由一個(gè)個(gè)小密室組合而成。當(dāng)玩家進(jìn)入游戲后,玩家就會(huì)位于如圖2所示的位置,玩家想要離開密室,必須打開門。當(dāng)玩家向門走去的時(shí)候,就會(huì)觸發(fā)一個(gè)觸發(fā)器,彈出一道數(shù)學(xué)概率問題。第一個(gè)問題是相當(dāng)簡(jiǎn)單的,凡是學(xué)過中學(xué)概率的都可以解決,所以當(dāng)?shù)谝粋€(gè)問題回答錯(cuò)誤時(shí),會(huì)彈出失敗場(chǎng)景,并提示玩家要先去學(xué)習(xí)中學(xué)數(shù)學(xué)概率的內(nèi)容,再來玩這個(gè)游戲。當(dāng)?shù)谝粋€(gè)問題回答正確,密室的門會(huì)自動(dòng)打開,玩家可以經(jīng)過走廊進(jìn)入第二個(gè)密室。從第二個(gè)密室開始,每道關(guān)口除了有一個(gè)正門外還有一個(gè)側(cè)門。當(dāng)玩家走向第二個(gè)密室主門時(shí),會(huì)彈出第二個(gè)問題,這個(gè)問題比第一個(gè)問題略難。當(dāng)這個(gè)問題回答正確,主門會(huì)自動(dòng)打開;如果回答錯(cuò)誤,側(cè)道的門會(huì)打開,側(cè)道也會(huì)有一些關(guān)于概率的問題,這些問題是主門問題的分解問題,幫助玩家理解主門的問題。游戲的時(shí)間限制為25分鐘,單個(gè)問題沒有時(shí)間限制,這種設(shè)置給了玩家相對(duì)自由的空間。整個(gè)游戲場(chǎng)景共有6個(gè)主道以及6個(gè)側(cè)道,直到玩家開啟最后一個(gè)密室的門,游戲會(huì)結(jié)束,并彈出勝利的場(chǎng)景。

2.建模

(1)建模前的相關(guān)設(shè)置

為了使3ds Max制作的模型與現(xiàn)實(shí)世界相符合,需要對(duì)3ds Max進(jìn)行必要的單位設(shè)置。將“系統(tǒng)單位”和“顯示單位”都設(shè)置為厘米。通過這樣的設(shè)置,也可以將模型導(dǎo)入U(xiǎn)nity3D中,這樣進(jìn)行后期游戲開發(fā)時(shí)更容易操作[3]。

(2)密室場(chǎng)景建模

密室建模采用“多邊形建模”的方法。密室分大廳和走廊兩個(gè)部分。整個(gè)密室由若干個(gè)大廳和走廊組成,密室大廳的統(tǒng)一規(guī)格是:高600cm,長(zhǎng)1200cm,寬800cm,密室走廊的統(tǒng)一規(guī)格為長(zhǎng)400cm,寬1000cm,高400cm。

①密室墻體建模

密室大廳的原型是一個(gè)高600cm、長(zhǎng)1200cm、寬800cm的長(zhǎng)方體,點(diǎn)擊工具欄的“創(chuàng)建”面板,選擇“標(biāo)準(zhǔn)基本體”中的“長(zhǎng)方體”并將其命名為“box1”,設(shè)置其長(zhǎng)、寬、高分別為1200cm、800cm、600cm。然后將box1轉(zhuǎn)換成“可編輯多邊形”,選擇“多邊形”子集中的“翻轉(zhuǎn)”選項(xiàng),將box1的法線方向進(jìn)行反轉(zhuǎn),使大廳的內(nèi)墻可見。

密室走廊的原型是一個(gè)長(zhǎng)400cm、寬1000cm、高400cm的長(zhǎng)方體,建立的步驟與密室大廳完全相同。建立后將其命名為“box2”。

②門的建模

要用門將大廳和走廊隔離開來。很多做法可以實(shí)現(xiàn)這個(gè)目的,筆者用的是“超級(jí)布爾”。將box1和box2按如圖3的方式進(jìn)行擺放。選擇box1,在3ds Max的“復(fù)合對(duì)象”面板下選擇“超級(jí)布爾”。選擇“參數(shù)”中的“差集”和“蓋印”,選擇“拾取布爾對(duì)象”中的“開始拾取”,點(diǎn)擊box2,就會(huì)得到一個(gè)門的輪廓,效果如圖4所示。門的輪廓已經(jīng)完成,接下來就需要制作門了。門的原型是一個(gè)長(zhǎng)400cm、高400cm、寬20cm的長(zhǎng)方體,按照box1的建立步驟創(chuàng)建一個(gè)長(zhǎng)400cm、高400cm、寬20cm的長(zhǎng)方體,將其命名為“door”。將“door”擺放到box1和box2的交界處。

接著通過上述方法完成其他大廳及走廊的創(chuàng)建,并將大廳和走廊用門隔絕開來,然后選擇box1,選擇“修改”面板下的“附加”命令,將其他大廳和走廊與box1組合在一起,就完成了整個(gè)密室的建模。最終效果如圖5所示。

(3)道具建模

雖然游戲場(chǎng)景建立好了,但當(dāng)玩家位于游戲場(chǎng)景中時(shí)會(huì)感覺略顯空曠,而且為了給密室營(yíng)造一種詭異、緊張的氛圍,需要建立一些火盆擺放在主門的兩邊。火盆的制作主要分為火盆和支架兩個(gè)部分。

①火盆的制作

點(diǎn)擊工具欄的“創(chuàng)建”選項(xiàng),選擇“標(biāo)準(zhǔn)基本體”中的“圓柱體”,并將其命名為“fire”。將fire的半徑設(shè)為40cm,高度設(shè)為20cm,邊數(shù)設(shè)為8并轉(zhuǎn)化成可編輯多邊形。選擇fire上邊的面,將其放大并選擇“插入”選項(xiàng),給上邊的面插入一個(gè)新的面。選擇新面,選擇使用“擠出”,將新面向下拉,然后選擇“切割”命令,對(duì)新面的對(duì)頂點(diǎn)進(jìn)行切割,共需要切割四次,中間會(huì)形成一個(gè)新的點(diǎn)。進(jìn)入“點(diǎn)”子集,使用“選擇并移動(dòng)”命令,將該點(diǎn)微微拉起。這樣就完成了火盆的制作。

②支架的制作

支架的做法相對(duì)簡(jiǎn)單,同box1的建立方法一樣,建立一個(gè)長(zhǎng)20cm、寬20cm、高180cm的長(zhǎng)方體,并將“高度分段”設(shè)為2,將其命名為“support”。將新建的長(zhǎng)方體轉(zhuǎn)換為可編輯多邊形,進(jìn)入“點(diǎn)”子集,選擇“選擇并移動(dòng)”命令,將support的中間四個(gè)點(diǎn)向下拉,將底面的四個(gè)點(diǎn)向外拉,支架的模型就建立完成了。為了節(jié)約電腦資源,可以將看不見的底面刪除。按照這種方法,再建立3個(gè)support,并按照?qǐng)D6所示將四個(gè)支架與火盆組合在一起。至此,火盆的模型就完成了。

3.貼圖的制作

搜集貼圖,通過PS加以修改。將修改好的貼圖導(dǎo)入3ds Max賦給游戲場(chǎng)景中的內(nèi)墻和游戲道具。打開3ds Max工具欄的“材質(zhì)編輯器”,將貼圖賦予空白的材質(zhì)球,選擇“將材質(zhì)指定給選定對(duì)象”選項(xiàng),即可進(jìn)行模型的貼圖。

4.模型的導(dǎo)入

將建立好的游戲場(chǎng)景及其貼圖放在Unity3D游戲的資源文件夾下。當(dāng)把游戲場(chǎng)景拉入U(xiǎn)nity3D的開發(fā)界面中時(shí),會(huì)發(fā)現(xiàn)游戲場(chǎng)景上的貼圖不見了。這時(shí),只需要在游戲場(chǎng)景的文件里找到那幾個(gè)材質(zhì)球,將其重新賦予場(chǎng)景中的對(duì)象,就完成了游戲場(chǎng)景和道具的導(dǎo)入。

5.游戲各模塊的實(shí)現(xiàn)

(1)燈光系統(tǒng)

由于Unity3D無法識(shí)別3ds Max的燈光,所以需要在Unity3D建立燈光系統(tǒng)。本設(shè)計(jì)的燈光只用到“點(diǎn)光源”,使用這種光源,是為了模仿火光。

在網(wǎng)格層次面板選擇“創(chuàng)建”按鈕,創(chuàng)建一個(gè)點(diǎn)光源,將其重命名為“firelight”,在firelight的檢視面板里修改相關(guān)屬性。將firelight的“范圍”屬性設(shè)為15,“強(qiáng)度”屬性設(shè)為6,顏色調(diào)整為與火光相同的顏色。

(2)動(dòng)畫

游戲中有門自動(dòng)打開的動(dòng)畫。選擇工具欄的“窗口”選項(xiàng)中的“動(dòng)畫”,在彈出的對(duì)話框中,點(diǎn)擊紅色按鈕開始創(chuàng)建動(dòng)畫,并先將要?jiǎng)?chuàng)建的動(dòng)畫進(jìn)行保存。在0:00的位置添加關(guān)鍵幀,將時(shí)間軸移動(dòng)到2:00的位置,將游戲場(chǎng)景中的門向下拉,并添加關(guān)鍵幀。這樣一個(gè)門的開門動(dòng)畫就做好了。按照以上做法,給每個(gè)門創(chuàng)建開門動(dòng)畫。

(3)特效

本設(shè)計(jì)的特效是“火”,該特效是用粒子系統(tǒng)制作而成的。在網(wǎng)格層次面板選擇“創(chuàng)建”按鈕,創(chuàng)建一個(gè)粒子系統(tǒng),將其重命名為“fire”。在fire的檢視面板里修改相關(guān)屬性。粒子系統(tǒng)相關(guān)屬性修改完后,就要為火焰貼上材質(zhì),使其更加真實(shí)。在工程面板里創(chuàng)建一個(gè)材質(zhì),將其命名為“firepicture”。在其檢視面板里將“渲染”設(shè)置為“FX”,這樣當(dāng)把火焰的貼圖賦給“fire”時(shí),可以去掉貼圖黑色的部分。然后把“firepicture”賦給粒子動(dòng)畫,這樣本設(shè)計(jì)的特效就制作完成了。

(4)人機(jī)交互

本設(shè)計(jì)使用的是Unity3D自帶的人物,點(diǎn)擊工具欄的“資源”選項(xiàng),選擇導(dǎo)入“Character Controller”,就完成了游戲人物的導(dǎo)入。將導(dǎo)入的人物拖入到游戲場(chǎng)景里,就可以用W、S、A、D控制人物上下左右移動(dòng)。

(5)音樂

系統(tǒng)需添加三種聲效。 首先需要為整個(gè)游戲添加背景音樂,選擇主相機(jī),在工具欄上點(diǎn)擊“組件”選項(xiàng),在“Audio”選項(xiàng)下面選擇“Audio Source”選項(xiàng),將導(dǎo)入的背景音樂拖給主相機(jī),在檢視面板里點(diǎn)擊“循環(huán)”選項(xiàng),這樣背景音樂就會(huì)循環(huán)播放,第一種聲效添加完畢。其次,為了營(yíng)造緊張的氛圍,需要給游戲人物添加心跳聲,與添加背景音樂的方法一樣,操作完畢之后,在游戲里就可以聽到人物的心跳聲。最后,需要為門添加開門聲,但這個(gè)需要用代碼實(shí)現(xiàn)。按照前面的方法添加完音效后,需要給門添加如下代碼:

If(doorIsOpen==true)

{Door.audio.PlayOneShot(doorOpenSound);}

這樣,所有的音效就全部添加完成了。

(6)碰撞與觸發(fā)

為了避免人物穿墻而過等非自然現(xiàn)象的出現(xiàn),需要給游戲添加碰撞。為了讓人接近門的時(shí)候可以自動(dòng)彈出概率題目,需要添加觸發(fā)器。

①人與建筑物的碰撞

點(diǎn)擊游戲場(chǎng)景的墻體,點(diǎn)擊工具欄的“組件”按鈕,選擇“物理”面板下的Mesh碰撞器。這樣游戲人物就可以站在游戲場(chǎng)景里,而不會(huì)掉下去。

②人與門的碰撞

同給墻體添加碰撞體的步驟一樣,給門添加一Box碰撞器,使人物避免穿過門到達(dá)另一個(gè)密室。

③人與火盆的碰撞

給火盆添加Box碰撞器,步驟同上,使人物避免穿過火盆架。

④觸發(fā)器

為了實(shí)現(xiàn)人走近門時(shí)自動(dòng)彈出題目,需要在門的前面放一個(gè)空物體,給空物體添加Box碰撞,在空物體的檢視面板里將“IS Trigger”打上對(duì)勾。彈出題目的相關(guān)代碼如下:

function OnGUI()

{if(WindowSwitch==true)

{GUI.skin=im;

GUI.BeginGroup(menuAreaNormalized);

windowRect=GUI.Window(0, windowRect,WindowContain,“題目”);

GUI.EndGroup();}}

function WindowContain(windowID:int)

{ GUI.Label(Rect(0,30,300,300),“5本書分給甲乙丙三個(gè)人,按一個(gè)人一本,另兩個(gè)人各兩本,有多少種不同的分法。”);

If(GUI.Button(Rect(0,180,80,60),“120”))

{WindowSwitch=false;Destroy(this.gameObject);}

If(GUI.Button(Rect(220,180,80,60),“30”))

{WindowSwitch=false;Destroy(this.gameObject);}

If(GUI.Button(Rect(0,240,80,60),“90”))

{box3.flag2=1;Destroy(this.gameObject);}

If(GUI.Button(Rect(220,240,80,60),“60”))

{WindowSwitch=false;Destroy(this.gameObject);}

GUI.DragWindow();

}

四、游戲的優(yōu)化與發(fā)布

1.游戲優(yōu)化

游戲場(chǎng)景中含有大量的點(diǎn)燈光,會(huì)對(duì)游戲的性能產(chǎn)生較大的影響。使用光照貼圖技術(shù),將光線效果渲染成貼圖可以節(jié)約大量的電腦資源[4]。方法為:點(diǎn)擊工具欄的“窗體”按鈕,選擇“光照貼圖”選項(xiàng),點(diǎn)擊“烘焙”對(duì)當(dāng)前游戲場(chǎng)景進(jìn)行烘焙。

2.發(fā)布

在工具欄的“編輯”面板下,選擇“工程設(shè)置”面板下的“玩家”選項(xiàng),對(duì)游戲的圖標(biāo)和名稱進(jìn)行設(shè)置。點(diǎn)擊“文件”面板下的“工程設(shè)置”選項(xiàng),從工程面板里將游戲的幾個(gè)場(chǎng)景文件拖入到“工程設(shè)置”的窗口里。點(diǎn)擊“建立”按鈕,就會(huì)生成一個(gè)可執(zhí)行文件,這樣就完成了游戲的發(fā)布。游戲勝利時(shí)的場(chǎng)景如圖7所示,答題時(shí)的場(chǎng)景如圖8所示。

五、結(jié)束語

文章設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)中學(xué)數(shù)學(xué)概率的教育游戲,幫助學(xué)生在娛樂中進(jìn)行學(xué)習(xí),讓學(xué)生輕松學(xué)習(xí)、愛上學(xué)習(xí)、快樂學(xué)習(xí)。系統(tǒng)基本實(shí)現(xiàn)了需求分析中的要求,但由于時(shí)間倉促,系統(tǒng)的功能還可以在后續(xù)研究中進(jìn)一步完善,如:可以在游戲中添加一些障礙物或機(jī)關(guān),以增加游戲的趣味性;可以在游戲場(chǎng)景進(jìn)行切換時(shí)添加一些過度動(dòng)畫,使游戲更加美觀。

參考文獻(xiàn):

[1]馮威.數(shù)學(xué)游戲與高中數(shù)學(xué)教育研究[D].大連:遼寧師范大學(xué),2012.

[2]王倩,趙玉清.教育游戲在小學(xué)數(shù)學(xué)教學(xué)中的應(yīng)用探析[J].軟件導(dǎo)刊,2013,12(3):3-8.

[3]Li Wang. Researching of the three-dimensional virtual simulation campus scenes construction technology[J].The Open Cybernetics & Systemic Journal,2015(Volume9):1056-1057.

[4]Li Wang.Construction of the three-dimensional virtual campus scenes Problems and Solutions[J].The Open Cybernetics & Systemic Journal,2015(Volume9):1132-1133.

[5]宣雨松.Unity3D游戲開發(fā)[M].北京:人民郵電出版社,2012:91-13.

[6]謝亮.數(shù)學(xué)教育游戲與數(shù)學(xué)教學(xué)[D].廣州:廣州大學(xué),2008.

(編輯:魯利瑞)

猜你喜歡
游戲
做游戲
夜間游戲
游戲
送信游戲
數(shù)獨(dú)游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
第八章 直接逃出游戲
游戲五計(jì)算
主站蜘蛛池模板: 精品久久久久久中文字幕女| 亚洲国产一区在线观看| 色综合中文字幕| 性激烈欧美三级在线播放| 国产精品成人久久| 韩日免费小视频| 国产主播福利在线观看| 国产成人高清精品免费5388| 国产成人精品优优av| 青草国产在线视频| 亚洲婷婷六月| 美女被躁出白浆视频播放| 国产va在线观看免费| 欧美高清日韩| 日韩专区欧美| 四虎影视8848永久精品| 国产乱子伦视频在线播放| 国产一区二区三区在线精品专区| 青青草91视频| 亚洲美女久久| 精品一區二區久久久久久久網站 | 91麻豆精品视频| 天天综合网站| 久久永久免费人妻精品| 日本高清有码人妻| 亚洲无码在线午夜电影| 波多野结衣一区二区三区四区| 亚洲欧美另类色图| 免费A级毛片无码无遮挡| 久久精品女人天堂aaa| 国产精品自在自线免费观看| 久久夜色精品国产嚕嚕亚洲av| 香蕉久人久人青草青草| 免费精品一区二区h| 国产精品一区不卡| 超级碰免费视频91| 亚洲欧美日韩中文字幕在线| 美女无遮挡拍拍拍免费视频| 亚洲三级网站| 精品视频一区二区观看| 视频一本大道香蕉久在线播放 | 欧美a在线视频| 丰满人妻中出白浆| 一区二区在线视频免费观看| 亚洲日本在线免费观看| 久久黄色小视频| 99久久精品国产自免费| 亚洲人成影院在线观看| 亚洲首页在线观看| 日韩在线2020专区| 亚洲大尺码专区影院| 成人福利在线观看| 国产午夜精品一区二区三| 亚洲精品成人片在线观看 | 免费又爽又刺激高潮网址 | 在线观看av永久| 999国产精品| 亚洲精品免费网站| 亚洲精品波多野结衣| 国产91麻豆免费观看| 青青青草国产| 国产精品女人呻吟在线观看| 伊人五月丁香综合AⅤ| 国产黄色免费看| 国产经典三级在线| 亚洲成aⅴ人片在线影院八| 亚洲精品在线91| 波多野结衣中文字幕一区| 无码网站免费观看| 超级碰免费视频91| 亚洲AⅤ永久无码精品毛片| 全色黄大色大片免费久久老太| 人人91人人澡人人妻人人爽| 国产精品99久久久久久董美香| 91区国产福利在线观看午夜| 九九久久精品国产av片囯产区| 2022国产无码在线| 欧美午夜理伦三级在线观看| 色悠久久综合| 国产av一码二码三码无码| 亚洲AV一二三区无码AV蜜桃| 毛片网站在线播放|