基于Unity3D的關(guān)卡觸發(fā)器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2017-07-02 15:20
本文關(guān)鍵詞:基于Unity3D的關(guān)卡觸發(fā)器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),由筆耕文化傳播整理發(fā)布。
【摘要】:在游戲開發(fā)過程中,關(guān)卡設(shè)計(jì)是一個(gè)非常重要的部分,而與關(guān)卡設(shè)計(jì)密切相關(guān)的就是關(guān)卡觸發(fā)器系統(tǒng),使用關(guān)卡觸發(fā)器系統(tǒng)在游戲中可以觸發(fā)各種各樣的響應(yīng)事件,增強(qiáng)游戲的可玩性和趣味性,同時(shí)隨著游戲內(nèi)容和功能的不斷增加,游戲的交互越來越多,游戲中會出現(xiàn)大量需要處理的響應(yīng)事件。根據(jù)關(guān)卡設(shè)計(jì)師對系統(tǒng)的易用性和可擴(kuò)展性需求,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)可擴(kuò)展的關(guān)卡觸發(fā)器系統(tǒng)。本系統(tǒng)是基于Unity游戲引擎進(jìn)行開發(fā)的,在Unity中游戲開發(fā)者使用了實(shí)體組件系統(tǒng)的方式來進(jìn)行開發(fā),大大降低了各個(gè)功能模塊之間的耦合,此外為了集中化處理關(guān)卡中的事件,降低事件與對象之間的耦合關(guān)系,本文基于觀察者模式、委托設(shè)計(jì)了一個(gè)具有優(yōu)先級的事件管理器,可以靈活的處理游戲中的各種事件。結(jié)合通用觸發(fā)器的設(shè)計(jì)思想,本文將關(guān)卡觸發(fā)器系統(tǒng)分為觸發(fā)器模塊、觸發(fā)條件模塊、響應(yīng)事件模塊來進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),觸發(fā)器模塊本文設(shè)計(jì)了兩種不同的觸發(fā)器類型來滿足關(guān)卡設(shè)計(jì)的需求,利用Unity物理系統(tǒng)的碰撞檢測組件來進(jìn)行觸發(fā)檢測,觸發(fā)條件模塊本文主要是根據(jù)關(guān)卡設(shè)計(jì)師的需求來進(jìn)行設(shè)計(jì),使用了布爾邏輯來進(jìn)行組合以提高系統(tǒng)的可擴(kuò)展性,響應(yīng)事件模塊本文定義了各種各樣的響應(yīng)事件類型,并與游戲中其他的子系統(tǒng)進(jìn)行銜接。本系統(tǒng)可以使用事件管理器來觸發(fā)響應(yīng)事件,這大大擴(kuò)展了本系統(tǒng)的使用范圍。本系統(tǒng)滿足了關(guān)卡設(shè)計(jì)師在關(guān)卡設(shè)計(jì)方面的大部分需求,同時(shí)開發(fā)人員可以通過增加響應(yīng)事件、定義其他觸發(fā)條件來進(jìn)行擴(kuò)展這一系統(tǒng),使得游戲設(shè)計(jì)更加便捷,也便于后期的維護(hù)。但這一系統(tǒng)也存在不足之處,就是擴(kuò)展性不夠好,觸發(fā)條件都是寫死在代碼里,另外本系統(tǒng)對非開發(fā)人員不夠友好,考慮做成可視化系統(tǒng)進(jìn)行關(guān)卡設(shè)計(jì)。
【關(guān)鍵詞】:Unity C# 觀察者模式 委托 事件管理器 觸發(fā)器系統(tǒng)
【學(xué)位授予單位】:南京大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2016
【分類號】:TP317
【目錄】:
- 摘要5-6
- Abstract6-12
- 第一章 引言12-16
- 1.1 項(xiàng)目背景與意義12-13
- 1.2 基于事件驅(qū)動的關(guān)卡觸發(fā)器技術(shù)的發(fā)展概況13-14
- 1.3 本文主要研究的工作14-15
- 1.4 本文的組織結(jié)構(gòu)15-16
- 第二章 技術(shù)綜述16-23
- 2.1 Unity游戲引擎介紹16-18
- 2.2 實(shí)體-組件-系統(tǒng)(ECS)概述18-20
- 2.3 C#中的代理(Delegate )20-21
- 2.4 觀察者模式(Observer Pattern)概述21-22
- 2.5 本章小結(jié)22-23
- 第三章 可擴(kuò)展的關(guān)卡觸發(fā)器系統(tǒng)總體設(shè)計(jì)23-47
- 3.1 系統(tǒng)總體規(guī)劃23-24
- 3.2 系統(tǒng)需求分析24-28
- 3.2.1 系統(tǒng)功能性需求24-27
- 3.2.2 系統(tǒng)非功能性需求27-28
- 3.3 系統(tǒng)總體設(shè)計(jì)28-31
- 3.3.1 總體結(jié)構(gòu)28-29
- 3.3.2 系統(tǒng)模塊圖29-30
- 3.3.3 系統(tǒng)流程圖30-31
- 3.4 系統(tǒng)模塊設(shè)計(jì)31-46
- 3.4.1 Unity的腳本物件模型31-33
- 3.4.2 資源實(shí)例化方式33-34
- 3.4.3 觸發(fā)器模塊設(shè)計(jì)34-37
- 3.4.4 觸發(fā)條件模塊設(shè)計(jì)37-38
- 3.4.5 使用布爾邏輯組合條件38-40
- 3.4.6 響應(yīng)事件模塊設(shè)計(jì)40-44
- 3.4.7 事件管理器44-45
- 3.4.8 一次性觸發(fā)與載入次數(shù)45-46
- 3.5 總體設(shè)計(jì)的局限性46
- 3.6 本章小結(jié)46-47
- 第四章 關(guān)卡觸發(fā)器系統(tǒng)的功能實(shí)現(xiàn)47-75
- 4.1 觸發(fā)器模塊的功能實(shí)現(xiàn)47-53
- 4.1.1 模塊概述47-48
- 4.1.2 觸發(fā)器模塊的代碼實(shí)現(xiàn)48-53
- 4.2 觸發(fā)條件模塊的功能實(shí)現(xiàn)53-57
- 4.2.1 模塊概述53-54
- 4.2.2 觸發(fā)條件模塊的代碼實(shí)現(xiàn)54-57
- 4.3 響應(yīng)事件模塊的功能實(shí)現(xiàn)57-64
- 4.3.1 模塊概述57-58
- 4.3.2 響應(yīng)事件模塊的代碼實(shí)現(xiàn)58-64
- 4.4 事件管理器的功能實(shí)現(xiàn)64-66
- 4.4.1 事件管理器概述64-65
- 4.4.2 事件管理器的代碼實(shí)現(xiàn)65-66
- 4.5 關(guān)卡觸發(fā)器系統(tǒng)的具體應(yīng)用66-74
- 4.5.1 功能需求概述66-68
- 4.5.2 召喚伙伴開啟元素門的具體實(shí)現(xiàn)68-74
- 4.6 本章小結(jié)74-75
- 第五章 總結(jié)與展望75-76
- 5.1 總結(jié)75
- 5.2 進(jìn)一步工作展望75-76
- 參考文獻(xiàn)76-78
- 致謝78-80
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前6條
1 于瀟翔;彭月橙;黃心淵;;基于Unity3D的道具系統(tǒng)研究與開發(fā)[J];成都理工大學(xué)學(xué)報(bào)(自然科學(xué)版);2014年04期
2 胡修遠(yuǎn);;計(jì)算機(jī)游戲中的人工智能探析[J];寧波教育學(xué)院學(xué)報(bào);2013年06期
3 范振鈞;鞏小東;王增強(qiáng);;委托與事件在觀察者模式中的應(yīng)用[J];通化師范學(xué)院學(xué)報(bào);2013年04期
4 吳清壽;;基于事件機(jī)制的觀察者模式及應(yīng)用[J];重慶理工大學(xué)學(xué)報(bào)(自然科學(xué));2012年09期
5 喻金平;劉孝會;;C~#中的委托在Observer設(shè)計(jì)模式中的應(yīng)用研究[J];軟件導(dǎo)刊;2010年11期
6 黃勇;;游戲中的狀態(tài)機(jī)[J];程序員;2008年12期
本文關(guān)鍵詞:基于Unity3D的關(guān)卡觸發(fā)器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),由筆耕文化傳播整理發(fā)布。
,本文編號:510471
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/510471.html
最近更新
教材專著