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

基于Unity3D的小學科學教育游戲的設計與開發

2021-01-28 03:35:42周雪薇
微型電腦應用 2021年1期
關鍵詞:游戲模型設計

周雪薇

(東北石油大學 計算機與信息技術學院, 黑龍江 大慶 163318)

0 引言

目前國內外對于教育游戲的探索達到了一個蓬勃發展階段,國外對于教育游戲的研究可以說是捷足先登,起步早,自然也相對成熟,比如加拿大的Inlight Entertainment公司以其成熟的設計技術和游戲內容,以及多樣性的游戲類型深受學校、教育機構等的歡迎,目前可以用于數學、英語等多門學科[1]。近年來,國內的教育游戲研究也取得了一定的成效,在市場上陸續出現一些優秀的教育游戲作品。2004年,珠海奧卓爾軟件公司、華南師大未來教育研究中心等機構合作組建了國內第一個以搭建游戲化教學平臺為己任的研究團隊,并在桑新民教授的指導下開發了一款名叫“奧卓爾游戲化學習世界”的教育游戲[2],該游戲能夠將知識與游戲進行完美的融合中,讓學生在玩中學,學中玩,充分吸引學生的興趣,提高學習效果等。雖然在國內外目前有不少公司和研究機構開發了應用在中小學課程的教育游戲,但是基本上都是針對語文、數學、英語、物理、化學等傳統學科,在小學科學學科方面的教育游戲,是少之又少。

本文基于Unity3D與3DS Max,設計開發出一款小學科學教育游戲《科學探險》,通過創建虛擬情景,加入游戲化互動元素,將小學科學與教育游戲緊密結合,旨在借助教育游戲的特點,幫助學生在游戲中學習科學知識,同時提升學生的科學素養和解決實際問題的能力,更好地促進學生的學習與發展。

1 總體設計

1.1 系統設計思路

教育游戲的設計是教育游戲開發的前提,良好的教育游戲設計對于整個開發過程是至關重要的[3]。本游戲所開發的基于Unity3D的教育游戲——科學探險是一款小學科學游戲,也是一款角色扮演類探險游戲。通過查閱資料和素材,對小學科學六年級課本知識進行深入了解,結合教育游戲設計的一般模式。首先進行開發前的教學分析,分別是學習者分析、需求分析、教學內容和目標分析,然后進行游戲的設計,分別是游戲故事設計、人物角色設計、游戲任務設計、游戲腳本設計、游戲界面設計和游戲交互設計,然后進行具體功能設計,接下來就可以進行游戲的開發,分別是開發工具的選擇、游戲場景開發和游戲模型開發,最后是測試與發布,開發模式,如圖1所示。

圖1 教育游戲開發模式

結合教育游戲的特點和小學科學課的教學目標與內容對游戲的總體設計進行分析,本文鑒于教育游戲的可實現性,選擇3個知識點內容進行設計開發,分別是動植物分類、工具與機械和垃圾分類。

1.2 系統開發框架

(1) 框架搭建

本教育游戲系統支持PC端,手機與平板電腦等多種終端使用。具體框架圖,如圖2所示。

圖2 系統架構圖

該框架最下層的是文檔、視頻等作為數據層。在邏輯層,通過Unity3D引擎編寫邏輯控制,集成為數據管理系統、物理模擬系統、音效系統、背包系統和測試系統。管理系統之上的是游戲的任務模塊:工具與機械模塊、動植物分類模塊和垃圾分類模塊作為顯示層。

本教育游戲的關卡流程,如圖3所示。

圖3 關卡流程圖

玩家進入游戲后,閱讀操作說明后,可以任選“開心農場”、“機械謎題”、“綠色守護者”3個關卡其中一個場景作為游戲的開始,進入到相應的場景,并最終會經歷所有環節,完成3個關卡中所有任務后,進入“最后的試煉”關卡,通過選擇題的形式,測試玩家對于前3個關卡相應知識點的掌握情況,最后闖關成功。

(2) 場景模型建模

按照編寫的游戲腳本,將場景中所需要的模型,如關卡中所需要的房間、管鉗、羊角錘、螺絲刀和箱子等相關模型進行建模。建模工具所用軟件為3DS Max。游戲中所需要的模型的制作主要分為3個方面。

① 利用標準的基本幾何體組合制作簡單的模型,如木板、房間等;

② 需要幾何體組合和變形,改變幾何體相應的結合點進行基礎建模,像是羊角錘、螺絲刀等;

③ 模型進行貼圖建模,物體的模型不要求特別逼真,像是電視機,木箱子。模型材質的處理主要有直接對模型添加相應的顏色和采用PS處理相應的圖片進行貼圖。

在建模過程中,模型優化將直接影響游戲的運行效率與渲染負擔。常用的優化方法減少布爾操作、避免三角面建模與四邊面建模混用、刪除多余面片、修正布線以及模型附加等。通過優化,將明顯提高模型的渲染速度[4]。具體建模流程,如圖4所示。

圖4 建模流程圖

(3) 模型導入與場景搭建

