unity3d游戲課程設(shè)計(jì)報告_第1頁
unity3d游戲課程設(shè)計(jì)報告_第2頁
unity3d游戲課程設(shè)計(jì)報告_第3頁
unity3d游戲課程設(shè)計(jì)報告_第4頁
unity3d游戲課程設(shè)計(jì)報告_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 游戲程序設(shè)計(jì)課程報告課程:Unity3D課程設(shè)計(jì)題目:探索迷宮班級:學(xué)號:姓名:日期:2014.12、摘要UNITY游戲是一種新型的IT引擎。我們研究主要內(nèi)容是UNITY游戲設(shè)計(jì)方法。指以游戲客戶端軟件為信息交互窗口的旨在實(shí)現(xiàn)娛樂、休閑、交流和取得虛擬成就的具有可持續(xù)性的個體性單人游戲。本報告主要講述了這個小游戲的設(shè)計(jì)思路及初步使用Unity3D軟件的感受和總結(jié)。設(shè)計(jì)過程中,首先建立自己想要的模型,然后在此基礎(chǔ)上進(jìn)行需求迭代,詳細(xì)設(shè)計(jì)時不斷地修正和完善,經(jīng)過測試階段反復(fù)調(diào)試和驗(yàn)證,最終形成達(dá)到設(shè)計(jì)要求的小游戲?;赨NITY基礎(chǔ),構(gòu)建了一個益智游戲風(fēng)格的游戲,并有主角與關(guān)卡、游戲邏輯、游戲環(huán)

2、境界面等設(shè)計(jì),使得玩家可以在場景中進(jìn)行尋找神龕的冒險游戲。本游戲的控制很簡單,及用鍵盤的WASD及SPACE五個控制人物的上下左右跳躍五個方向,用戶根據(jù)自己的戰(zhàn)略方式選擇尋找油桶點(diǎn)亮煤油燈然后尋找神龕。二、概述UNITY游戲程序設(shè)計(jì)這一課程以大作業(yè)形式進(jìn)行考核,能更好地鍛煉學(xué)生綜合運(yùn)用本課程所授知識的能力。大作業(yè)主要內(nèi)容為設(shè)計(jì)完成面向某一主題內(nèi)容的游戲演示程序。自選游戲主題,并根據(jù)所選定的主題內(nèi)容設(shè)計(jì)一個典型的游戲場景及玩家邏輯,其中包含主角與關(guān)卡,游戲邏輯,游戲環(huán)境界面與交互過程等的設(shè)計(jì);開發(fā)完成與設(shè)計(jì)相符的游戲Demo。要求使用Unity3D游戲開發(fā)軟件實(shí)現(xiàn)上述游戲Demo。三、具體要求1

3、、每人單獨(dú)完成,特殊可由多人合作完成。2、游戲主題自擬。3、根據(jù)所設(shè)游戲主題、場景及玩家邏輯,實(shí)現(xiàn)完成相應(yīng)的游戲Demo,并撰寫設(shè)計(jì)開發(fā)報告。四、設(shè)計(jì)主題基于視頻教程“平衡球”的基礎(chǔ),構(gòu)建了一個益智游戲風(fēng)格的游戲,并有主角與關(guān)卡(一關(guān))、游戲邏輯(觸碰油桶、神龕)、游戲環(huán)境界面(通道)等設(shè)計(jì),使得玩家可以在場景軌道中進(jìn)行吃油桶、神龕的冒險游戲。五、設(shè)計(jì)思路本游戲以幾個環(huán)環(huán)相扣的通道作為人物運(yùn)動的軌跡,在通道上分別設(shè)計(jì)一些油桶,通過電腦上的WASDSPACE分別控制人物的運(yùn)動方向;如果人物運(yùn)動位置沒有偏離所設(shè)計(jì)通道平面而且碰觸到油桶,即算初步成功,當(dāng)人物吃掉所設(shè)計(jì)的油桶,油燈就會點(diǎn)亮。當(dāng)人物找到

4、并吃掉所設(shè)計(jì)的神龕,就會通過關(guān)卡。本報告主要講述了這個小游戲的設(shè)計(jì)思路及初步使用Unity3D軟件的感受和總結(jié)。設(shè)計(jì)過程中,首先建立自己想要的模型,然后在此基礎(chǔ)上進(jìn)行需求迭代,詳細(xì)設(shè)計(jì)時不斷地修正和完善,經(jīng)過測試階段反復(fù)調(diào)試和驗(yàn)證,最終形成達(dá)到設(shè)計(jì)要求的小游戲。六、具體構(gòu)建步驟1、場景素材的添加,通過3DMAX建模完成素材的創(chuàng)建fKB&am.FBXBoulder.FBX爲(wèi)Eoulder_01,FEX巖Lantern.FEX皚Lsnte-rnFuel.FEX最Light.fbx2、在UNITY3D中完成素材的組裝3、為場景貼圖。貼圖時,根據(jù)道具的風(fēng)格,選擇地面與墻的BSP貼圖,每次貼圖選擇一個平

5、面的一個面。BoulderBoulder01dalihiMaterial.HeNameqiang2_Ma.4、創(chuàng)建預(yù)組件Plateri-alsHoldooundTEXTURE二scense&scriptStandardAs5、將創(chuàng)建并且組裝的模型添加到預(yù)組件中,并且通過復(fù)制完成整個游戲場景的拼接TCJ_En7irQnmentKPFB_QNEPFB_QNE1kPFB_toPFB_tln-eePFB_QNEkPFB_to2PFB_QNEPFB_QNEPFB_thireePFB_DNEPFB_DNEkPFB_twoPFB_DNEPFB_DNEPFB_ONEPFB_ONEPFB_0NEPF&_QNE卜

6、PFB_tTQ6、導(dǎo)入UNITY的人物控制組件TtjStandardAssets=CharacterCcntrollers7、在場景中添加細(xì)節(jié)七、程序腳本1、游戲開始觸發(fā)器程序(main):usingUnityEngine;usingSystem.Collections;publicclassmain:MonoBehaviourpublicRectwindowRect二newRect(20,20,120,50);/UsethisforinitializationvoidStart()/UpdateiscalledonceperframevoidUpdate()void0nGUI()window