將3DS Max軟件中導出的FBX格式模型導入Unity3D的Asset文件夾下,Unity3D會自動識別模型、材質等[5],在Unity3D中添加地面以及天空盒子,在地面添加數木、草地等物體,從而營造出較為真實的虛擬環境,增強學習者的投入度,利于知識和技能遷移。

2 關鍵技術

2.1 角色控制實現

游戲設計并實現兩種性別的虛擬角色,可供玩家選擇,角色選擇通過預先設計好男女角色的預設體,兩個角色放在同一個場景的相同位置上,當游戲開始時,鼠標點擊選擇角色按鈕后,通過“bprefab.SetActive(false)和gprefab.SetActive(true)”方法顯示選定角色,未選用角色執行 destroy 方法進行銷毀。整個游戲采用第三人稱視角運行按鍵WSAD控制主角的移動,按住鼠標右鍵進行視角轉換。

(1) 主角移動

在第一人稱虛擬角色上新建腳本role作為控制人物移動腳本,在inspector界面設置一個移動速度speed,作為人物的移動速度。利用函數GetKey()監聽鍵盤輸入,若鍵盤按下WASD四個按鍵時,則觸發語句,利用transform.Transform方法(三維方向向量*系統增量時間*移動速度),就能使得第一人稱人物按規定方向進行移動,從而完成第一人稱人物的移動控制[6]。

(2) 視角轉換

在每個場景中都能通過鼠標和鍵盤對視角范圍及遠近進行縮放控制,與角色移動同理,要實現旋轉視角的效果,就要通過腳本代碼來實現,編寫好腳本后將其賦予相機。其中通過鼠標右鍵控制視角方向,鼠標滾輪控制鏡頭的遠近,對視角角色與調節速度進行設置,調節合適的大小。控制相機速度和視角的實現方法如下。

xRotation+=Input.GetAxis(“Mouse X”)*rotSpeed*Time.deltaTime;

yRotation-=Input.GetAxis(“Mouse Y”)*rotSpeed*Time.deltaTime;

xRotation=ClampAngle(xRotation,xMinLimit,xMaxLimit);

yRotation=ClampAngle(yRotation,yMinLimit,yMaxLimit);

2.2 背包系統功能

背包系統是GUI的重要組成部分,游戲界面設計利用UGUI設計實現[7]。背包系統會根據預先設計中需要拾取的物體在背包系統中的窗體方格中添加金幣、羊角錘、螺絲刀、鑰匙等相關工具。當物品道具出現時,通過物體的tag標簽對背包內物品進行檢測。若背包中存在相同道具時,則將物品數量的下標加1;若不存在,則按窗格順序自動放置物品,如圖5所示。

圖5 “背包系統”功能展示

背包系統中主要實現的是3個效果,分別是背包的顯示與隱藏功能、物品的拾取與存儲功能和鼠標繪制物品功能。

(1) 背包設計

首先針對背包內的道具物品聲明一個工具類,包括工具ID,工具名稱,工具個數等。通過UGUI在Canvas下,添加按鈕完成背包界面的搭建,每個按鈕的名稱與物體相對應。

public class ItemEntity {

private string objId;//工具ID

private string objName;//工具名稱

private int count;//工具數量

private int level;//工具層級

private bool isCanAdd;//工具是否可添加

private int maxAdd;//工具最多可添加數

}

(2) 拾取與顯示功能

拾取功能設計為當游戲人物觸碰物體,點擊物體,物體消失,同時物體對應的圖片顯示在背包的按鈕上。首先,先聲明一個數組List,對物體進行存儲,在點擊場景中物體時,攝像機發出射線,若射線與道具物體進行碰撞,則銷毀該物體,并將該物體加入泛型List中。之后調用Show()方法,遍歷List中的所有物體,通過List中物體的名稱作為查詢條件,利用Resource.Load()進行動態加載,顯示在上述的按鈕的Source Image上。

(3) 背包中道具的使用

對每一個按鈕綁定監聽,若點擊按鈕,則會根據按鈕的名稱找到對應的道具圖片,將該圖片繪制在鼠標位置上。首先每幀獲取鼠標位置,然后通過GUI.DrawTexture完成繪制。

Rect rect = new Rect(mousePos.x, Screen.height - mousePos.y, 200, 200);

GUI.DrawTexture(rect, sp);

點擊之后的效果,如圖6所示。

圖6 使用工具效果圖

2.3 答題功能

本功能作為游戲的最后一關,測試玩家通過游戲之后對于知識的掌握情況。設計為主角與怪獸進行知識比賽,由玩家方進行答題。雙方設有血條,如圖7所示。

圖7 答題界面

上面是雙方血條,代表當前的血量狀況,題目內容根據前幾關的學習的知識進行提問。如果玩家方答對,則怪物掉血,相反,若玩家方答錯,則主角掉血,若怪物當前血量為0,那么主角通過最后一關,也證明通過考試,掌握了相關技能與知識;若主角的當前血量為0,那么通關失敗,則進行重新答題或重新學習。

(1) 試題的存儲與讀取