7、Rect二GUILayout.Window(0,windowRect,DoMyWindow,FindShrine);voidDoMyWindow(intwindowID)if(GUILayout.Button(GameStart)Application.LoadLevel(testgame_02);print(Gotaclick);2、人物所觸發(fā)的事件:usingUnityEngine;usingSystem.Collections;publicclassinventory:MonoBehaviourintfuelAmount=0;publicclassinventory:MonoBehavi

8、ourintfuelAmount=0;publicpublicpublicpublicpublicpublicpublicpublicpublicpublicAudioClipfuelcollectedsound;Texture2DhudFuelAmount;GUITexturefuelAmountHUDGUI;Lightfloatfloatfloatfloatlanternlight;origfueltimer=30.0f;fueltimer=0.0f;origfuelGUItimer=30.0f;fuelGUItimer=0.0f;intmaxfuelAmount;/publicRectw

9、indowRect=newRect(20,20,120,50);/UsethisforinitializationvoidStart()fuelAmount=0;lanternlight=GameObject.Find(Lantern).GetComponent();maxfuelAmount=hudFuelAmount.Length;/UpdateiscalledonceperframevoidUpdate()if(fueltimer0)ififfueltimer-=ifif(fueltimer0.0f&fuelAmount0)fuelGUItimer-=Time.deltaTime;if(

10、fuelGUItimer0.0f)removeGUIfuel();voidFuelPickUp()if(fuelAmount0)fuelAmount-;fuelAmountHUDGUI.texture=hudFuelAmountfuelAmount;fuelGUItimer=origfuelGUItimer;3、油燈被觸發(fā)時的事件:usingUnityEngine;usingSystem.Collections;publicclassLanternFuel:MonoBehaviour/UsethisforinitializationvoidStart()/Updateiscalledoncep

11、erframevoidUpdate()voidOnTriggerEnter(Colliderplayer)player.gameObject.SendMessage(FuelPickUp);Destroy(this.gameObject);4、游戲開始時隨機(jī)出現(xiàn)人物與神龕的位置:usingUnityEngine;usingSystem.Collections;publicclassgamestate:MonoBehaviourprivateGameObjectplayer;privateplayerspawncontrollerplayerspawnCTRL;privateGameObject

12、randPlayerSpawn;privateGameObjectShrine;privateShrinespawnshrinespawnCTRL;privateGameObjectrandShrinespawn;voidAwake()player=GameObject.FindWithTag(Player);playerspawnCTRL=GameObject.FindGameObjectWithTag(PlayerSpawnCTRL).GetComponent();Shrine=GameObject.FindWithTag(Shrine);shrinespawnCTRL=GameObjec

13、t.FindGameObjectWithTag(shrinespawnCTRL).GetComponent();/UsethisforinitializationvoidStart()intrandNum=0;intrandNum1=0;randPlayerSpawn=playerspawnCTRL.GetRandomPlayerSpawn(randNum);SpawnPlayer();randShrinespawn=shrinespawnCTRL.GetRandomshrineSpawn(randNum1);Spawnshrine();/Updateiscalledonceperframev

14、oidUpdate()voidSpawnPlayer()player.transform.position=randPlayerSpawn.transform.position;Debug.Log(你出生在+randPlayerS);voidSpawnshrine()Shrine.transform.position=randShrinespawn.transform.position;Debug.Log(神龕出生在+randS);5、接觸到油桶后油桶會消失usingUnityEngine;usingSystem.Collections;publ

15、icclassLanternFuel:MonoBehaviour/UsethisforinitializationvoidStart()/UpdateiscalledonceperframevoidUpdate()voidOnTriggerEnter(Colliderplayer)player.gameObject.SendMessage(FuelPickUp);Destroy(this.gameObject);八、游戲規(guī)則游戲規(guī)則模塊也是本文的一個重點(diǎn)部分,需要實(shí)現(xiàn)人物接觸油桶游戲的基本規(guī)則,因此,首先要解決的問題是觸發(fā)問題,根據(jù)通道的大小制定油桶的地點(diǎn),然后要解決的問題是人物與油桶的接觸過

16、程,保證人物接觸油桶后油桶消失;如果能尋找到神龕,則游戲勝利。九、用戶控制本游戲的控制很簡單,及用鍵盤的WASD四個箭頭控制人物的運(yùn)動,用戶根據(jù)自己的戰(zhàn)略方式選擇人物能吃到油桶的最佳捷徑,從而一步步尋找神龕。十、運(yùn)行結(jié)果心得體會在學(xué)習(xí)并實(shí)踐的過程中,可能在腳本游戲的代碼編寫上還是出現(xiàn)最多問題的,有的時候就是照搬書本上的代碼,也會出錯,不僅僅是粗心,也是我對于代碼并不熟悉導(dǎo)致的,在一遍遍的修改中,我對代碼的編寫也更加熟練,相比較之前的生疏,現(xiàn)在算是比較得心應(yīng)手了。此外,比較困擾我的就是攝像機(jī)位置的各方面調(diào)整,有的時候很難調(diào)整到想要的角度,最后只能將就,這點(diǎn)讓我很是糾結(jié)。對于這種情況,我試著各種方法達(dá)到理想效果,如果說我改變不了攝像機(jī),那我只能改變我設(shè)置的場景、對象的位置了,雖然這樣的方法比較笨,而且可能會比

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論