游戲中設計的題型是選擇題,試題信息存儲在XML文件根節點list下的子節點item中,每個item結構包括:tmxh(題目序號)、xa(選項A內容)、xb(選項B內容)、xc(選項C內容)、zqda(正確答案)和stnum(試題數目)。首先對XML試題文件進行解析,操作步驟如下。

a.利用XmlDocument解析并且加載XML試題文件的內容;

b.獲取list節點下的所有item中的試題信息;

c.構造結構體并聲明結構體數組存放試題信息;

d.將獲取的試題信息加載到試題的結構體數組,實現對試題的解析。

此外,從XML中解析出的試題會打亂順序,使用隨機函數r=Random.Range(i,num.Length),可實現每次出現的題目順序不同。

(2) 題目顯示與點擊選項實現

在解析xml文件之后,獲得對應的試題內容、試題選項和正確答案。在OnGUI函數中,通過GUI.Label()函數實現在特定位置顯示試題內容,通過 if (GUI .Button ()) 判定選擇的選項,并與正確答案進行比對,正確則獲得相應分數,錯誤則不得分。

(3) 血量的顯示與計算

通過UI的slider實現血條,設計變量human_currHP表示當前血量,human_MaxHP表示最大血量,二者相除所得的值為slider的值。

slicder_human.value = human_currHP / (float)human_MaxHP;

設置主角 human_currHP和怪獸的最大血量mon_currHP為50以及每道題的傷害值為10,如果答錯問題,當前生命值-10,若在update()函數檢測到人物的當前血量為0,則闖關失敗;若怪獸的血量為0,那么闖關成功。

3 總結

本文借助Unity3D引擎,以小學科學課內容為背景設計一款教育游戲。首先介紹國內外教育游戲的研究現狀。其次是對游戲進行總體設計包括確定教育游戲的開發模式,系統開發框架以及關卡流程圖。最后是對系統的功能進行開發。將小學科學與教育游戲的靈活性與趣味性進行了很好的融合,為游戲化學習和教育游戲的開發和設計提供一種思路。本系統能夠使學習者在虛擬化的環境中發揮學習主體作用、充滿體驗的樂趣和探索精神[8],并彌補了實驗器材不足所帶來的缺陷等問題。但本系統仍然存在一些不足之處,如交互功能的設計上以及游戲界面的美觀上還需要進一步改進,這就需要后續完善。

猜你喜歡
游戲模型設計
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
3D打印中的模型分割與打包
爆笑游戲
主站蜘蛛池模板: 精品一区二区三区水蜜桃| 欧美午夜小视频| 综合色在线| 午夜在线不卡| 亚洲AV无码精品无码久久蜜桃| 国产综合色在线视频播放线视 | 国产一区三区二区中文在线| 天天色综网| 亚洲福利视频一区二区| 国产精品久久久久鬼色| 国产你懂得| 18禁色诱爆乳网站| 91精品国产自产在线观看| 亚洲精品你懂的| 国产成人亚洲无吗淙合青草| 亚洲成AV人手机在线观看网站| 欧美国产菊爆免费观看| 制服丝袜 91视频| 9啪在线视频| 毛片网站在线看| 国产亚洲精品无码专| 精品国产电影久久九九| 亚洲精品少妇熟女| 1024国产在线| 在线视频亚洲欧美| 麻豆精品在线播放| 欧美人与动牲交a欧美精品| 91成人免费观看| 99精品欧美一区| 国产99视频免费精品是看6| 天天综合色天天综合网| 国产成人精品日本亚洲77美色| 国产成人精品一区二区不卡| 最新日韩AV网址在线观看| 国产丰满大乳无码免费播放| 黄色三级网站免费| 亚洲欧美不卡| 另类欧美日韩| 亚洲午夜久久久精品电影院| 亚洲精品日产精品乱码不卡| 成人av专区精品无码国产| 中文字幕无码制服中字| 一区二区在线视频免费观看| 久久这里只有精品66| 毛片视频网址| 亚洲国产av无码综合原创国产| 色婷婷色丁香| 日本免费新一区视频| 国产一区自拍视频| 91亚洲精选| 国产精品蜜芽在线观看| 婷婷六月在线| 毛片最新网址| 国产成人精品日本亚洲| 日韩国产高清无码| 久久久久国产一级毛片高清板| 欧美一级黄色影院| 亚洲精品男人天堂| 激情无码视频在线看| 国产精鲁鲁网在线视频| 国产男女免费视频| 国产精品人人做人人爽人人添| 欧美性猛交一区二区三区| 国产激情在线视频| 日韩在线视频网| 中文字幕2区| 国产99视频免费精品是看6| 国产精品视频猛进猛出| 免费国产一级 片内射老| 2019国产在线| 欧美区一区| 国产69囗曝护士吞精在线视频| 人人看人人鲁狠狠高清| 国产在线视频导航| 97国产精品视频人人做人人爱| 国产精品大白天新婚身材| 国产精品亚欧美一区二区三区| 97精品伊人久久大香线蕉| 日韩午夜伦| 99热这里只有精品免费国产| 色婷婷成人| 天堂成人在线|