基于Unity3D的解密RPG游戲的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Unity3D的解密RPG游戲的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Unity3D的解密RPG游戲的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Unity3D的解密RPG游戲的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Unity3D的解密RPG游戲的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于Unity3D的解密RPG游戲的設(shè)計(jì)與實(shí)現(xiàn) Design and implementation of decryption RPG Game based on Unity3D 內(nèi)容摘要本次課題是研造一款以Unity 3D引擎的解密RPG游戲。游戲劇情是以浦島太郎的童話故事為主題進(jìn)行改編,原故事結(jié)局是浦島太郎打開(kāi)玉匣,最終變成了一個(gè)老頭子,單調(diào)而且具有漏洞。而本游戲?qū)?huì)一改原故事的結(jié)局,并且添加更多不同的故事結(jié)局,使游戲過(guò)程更加撲所迷離,而且還會(huì)加入隱藏劇情增加游戲的趣味性,使得游戲更具有故事性。玩家將扮演浦島太郎進(jìn)行龍宮探索,在龍宮探索期間,發(fā)現(xiàn)龍宮中的各種不尋常的事件,發(fā)現(xiàn)最終的真相。在

2、整個(gè)游戲設(shè)計(jì)的過(guò)程中,將運(yùn)用到3DMax模型制作、Animator與Animation的動(dòng)畫(huà)制作系統(tǒng)、NavMeshAgent自動(dòng)導(dǎo)航系統(tǒng)以及Fungus對(duì)話系統(tǒng)等多種技術(shù)相互結(jié)合,制作出一款可玩性高以及富有戲劇性的解密RPG游戲。而本游戲的改編將會(huì)讓原故事更加廣為人知,以及對(duì)原作的更深層理解,具有一定的市場(chǎng)價(jià)值和考察意義。關(guān)鍵詞:Unity3D Fungus 解密游戲 角色扮演Abstract This project is to develop a decryption RPG game with unity 3D engine. The story of the game is base

3、d on the fairy tale of posima taro. The original ending is that posima taro opens the jade box and turns into an old man with monotony and loopholes. This game will change the ending of the original story, and add more different ending of the story, so that the game process is more lost, and also ad

4、d hidden plot to increase the fun of the game, so that the game has more story.Players will play the role of taro of PuDao to explore the Dragon Palace. During the exploration of the Dragon Palace, they will discover various unusual events in the Dragon Palace and find the final truth. In the whole

5、process of game design, it will be used to make 3DMAX model, animator and animation animation animation system, navmeshagent automatic navigation system, and fungus dialogue system and other technologies to combine with each other to make a playable and dramatic decryption RPG game. The adaptation o

6、f the game will make the original story more widely known, as well as a deeper understanding of the original, with a certain market value and inspection significance.Key words: Unity Fungus PuzzleGame role-playing 目錄第一章 緒論11.1 本課題的研究目的和意義11.2 研究現(xiàn)狀11.3 創(chuàng)新思路21.4 游戲?qū)Ρ?1.5黑童話起源31.6 Fungus對(duì)話系統(tǒng)介紹3第二章 需求分析

7、與總體設(shè)計(jì)82.1 故事向的解密游戲的需求分析82.1.1 玩家需求分析82.1.2 功能需求分析82.2 游戲的總體方案設(shè)計(jì)92.2.1游戲結(jié)構(gòu)方案設(shè)計(jì)92.2.2 總體結(jié)構(gòu)方案設(shè)計(jì)9第三章 游戲詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)113.1人機(jī)交互模塊113.1.1 開(kāi)始界面113.1.2 設(shè)置界面113.1.3 游戲交互界面123.2 游戲場(chǎng)景模塊133.2.1 海邊場(chǎng)景133.2.2 海底場(chǎng)景133.3劇情模塊143.3.1開(kāi)局143.3.2發(fā)展143.3.3高潮143.4 關(guān)卡模塊153.4.1 迷宮153.4.2 密碼鎖163.4.3 移動(dòng)的平臺(tái)183.4.4 暗門(mén)183.4.5 拼圖183.5 Fun

8、gus對(duì)話系統(tǒng)193.5.1 實(shí)現(xiàn)原理193.5.2實(shí)現(xiàn)結(jié)果22第四章 游戲測(cè)試244.1功能測(cè)試244.2 游戲測(cè)試結(jié)果與討論25第五章 總結(jié)與展望265.1總結(jié)265.2 展望26參 考 文 獻(xiàn)27 廣東東軟學(xué)院本科生畢業(yè)設(shè)計(jì)(論文)第1章 緒論 1.1 本課題的研究目的和意義隨著計(jì)算機(jī)在全球有著越來(lái)越高的地位,計(jì)算機(jī)游戲軟件的開(kāi)發(fā)正在成長(zhǎng)為新興行業(yè)。RPG游戲(角色扮演游戲)也躋身于當(dāng)今市場(chǎng)上最受喜愛(ài)的游戲類(lèi)型,但是以寓言和童話故事為核心的游戲卻為數(shù)不多,每當(dāng)我問(wèn)起周?chē)娜耸欠裰榔謲u太郎這一個(gè)故事的時(shí)候,大家的回答都是全然不知。浦島太郎看似只是一個(gè)珍惜時(shí)光的寓言故事,如果能夠更加深入地

9、發(fā)掘并思考的話,可以延伸出更多需要人們深入思考的意義。而故事劇情作為RPG游戲里最重要的構(gòu)成元素之一承擔(dān)了相當(dāng)大的責(zé)任和意義,不僅推動(dòng)游戲情節(jié)發(fā)展,也是玩家能否具有代入感和深度體驗(yàn)的關(guān)鍵所在。一款游戲擁有優(yōu)秀的劇情不一定會(huì)成為成功的作品,但一款成功的作品一定擁有優(yōu)秀的劇情。劇情的力量可以使人產(chǎn)生情感的共鳴,當(dāng)一款游戲的劇情真正打動(dòng)到玩家的時(shí)候,玩家自然會(huì)出于個(gè)人的情感線索產(chǎn)生持續(xù)體驗(yàn)。劇情的另一個(gè)發(fā)展就是開(kāi)放式的劇情,國(guó)外很多游戲尤其是主機(jī)游戲早已采用了這種方法,利用可寫(xiě)入式文本和玩家一同生產(chǎn)劇情,具體的操作就是在對(duì)話中會(huì)出現(xiàn)多重選項(xiàng),不同的選項(xiàng)會(huì)使劇情向著不同的方向發(fā)展產(chǎn)生不同的結(jié)局,不得不

10、說(shuō)這是一個(gè)特別好的策略,大大增強(qiáng)了游戲的可玩性,尤其是對(duì)于追求不同結(jié)局成就的玩家來(lái)說(shuō),多周目體驗(yàn)成為了必備技能。 為此,本課題是以浦島太郎的童話故事為主題進(jìn)行改編的游戲,以浦島太郎作為故事內(nèi)核,添加更多的故事結(jié)局和故事情節(jié),給玩家?guī)?lái)不一樣的體驗(yàn)感,也讓更多的玩家了解到浦島太郎的故事。1.2 研究現(xiàn)狀近兩年來(lái)的中國(guó)RPG游戲市場(chǎng)呈現(xiàn)出一種“快餐經(jīng)營(yíng)”模式,許多游戲開(kāi)發(fā)商們只是想著創(chuàng)新,卻不顧整體的改變,這樣顧頭不顧尾的做法導(dǎo)致游戲被改得四不像,玩家們也無(wú)法在游戲中得到深入其境的享受,再來(lái)看看逆水寒,就拿游戲中的NPC交互系統(tǒng)來(lái)說(shuō)吧,有一次不小心跳到了桌子上,結(jié)果被周?chē)娜苏f(shuō)是一個(gè)“無(wú)理之人”,

11、游戲中的細(xì)節(jié)隨處可見(jiàn)。開(kāi)發(fā)商都試圖創(chuàng)造出獨(dú)一無(wú)二的戰(zhàn)斗系統(tǒng),這本是好事,但問(wèn)題是,他們腦子里只有戰(zhàn)斗系統(tǒng),而把其他所有的東西都忘得一干二凈了,可惜的是,和MMORPG一樣,真正獨(dú)特的戰(zhàn)斗系統(tǒng)少之又少,大多數(shù)游戲都只是在同一個(gè)系統(tǒng)的基礎(chǔ)上進(jìn)行調(diào)整,導(dǎo)致這些所謂的“創(chuàng)新”變得如此的不倫不類(lèi),四不像。沒(méi)錯(cuò),創(chuàng)新是好事,但代價(jià)是什么呢?如果能有龐大、具有深度的故事劇情和角色發(fā)展,那么光是“攻擊”、“物品”和“防御”就夠了。為此,本課題的創(chuàng)新方向是從故事情節(jié)出發(fā),在原故事情節(jié)上進(jìn)行大幅度修改,帶領(lǐng)玩家體驗(yàn)另一個(gè)不一樣的浦島太郎1.3 創(chuàng)新思路本課題的創(chuàng)新方向是從故事情節(jié)出發(fā),以浦島太郎作為故事內(nèi)核,添加

12、更多的故事結(jié)局和故事情節(jié),給玩家?guī)?lái)不一樣的體驗(yàn)感,也讓更多的玩家了解到浦島太郎的故事,帶領(lǐng)玩家體驗(yàn)另一個(gè)不一樣的浦島太郎。優(yōu)化了原故事劇情,并改編成解密RPG游戲,增添更多人物的情感線,加固故事的情節(jié)性。添加更多不同的故事結(jié)局,使游戲過(guò)程更加撲所迷離,而且還會(huì)加入隱藏劇情增加游戲的趣味性,使得游戲更具有故事性。1.4 游戲?qū)Ρ龋?)玫瑰與黃昏的古城- 平臺(tái):PC/PSV本作又名蘿潔與黃昏古城,游戲由日本一開(kāi)發(fā)制作,于今年4月發(fā)行。名為蘿潔的小女孩在一座失去了色彩的古城中醒來(lái),而在她記憶中,她本來(lái)是應(yīng)該住在修道院才對(duì)的。于是蘿潔開(kāi)始一邊前進(jìn),一邊尋找各種線索,開(kāi)始想法設(shè)法逃離這座巨大的廢墟古城

13、。游戲中蘿潔會(huì)遇見(jiàn)有著螺旋一樣面孔的謎一樣的巨人,而這個(gè)看起來(lái)很可怕的家伙實(shí)際上卻很善良。在往后的逃離之路上,巨人成為了蘿潔強(qiáng)有力的好伙伴。(2)多克羅(骷髏王子)- 平臺(tái):PSV/Andriod/iOS最早是于PSV推出,而后移植到安卓與蘋(píng)果等移動(dòng)平臺(tái)的一款橫版動(dòng)作解謎游戲。游戲的主角原本是一名英俊的王子,被下了詛咒才變成了這幅蠢蠢的小骷髏的模樣。變成骷髏的他,失去了很多力量,非常的弱小,盡管這樣,他還是依然勇敢的帶著公主踏上了逃亡的路途。隨著游戲推進(jìn),游戲里小骷髏也可以短暫的變回王子模樣,王子狀態(tài)下各方面狀態(tài)都得到加強(qiáng),還能直接抱起公主前進(jìn)。游戲相對(duì)來(lái)說(shuō)稍微老一點(diǎn),但是各種謎題設(shè)計(jì)的合理又

14、有趣,非常的值得一玩。(3)空洞騎士- 平臺(tái):PC/Switch/WiiU人在空洞之中會(huì)看到什么?哈哈,別別想太多,并不是要討論哲學(xué)的。這部空洞騎士在游戲中,采用了黑魂和血緣一樣的碎片化的敘事,把真相撒在大海汪洋里面讓玩家去一點(diǎn)點(diǎn)的找回。和之前推薦過(guò)鹽與避難所一樣,脫胎于宮崎英高老賊那些鬼點(diǎn)子中的本作,也一樣的有著較高的難度。推薦給魂系列愛(ài)好者和惡魔城老粉們。(4)月圓之夜- 平臺(tái):PC/Andriod/iOS是一款獨(dú)立單機(jī)卡牌游戲,探索,冒險(xiǎn),隨機(jī)事件,隨機(jī)劇情將會(huì)導(dǎo)致不同的結(jié)局。七大職業(yè),每個(gè)職業(yè)有專(zhuān)屬的卡組,專(zhuān)屬的流派,100種獨(dú)具特色的怪物,揭秘黑森林的秘密1.5黑童話起源黑童話題材的

15、游戲在以后會(huì)越來(lái)越多。這是由市場(chǎng)潛在用戶群體決定的!作為最早最為廣泛接觸到格林童話的80后這一代,在幼兒、小學(xué)時(shí)期接觸到童話故事, 而且是記憶比較深刻的。這類(lèi)人群如今已經(jīng)沉浸社會(huì)多年,面對(duì)社會(huì)生活的壓力,這類(lèi)人群正是在理解社會(huì)壓力,感受社會(huì)現(xiàn)實(shí)的最佳時(shí)期,面對(duì)幼兒時(shí)期的美好童話,他們都覺(jué)得那是虛擬科幻的,反而更愿意接受更具備社會(huì)現(xiàn)實(shí)的黑童話故事。而接班80后的90后,95后群體,更是具備個(gè)性十足的一代,他們總能把傳統(tǒng)的事物變得更加不一樣!對(duì)于傳統(tǒng)童話故事,他們更不會(huì)手下留情!說(shuō)到這里,其實(shí)格林童話初始的原版并不是我們小學(xué)課本和我們同年時(shí)代的那樣!林兄弟在收集民間故事的時(shí)候,本身已經(jīng)做了有利于出

16、版的修改。許多民間故事原來(lái)就帶有一定的恐懼性色彩,這個(gè)情況不論是中國(guó)或是德國(guó),都是存在的。比如在我的家鄉(xiāng),有關(guān)于海洋動(dòng)物的嚇唬小朋友的故事,但家家不盡相同,最后我的一位同學(xué)在以這個(gè)為素材創(chuàng)作的時(shí)候,做了改動(dòng)。傳統(tǒng)童話IP,如灰姑娘、白雪公主、青蛙王子的游戲早已經(jīng)滿大街,舉不勝舉,反觀同樣的著名IP背景,缺失的是吸引大眾的亮點(diǎn),而黑童話題材無(wú)疑可以抓住這點(diǎn)!就像騰訊的天魔幻想,本身的游戲IP并不出眾,但是經(jīng)過(guò)白洗黑的過(guò)程,卻反而讓人覺(jué)得可以一試,加上一些合體技之類(lèi)的游戲創(chuàng)新,至少是可以讓人覺(jué)得一試!1.6 Fungus對(duì)話系統(tǒng)介紹Fungus是一款檢視面板自定義工具,主要幫助標(biāo)志不同角色對(duì)話在檢

17、視面板上顯示的顏色,以便更好、更清晰地實(shí)現(xiàn)游戲角色之間的對(duì)話邏輯??死锼垢窭锔–hris Gregan)是Fungus的主要作者和維護(hù)者,該插件需要Unity5.0及以上版本,無(wú)需編寫(xiě)代碼。Fungus可以在與標(biāo)簽的對(duì)話中觸發(fā)事件、條件和邏輯處理,并支持?jǐn)z像機(jī)、Sprite及音樂(lè)音效的控制。它提供了一個(gè)交互界面,可以快速構(gòu)建一個(gè)對(duì)話系統(tǒng)。Fungus可以通過(guò)直觀的視覺(jué)腳本系統(tǒng)輕松地將敘事功能添加到Unity游戲中,而無(wú)需編寫(xiě)代碼。適用于制作視覺(jué)小說(shuō),RPG,隱藏對(duì)象,益智和互動(dòng)小說(shuō)游戲?;诹鞒虉D的角色對(duì)話將角色對(duì)話的國(guó)際化。輕松控制子畫(huà)面,攝像機(jī)和音頻以幫助講述的故事,適用于2D和3D U

18、nity游戲,易于與其他Unity代碼集成,并且易于擴(kuò)展。強(qiáng)大的Lua腳本支持,適合經(jīng)驗(yàn)豐富的用戶。(圖1-1)圖 1-1 Fungus對(duì)話系統(tǒng)保存菜單:保存菜單是一個(gè)簡(jiǎn)單的用戶界面,允許玩家與真菌保存系統(tǒng)進(jìn)行交互。本節(jié)說(shuō)明每個(gè)按鈕的作用以及如何配置“保存菜單”屬性。保存數(shù)據(jù)鍵:用于在Player Prefs中存儲(chǔ)游戲數(shù)據(jù)的字符串鍵。如果在同一Unity項(xiàng)目中定義了多個(gè)游戲,請(qǐng)為每個(gè)游戲使用唯一的鍵。啟動(dòng)時(shí)加載:?jiǎn)?dòng)時(shí)自動(dòng)加載以前保存的游戲。自動(dòng)保存:在每個(gè)保存點(diǎn)自動(dòng)將游戲保存到磁盤(pán)。啟用此選項(xiàng)后,“保存”和“加載”按鈕將被禁用。保存菜單還支持一種自動(dòng)保存模式,在該模式下,游戲會(huì)在每個(gè)保存點(diǎn)都

19、保存到磁盤(pán)上??梢酝ㄟ^(guò)選擇“保存菜單”對(duì)象并選擇“自動(dòng)保存”屬性來(lái)啟用此功能。使用自動(dòng)保存時(shí),F(xiàn)ungus將禁用“保存功能”和“加載功能”??梢栽趯哟谓Y(jié)構(gòu)窗口的根目錄中看到“保存菜單”對(duì)象。該對(duì)象控制播放器用來(lái)與保存系統(tǒng)進(jìn)行交互的UI菜單?!氨4妗辈藛问且粋€(gè)單例對(duì)象,可在場(chǎng)景加載中持續(xù)存在,因此只需在游戲的第一個(gè)場(chǎng)景中添加一次即可。重新啟動(dòng)刪除保存:當(dāng)玩家重新啟動(dòng)游戲時(shí),從磁盤(pán)上刪除保存數(shù)據(jù)。這在測(cè)試游戲以確保從空白保存狀態(tài)開(kāi)始時(shí)非常有用。注意:如果游戲使用多個(gè)場(chǎng)景(例如,通過(guò)“加載場(chǎng)景”命令),請(qǐng)確保將所有場(chǎng)景添加到“構(gòu)建設(shè)置”中的“構(gòu)建中的場(chǎng)景”列表中。保存按鈕:按下“保存”按鈕會(huì)使當(dāng)前的

20、“保存歷史記錄”序列化為JSON文本,并通過(guò)PlayerPrefs類(lèi)寫(xiě)入持久性存儲(chǔ)。保存點(diǎn):保存點(diǎn)是某個(gè)時(shí)間點(diǎn)游戲狀態(tài)的快照。每個(gè)保存點(diǎn)都記錄當(dāng)前場(chǎng)景,流程圖執(zhí)行的當(dāng)前點(diǎn)(即在保存點(diǎn)命令處)以及流程圖變量的當(dāng)前值。目前僅保存Boolean,Integer,F(xiàn)loat和String變量。保存點(diǎn)命令:在流程圖中使用“保存點(diǎn)”命令可在執(zhí)行中的該點(diǎn)創(chuàng)建一個(gè)保存點(diǎn)。每個(gè)單獨(dú)的保存點(diǎn)命令應(yīng)具有唯一的保存點(diǎn)密鑰?!凹虞d時(shí)恢復(fù)”選項(xiàng)使加載保存點(diǎn)后從該點(diǎn)恢復(fù)執(zhí)行。保存點(diǎn)密鑰:保存點(diǎn)密鑰是單個(gè)保存點(diǎn)的唯一字符串標(biāo)識(shí)符。默認(rèn)情況下,父塊的名稱(chēng)用于保存點(diǎn)密鑰,但是如果需要,也可以使用自定義密鑰(例如,單個(gè)塊中有多個(gè)保

21、存點(diǎn)命令)。(注意:每個(gè)關(guān)鍵點(diǎn)在每個(gè)場(chǎng)景中必須唯一,否則加載將無(wú)法正常進(jìn)行)保存歷史:保存歷史記錄包含先前記錄的保存點(diǎn)列表,按時(shí)間順序存儲(chǔ)。執(zhí)行“保存點(diǎn)”命令時(shí),將創(chuàng)建一個(gè)新的“保存點(diǎn)”并將其附加到“保存歷史記錄”中。要在運(yùn)行時(shí)可視化“保存歷史記錄”,請(qǐng)?jiān)趯哟谓Y(jié)構(gòu)中展開(kāi)“保存菜單”對(duì)象,選擇“保存菜單”“面板”“調(diào)試視圖”并啟用游戲?qū)ο?。保存歷史記錄中的保存點(diǎn)摘要將顯示在文本窗口中。加載按鈕:按下“加載”按鈕將使先前存儲(chǔ)的JSON數(shù)據(jù)反序列化,并用于填充“保存歷史記錄”。然后,使用最新的保存點(diǎn)按以下順序恢復(fù)游戲狀態(tài)。加載存儲(chǔ)在“保存點(diǎn)”中的場(chǎng)景(即使它是當(dāng)前加載的場(chǎng)景)。將流程圖變量恢復(fù)為已保

22、存的值:在適當(dāng)?shù)摹氨4纥c(diǎn)”命令之后,調(diào)用“保存點(diǎn)加載”事件處理程序并開(kāi)始執(zhí)行流程圖??焱撕涂爝M(jìn)按鈕:快退和快進(jìn)按鈕使可以在“保存歷史記錄”中的“保存點(diǎn)”之間來(lái)回移動(dòng)。每次移動(dòng)都只是加載保存在“保存歷史”中特定點(diǎn)的“保存點(diǎn)”。這本身不會(huì)更改“保存歷史記錄”或?qū)⑷魏蝺?nèi)容寫(xiě)入持久性存儲(chǔ)。但是,如果倒退到較早的保存點(diǎn)并再次開(kāi)始播放,則下次執(zhí)行“保存點(diǎn)”命令時(shí),它將導(dǎo)致時(shí)間上更遠(yuǎn)的所有保存點(diǎn)被永久丟棄。重新啟動(dòng)按鈕:“重新啟動(dòng)”按鈕清除“保存歷史記錄”并加載開(kāi)始場(chǎng)景。起始場(chǎng)景是首次初始化“保存”菜單時(shí)處于活動(dòng)狀態(tài)的場(chǎng)景。游戲啟動(dòng):玩家可以隨時(shí)重新啟動(dòng)游戲,請(qǐng)遵循以下簡(jiǎn)單規(guī)則,以確保在所有情況下都能正確處

23、理游戲啟動(dòng)。避免使用Game Started事件處理程序。這僅在第一次玩游戲時(shí)正確運(yùn)行,而不是在加載保存的游戲后才能正常運(yùn)行。加載保存的游戲后,希望執(zhí)行從保存點(diǎn)開(kāi)始,而不是再次從流程圖的開(kāi)頭開(kāi)始。當(dāng)要在加載特定保存點(diǎn)時(shí)執(zhí)行塊時(shí),請(qǐng)使用“保存點(diǎn)加載”事件處理程序。這些事件處理程序會(huì)在“保存點(diǎn)”命令恢復(fù)執(zhí)行之前被調(diào)用,因此它使有機(jī)會(huì)在游戲玩法恢復(fù)之前進(jìn)行設(shè)置工作。當(dāng)開(kāi)始一個(gè)新游戲時(shí),F(xiàn)ungus會(huì)尋找一個(gè)啟用了Is Start Point屬性的Save Point命令并執(zhí)行它。加載以前保存的游戲時(shí),F(xiàn)ungus會(huì)從相關(guān)的“保存點(diǎn)”命令開(kāi)始執(zhí)行,并忽略起點(diǎn)。這意味著,如果的游戲支持保存,那么在每個(gè)場(chǎng)

24、景中,都應(yīng)該始終只啟用一個(gè)“保存點(diǎn)”命令,并啟用“開(kāi)始點(diǎn)”屬性。注意:“游戲啟動(dòng)”事件處理程序?qū)⑼瑫r(shí)針對(duì)新游戲和已加載的游戲觸發(fā),這通常不是想要的,因此請(qǐng)避免在支持保存的游戲中使用它。當(dāng)保存的游戲加載完畢時(shí),通常需要做一些額外的工作,以確保場(chǎng)景處于正確的狀態(tài)。例如,可能需要將相機(jī)移動(dòng)到游戲中此時(shí)適當(dāng)?shù)奈恢没虿シ诺奶囟ㄒ魳?lè)曲目。一種簡(jiǎn)單的方法是通過(guò)“保存點(diǎn)加載”事件處理程序。圖1-2 Flowchart界面在示例場(chǎng)景中,在流程圖中選擇“播放音樂(lè)1”塊,然后查看其具有保存點(diǎn)加載事件處理程序。當(dāng)加載“保存點(diǎn)鍵”列表中的任何保存點(diǎn)時(shí),這將執(zhí)行“塊”。在這種情況下,我們只是為游戲的這一部分播放正確的音樂(lè)

25、,但是可以在此處進(jìn)行任何需要的設(shè)置。當(dāng)執(zhí)行匹配的“保存點(diǎn)”命令時(shí)(如果啟用了“火災(zāi)事件”屬性),也會(huì)觸發(fā)“已加載保存點(diǎn)”事件處理程序。這使可以將所有場(chǎng)景設(shè)置命令放置在一個(gè)共享的塊中,當(dāng)首次到達(dá)“保存點(diǎn)”命令或在該“保存點(diǎn)”加載先前保存的游戲時(shí),將調(diào)用該塊。保存流程圖變量:每個(gè)保存點(diǎn)都可以在該時(shí)間點(diǎn)存儲(chǔ)流程圖變量的狀態(tài)。可以使用保存數(shù)據(jù)對(duì)象來(lái)使保存系統(tǒng)知道要在其中包括哪些流程圖。請(qǐng)注意,目前僅保存Boolean,Integer,F(xiàn)loat和String變量。在示例場(chǎng)景中,可以在層次結(jié)構(gòu)窗口的根目錄中看到“保存數(shù)據(jù)”對(duì)象。Flowcharts屬性包含要在此場(chǎng)景中保存的Flowchart對(duì)象的列表。

26、要將“保存數(shù)據(jù)”對(duì)象添加到場(chǎng)景中,請(qǐng)選擇“工具”“Fungus”“創(chuàng)建”“保存數(shù)據(jù)”??梢栽诹斜碇刑砑尤我舛鄠€(gè)流程圖,但請(qǐng)確保每個(gè)流程圖都有唯一的名稱(chēng)(例如,流程圖1,流程圖2等),否則加載將無(wú)法正常進(jìn)行。如果擴(kuò)展保存系統(tǒng)以支持保存其他類(lèi)型的數(shù)據(jù)(除了Flowchart變量),則可以修改SaveData組件或?qū)⑵渥宇?lèi)化以實(shí)現(xiàn)此目的。第二章 需求分析與總體設(shè)計(jì)2.1 故事向的解密游戲的需求分析2.1.1 玩家需求分析解密游戲作為一種硬核的流行游戲,它按照一定的邏輯或數(shù)學(xué),物理,化學(xué),甚至有著一套獨(dú)特的系統(tǒng)規(guī)則,經(jīng)過(guò)一番思考和推理來(lái)完成某些任務(wù),考驗(yàn)玩家的知識(shí)和科學(xué)的綜合運(yùn)用邏輯推理能力。目前市場(chǎng)

27、上的解密游戲?qū)映霾桓F,大多數(shù)都是給予既定的各種道具和場(chǎng)景的方式設(shè)置謎題,一成不變的解謎手段和缺乏新意的場(chǎng)景設(shè)置使得用戶對(duì)解謎類(lèi)游戲漸漸失去了興趣,使得該類(lèi)游戲的開(kāi)發(fā)逐步停滯。2.1.2 功能需求分析綜合上述內(nèi)容,將本文探討研發(fā)的游戲功能大致劃分為如下幾個(gè)模塊。 圖2-1 功能模塊圖(1)劇情設(shè)計(jì):以浦島太郎的童話故事為主題進(jìn)行改編,原故事結(jié)局是浦島太郎打開(kāi)玉匣,最終變成了一個(gè)老頭子,單調(diào)而且具有漏洞。而本游戲?qū)?huì)一改原故事的結(jié)局,并且添加更多不同的故事結(jié)局,使游戲過(guò)程更加撲所迷離,而且還會(huì)加入隱藏劇情增加游戲的趣味性,使得游戲更具有故事性。(2)模型動(dòng)作:使用建模工具(3DS MAX)中對(duì)人物

28、模型進(jìn)行搭建或者進(jìn)行修改,并導(dǎo)入到游戲之中,并在游戲當(dāng)中添加一些人物動(dòng)作和物品特效,以讓玩家更加適應(yīng)游戲特色。(3)場(chǎng)景設(shè)計(jì):以海洋和陸地作為兩大主場(chǎng)景,用3DS MAX搭建好海洋和陸地上所需的物體,然后將物體模型搭建成所需要的場(chǎng)景,盡可能做出一個(gè)浦島太郎的世界觀的環(huán)境,并且盡可能做到不違和、少穿模的地步。(4)音樂(lè)與音效設(shè)計(jì):通過(guò)不同的音樂(lè)和音效凸顯出故事情節(jié)的變化和穿越到不同場(chǎng)景的效果,讓玩家有特殊事件和場(chǎng)景切換的感覺(jué)。(5)AI設(shè)計(jì):通過(guò)設(shè)計(jì)出不同行為、不同能力的NPC,來(lái)讓玩家分辨出哪一些是基礎(chǔ)NPC,哪一些是特殊NPC,然后觸發(fā)特殊事件。(6)UI設(shè)計(jì):在游戲當(dāng)中加入適當(dāng)數(shù)量以及類(lèi)型

29、的UI字幕,同時(shí)給玩家制作鮮明的游戲UI,實(shí)現(xiàn) UI 的交互、鏈接以及隱現(xiàn),方便玩家探索。 (7)動(dòng)畫(huà)設(shè)計(jì):在某一些情節(jié)中,使用Unity內(nèi)置的TimeLine制作出相應(yīng)的劇情動(dòng)畫(huà),補(bǔ)充了游戲的故事,同時(shí)也達(dá)到引導(dǎo)玩家的目的。2.2 游戲的總體方案設(shè)計(jì)2.2.1游戲結(jié)構(gòu)方案設(shè)計(jì)考慮到各式玩家與各類(lèi)游戲接觸的時(shí)間不盡相同,為了使玩家們都能夠?qū)Ρ疚挠螒蚩焖偕鲜?,游戲的大體結(jié)構(gòu)不能太過(guò)于復(fù)雜。所以該游戲選用了大多數(shù)電子游戲的結(jié)合進(jìn)行設(shè)計(jì)。結(jié)構(gòu)詳情如下圖2-2所示。 圖2-2 游戲流程圖2.2.2 總體結(jié)構(gòu)方案設(shè)計(jì)本電子游戲總體模塊的構(gòu)架如下圖2-3所示。圖2-3 總體結(jié)構(gòu)模塊架構(gòu)圖本項(xiàng)目的總體結(jié)構(gòu)模

30、塊主要分為三大模塊。(1)人機(jī)交互模塊:開(kāi)始界面、設(shè)置界面以及游戲交互界面這三大界面作為主要的界面交互的方式,這三個(gè)界面將會(huì)使用Unity3D引擎中的UGUIUI系統(tǒng)模塊、C#腳本編輯模塊與fungus對(duì)話系統(tǒng)進(jìn)行開(kāi)發(fā)。使用C#腳本進(jìn)行對(duì)玩家的操作進(jìn)行監(jiān)視,并使用相對(duì)應(yīng)的UI界面進(jìn)行反饋,告知玩家所進(jìn)行的操作會(huì)對(duì)游戲產(chǎn)生怎么樣的變化,為此來(lái)設(shè)計(jì)這三大游戲界面。(2)游戲場(chǎng)景模塊:此模塊主要分為兩大板塊海邊場(chǎng)景和海底場(chǎng)景。海邊場(chǎng)景為開(kāi)始部分與最終解密部分的主要場(chǎng)景;海底場(chǎng)景為發(fā)展部分的主要場(chǎng)景,可通過(guò)與不同人的交流和探索場(chǎng)景了解一些線索。(3)劇情模塊:劇情模塊包括開(kāi)局、發(fā)展、高潮三個(gè)部分。開(kāi)局

31、部分將會(huì)影響玩家是否前往龍宮的結(jié)局,發(fā)展部分為玩家探索海底龍宮的部分,高潮部分為玩家返回地面后進(jìn)行最終解密的部分,將揭示浦島太郎的最終結(jié)局的部分。第三章 游戲詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)3.1人機(jī)交互模塊3.1.1 開(kāi)始界面本電子游戲的開(kāi)始界面采用的特性出于以下三點(diǎn)進(jìn)行考慮:(1) 簡(jiǎn)約性:因?yàn)楸居螒蚴且粋€(gè)故事向的解密游戲,在游戲開(kāi)始界面不需要過(guò)于復(fù)雜的界面進(jìn)行表現(xiàn)游戲的趣味性,應(yīng)當(dāng)以通俗易懂、簡(jiǎn)潔明了的形式來(lái)創(chuàng)建界面。(2) 明確性:游戲劇情是以海洋和陸地兩大主場(chǎng)景中進(jìn)行游戲,所有游戲開(kāi)始界面,使用了海島和海平面作為游戲開(kāi)始界面,既展示了美觀性,也表明了本游戲的場(chǎng)景有哪一部分。(3) 交互性:在開(kāi)始界面插

32、入一段音樂(lè),提前有著良好的心態(tài)進(jìn)行游戲,讓玩家有良好的交互反饋。開(kāi)始界面中的選項(xiàng)加入一個(gè)“游戲說(shuō)明”,來(lái)讓玩家了解浦島太郎的原故事情節(jié),然后將玩家誤以為只是普通的浦島太郎的故事,然后發(fā)現(xiàn)故事劇情會(huì)出乎玩家的意料,然后刺激玩家的游玩沖動(dòng)。 用 Unity3D 引擎自帶的 UGUI 來(lái)進(jìn)行 GUI 的制作,原因是因?yàn)楸敬斡螒虻?GUI 需求量并不繁雜,使用 UGUI 足以支持這簡(jiǎn)約的 GUI 設(shè)計(jì)開(kāi)發(fā)。用Audio系統(tǒng)中AudioSource對(duì)象里面的AudioSource組件中的AudioClip存儲(chǔ)音樂(lè)和音效。圖3-1 開(kāi)始界面3.1.2 設(shè)置界面本項(xiàng)目的設(shè)置界面目前添加了音樂(lè)與音效的功能,讓

33、玩家對(duì)游戲內(nèi)的音樂(lè)與音效進(jìn)行調(diào)整,采用羊皮紙的材質(zhì)作為設(shè)置界面的背景,突出故事的古老性,如有需要將會(huì)在后續(xù)開(kāi)發(fā)中加入相對(duì)應(yīng)的功能。圖3-2 設(shè)置界面3.1.3 游戲交互界面玩家通過(guò)某些按下按鈕或者點(diǎn)擊人物與游戲中的NPC進(jìn)行交互與對(duì)話,或者查看某件道具的描述與用途,從而將補(bǔ)充游戲內(nèi)的劇情以及降低游戲的難度,增加游戲的可玩性與趣味性,讓玩家更好的理解游戲劇情和合理地使用道具。圖3-3 人物對(duì)話3.2 游戲場(chǎng)景模塊3.2.1 海邊場(chǎng)景浦島太郎是一個(gè)生活在海邊的一個(gè)漁夫,他生活的地點(diǎn)應(yīng)該為一個(gè)海邊的場(chǎng)景,身邊有著漁夫所需要的生活工具,身處海邊場(chǎng)景的時(shí)候,有時(shí)候傳來(lái)一陣陣的海鷗的叫聲,加強(qiáng)玩家的代入感

34、,讓玩家理所應(yīng)當(dāng)?shù)卣J(rèn)為自己是一個(gè)普普通通的漁夫,應(yīng)當(dāng)平平凡凡地度過(guò)一生,直到他救了一個(gè)被孩子們欺負(fù)的海龜,他的人生軌跡突然出現(xiàn)了變化。(圖3-4)圖3-4 海邊小屋3.2.2 海底場(chǎng)景在浦島太郎救了海龜后的幾天,海龜為了來(lái)感謝浦島太郎,帶他前往海底龍宮的情節(jié),玩家由此進(jìn)入了海底龍宮的場(chǎng)景,他遇到了龍宮乙姬,并在受到龍宮乙姬的盛情邀請(qǐng)下,在海底龍宮住下了,也由此開(kāi)始了玩家的主線劇情,玩家通過(guò)在龍宮的生活,發(fā)現(xiàn)了各種秘密或者意外,也經(jīng)歷了各種奇妙的事情,破解了各種謎題和機(jī)關(guān)。(圖3-5)圖3-5 海底世界3.3劇情模塊3.3.1開(kāi)局玩家的設(shè)定是一個(gè)生活在海邊的一個(gè)漁夫,他的名字叫做浦島太郎,浦島太

35、郎到海邊去打魚(yú)。當(dāng)他走到海邊的時(shí)候,發(fā)現(xiàn)一只擱淺的大海龜正在被一群調(diào)皮的小孩子欺負(fù)。浦島太郎就用錢(qián)勸走這群頑皮的孩子,救下了這只大海龜,并帶他到海邊,并對(duì)它說(shuō):“你趕快回海里去吧!小心不要再被別人捉到了唷!”,正是因?yàn)樗@個(gè)行為,他的人生軌跡突然出現(xiàn)了變化。3.3.2發(fā)展在浦島太郎救了海龜后的幾天,浦島太郎海邊捕魚(yú)的同時(shí),那只被救的大海龜跑到了他的跟前。海龜為了來(lái)感謝浦島太郎,帶他前往美麗的海底龍宮,以酬謝他的恩情。浦島太郎回答說(shuō)“我擔(dān)心還在家中的母親”,但是海龜說(shuō)會(huì)送他回來(lái),浦島太郎也接受了海龜?shù)难?qǐng)前往了海底龍宮,浦島太郎在感嘆海底的景色的同時(shí),也到達(dá)了龍宮。再然后他遇到了龍宮的主人乙姬,

36、她正在龍宮的門(mén)口等待著浦島太郎,并為表感謝他救下了海龜,希望浦島太郎在龍宮住下,浦島太郎不好推脫在海底龍宮住下了,開(kāi)始了玩家的主線劇情,玩家通過(guò)在龍宮的生活,發(fā)現(xiàn)了各種秘密或者意外,也經(jīng)歷了各種奇妙的事情,破解了各種謎題和機(jī)關(guān)。3.3.3高潮高潮一:玩家在龍宮不覺(jué)得已經(jīng)過(guò)了幾天,浦島太郎開(kāi)始想家了。他突然擔(dān)心起了家中的情況,浦島太郎就對(duì)龍宮乙姬說(shuō):“乙姬公主,我想我是時(shí)候該回家了?!痹邶垖m乙姬的再三勸阻下,浦島太郎決意離開(kāi)龍宮,龍宮乙姬決定送個(gè)他一個(gè)玉匣,并且警告在他年老之前絕對(duì)不能打開(kāi)它。浦島太郎再次騎到海龜?shù)谋成?,回到思戀已久的故鄉(xiāng)。但是,他發(fā)現(xiàn)村子的景象和來(lái)時(shí)的景象完全不同了。到處都是陌

37、生人,沒(méi)有一個(gè)熟人;而且,不管浦島太郎再怎么找,就是找不到自己的家,和年老的母親。浦島太郎問(wèn)一位坐在路旁的老公公:“你知道浦島太郎的房子在哪里嗎?”老公公回答“啊!我曾經(jīng)聽(tīng)過(guò)關(guān)于浦島太郎的傳說(shuō),不過(guò),自從三百年前他去了龍宮之后,就再也沒(méi)有回到村子了?!薄耙呀?jīng)過(guò)了三百年了,那么我的母親也早就去世了?!逼謲u太郎消沉地坐在路旁的石頭上。這時(shí)候,他突然想起了手上拿著龍宮乙姬送給他的王匣子?!袄锩娴降籽b了什么東西呢?”浦島太郎遺忘了龍王公主的囑咐,把玉匣子的蓋子打開(kāi)了。突然間,里面冒出了白色的煙幕。更奇怪的是,當(dāng)白煙碰到浦島太郎的時(shí)候,他一下子就變成一個(gè)滿頭白頭發(fā)的老公公了。高潮二:浦島太郎沒(méi)有打開(kāi)玉匣

38、,他通過(guò)發(fā)現(xiàn)一些不尋常的線索,發(fā)現(xiàn)事情跟龍宮有著莫大的聯(lián)系,然后他通過(guò)一些方法回到了龍宮,然后他發(fā)現(xiàn)了事情的緣由,并且讓海面上恢復(fù)了原有的狀態(tài)了。3.4 關(guān)卡模塊由于本項(xiàng)目為解密向游戲,可分為主線劇情和支線劇情,主線劇情需要層層相扣,環(huán)環(huán)相接才能進(jìn)行下去,但是由于選項(xiàng)的不同,可能觸發(fā)的劇情會(huì)有所不同,產(chǎn)生的結(jié)局也會(huì)有所不同。玩家所選的選項(xiàng)不同,接下來(lái)走的路線就會(huì)越加復(fù)雜,產(chǎn)生的結(jié)果也會(huì)越多。3.4.1 迷宮迷宮的結(jié)構(gòu)實(shí)現(xiàn)了最為經(jīng)典的關(guān)卡設(shè)計(jì)與游戲的心理學(xué),通過(guò)在地牢的各個(gè)地點(diǎn)配置不同的怪物與寶箱。玩家在繞到什么地方的時(shí)候會(huì)遇到一條死路,在處處撞壁,放棄希望之時(shí),卻發(fā)現(xiàn)另一條岔路柳暗花明,得到了

39、特殊線索和道具,或是一個(gè)隱藏的儲(chǔ)存點(diǎn)。這點(diǎn)在甚至在早期的FPS里也被用得滾蛋爛熟。Doom的關(guān)卡就是這么干的。迷宮的地形設(shè)計(jì)以3DSMax三維動(dòng)畫(huà)渲染和制作軟件進(jìn)行制作與上色,如圖3-6。圖3-6 迷宮設(shè)計(jì)圖3.4.2 密碼鎖需要玩家通過(guò)與一些NPC對(duì)話,得到密碼鎖和密碼紙條的兩個(gè)地點(diǎn),然后到達(dá)地點(diǎn)之后,找到開(kāi)啟密碼鎖的密碼紙條,通過(guò)紙條上的密碼進(jìn)行解鎖,得到箱子或者門(mén)后的道具和開(kāi)關(guān)。密碼鎖的解鎖方式使用Fungus對(duì)話系統(tǒng)進(jìn)行開(kāi)發(fā),可以以少量的代碼進(jìn)行完成,減少Bug的產(chǎn)生,也簡(jiǎn)化了流程。通過(guò)4個(gè)Button和Text組成密碼鎖的結(jié)構(gòu),并將這個(gè)四個(gè)Button和Text設(shè)置成預(yù)制體,以方便統(tǒng)

40、一修改Button和Text的格式。通過(guò)綁定按鈕A(Button)以獲得修改按鈕A的子節(jié)點(diǎn)數(shù)字A,并將觸發(fā)事件改為ButtonClick,并設(shè)置變量“數(shù)值”,每點(diǎn)擊一次“按鈕A”,變量“數(shù)值”將增加1,“數(shù)字A”同時(shí)也增加1,并加入判斷語(yǔ)句:數(shù)值大于9,數(shù)值將會(huì)歸零。(圖3-7)圖3-7 密碼鎖的“加1”邏輯塊要讓密碼的四個(gè)數(shù)值發(fā)生變化,添加4個(gè)Block塊,并綁定按鈕ABCD,同時(shí)調(diào)用(Call)“加1”Block塊,設(shè)置四個(gè)變量“數(shù)字A”、“數(shù)字B”、“數(shù)字C”、“數(shù)字D”,如當(dāng)按鈕B被點(diǎn)擊時(shí),數(shù)值獲得數(shù)字B的值,執(zhí)行“加1”block塊,數(shù)值加1,再加以限制(Wait Until Fin

41、ished)等待“加1”執(zhí)行完成,才能進(jìn)入下一步,否則容易出現(xiàn)數(shù)值未加1,但已經(jīng)執(zhí)行下一步的情況,導(dǎo)致數(shù)字沒(méi)有變化的Bug。接著變量“數(shù)字B”獲取“數(shù)值”的值,為了可視化變量“數(shù)字B”的值,將賦值到Text“數(shù)字B”的值。(圖3-8)圖3-8 密碼鎖Block的調(diào)用在“檢查密碼”塊上添加4個(gè)if語(yǔ)句進(jìn)行判斷,當(dāng)4個(gè)Button上的Text數(shù)字與if語(yǔ)句上的數(shù)字相同時(shí),密碼鎖將會(huì)被解開(kāi);通過(guò)將四個(gè)Button的Block塊調(diào)用“檢查密碼”塊上的IF語(yǔ)句,每一次按鈕的點(diǎn)擊事件都會(huì)進(jìn)行密碼檢查,以檢驗(yàn)密碼是否正確。圖3-9 密碼鎖最終流程圖3.4.3 移動(dòng)的平臺(tái)玩家需要通過(guò)角色的移動(dòng)和跳躍通過(guò)一些移

42、動(dòng)的平臺(tái),已獲得一些必要的道具和線索,有時(shí)候需要一些解密才能夠完成。3.4.4 暗門(mén)隱藏在某一個(gè)房間里面的暗門(mén),需要通過(guò)NPC的對(duì)話或者玩家探索地形后發(fā)現(xiàn),開(kāi)啟的時(shí)候?qū)?huì)彈出對(duì)話框來(lái)告訴玩家“某處的暗門(mén)已被打開(kāi)”,已讓玩家獲得良好的視覺(jué)反饋。(圖3-10)圖3-10 暗門(mén)開(kāi)啟3.4.5 拼圖獲取某一些道具時(shí),所需要完成的一個(gè)解密小游戲,主要通過(guò)C#腳本進(jìn)行編寫(xiě),其核心代碼如下圖所示,通過(guò)if語(yǔ)句判斷點(diǎn)擊位置的圖片是否能夠移動(dòng),如果能夠移動(dòng),就獲取空白圖片的對(duì)象,然后將空白對(duì)象存儲(chǔ)成被點(diǎn)擊對(duì)象的圖片,然后進(jìn)行空白對(duì)象的實(shí)際使用圖片替換,再將點(diǎn)擊對(duì)象的存儲(chǔ)圖片清除,然后實(shí)際上的圖片也清除,這樣每次

43、替換就不需要重新拿圖片了,節(jié)省內(nèi)存、提升性能。void OnClickEvent(Item item) if (canMovie(item) /判斷點(diǎn)擊位置的圖片是否能夠移動(dòng) var t = NoneImage(); /獲取空白圖片對(duì)象 t._sprite = item._sprite; /將空白對(duì)象存儲(chǔ)的圖片替換 t._Obj.GetComponent().sprite = item._Obj.GetComponent().sprite; /將空白對(duì)象的實(shí)際使用圖片替換 item._sprite = null; /點(diǎn)擊對(duì)象存儲(chǔ)的圖片為空 item._Obj.GetComponent().sp

44、rite = null; /點(diǎn)擊的對(duì)象的實(shí)際使用圖片為空 if (Success() /判斷是否拼圖成功 Debug.Log(勝利); 3.5 Fungus對(duì)話系統(tǒng)本項(xiàng)目由于是解密游戲,主要通過(guò)人物之間的對(duì)話和物品的介紹進(jìn)行劇情的補(bǔ)充,F(xiàn)ungus可以通過(guò)直觀的視覺(jué)腳本系統(tǒng)輕松地將敘事功能添加到Unity游戲中,而無(wú)需編寫(xiě)過(guò)多冗余的代碼。適用于制作視覺(jué)小說(shuō),RPG,隱藏對(duì)象,益智和互動(dòng)小說(shuō)游戲?;诹鞒虉D的角色對(duì)話將角色對(duì)話的國(guó)際化。能夠輕松控制子畫(huà)面,攝像機(jī)和音頻以幫助講述的故事,適用于2D和3D Unity游戲,易于與其他Unity代碼集成,并且易于擴(kuò)展。3.5.1 實(shí)現(xiàn)原理Fungus對(duì)

45、話框SayDialog如下圖所示,由Unity自帶的UI系統(tǒng)中一個(gè)Panel父節(jié)點(diǎn),NameText、Image、StoryText子節(jié)點(diǎn)組成。被FlowChart窗體中的Block塊中Say腳本調(diào)用,以進(jìn)行對(duì)話系統(tǒng)中的對(duì)話框的模板進(jìn)行顯示,開(kāi)發(fā)者可通過(guò)創(chuàng)建一個(gè)SayDialog來(lái)更換對(duì)話框的格式、位置和圖片。圖3-11 Fungus對(duì)話框原理SayDialog對(duì)話框主要運(yùn)用到Say Dialog這個(gè)腳本為主要腳本,通過(guò)FadeDuration來(lái)控制圖 中CanvasGroup中的Alpha來(lái)進(jìn)行對(duì)話框的顯示與消失,F(xiàn)adeDuration數(shù)值越大,Alpha值的增長(zhǎng)速度就越慢,對(duì)話框的顯示/

46、消失就越慢。所以一般選用0.25的默認(rèn)值即可。通過(guò)SayDialog腳本中的綁定NameText、Image、StoryText子節(jié)點(diǎn)中的各個(gè)組件,其中NameText將會(huì)調(diào)用右圖的character腳本語(yǔ)言中的NameText值和NameColor作為角色名字和名字顏色進(jìn)行顯示,頭像以右圖下方的Portraits的elementNum進(jìn)行添加,Size為頭像的數(shù)量;而每一個(gè)Character腳本又會(huì)被Block塊調(diào)用,形成多角色選擇的選項(xiàng),以讓開(kāi)發(fā)者進(jìn)行角色選擇對(duì)話,通過(guò)Command中的Say對(duì)象腳本中進(jìn)行選擇Character和相對(duì)應(yīng)的Portrait來(lái)顯示角色名字和角色頭像。(圖3-1

47、2和圖3-13)StoryText則是通過(guò)Block塊中的Say對(duì)象腳本中的StoryText進(jìn)行值傳遞,格式與位置將會(huì)根據(jù)綁定的StoryText子節(jié)點(diǎn)來(lái)決定。圖3-12 SayDialog對(duì)話框腳本(左)與Character腳本(右)圖3-13 Block塊3.5.2實(shí)現(xiàn)結(jié)果根據(jù)3.5.1的分析出的實(shí)驗(yàn)原理,對(duì)Fungus默認(rèn)的對(duì)話框進(jìn)行修改,優(yōu)化了角色名字的字體格式,更換了對(duì)話框的背景圖片,添加了人物的頭像以便分析,結(jié)果如圖3-14所示。圖3-14 對(duì)話框的修改第4章 游戲測(cè)試游戲質(zhì)量的好壞關(guān)系不僅影響用戶的體驗(yàn),也影響開(kāi)發(fā)商利潤(rùn)的高低,所以做好游戲測(cè)試是必要的,因此在游戲必須滿足一定的

48、質(zhì)量標(biāo)準(zhǔn)才能進(jìn)行發(fā)行。本章節(jié)用于測(cè)試的計(jì)算機(jī)硬件環(huán)境以及軟件環(huán)境于下表 5-1 所示。表5-1測(cè)試環(huán)境軟件與硬件環(huán)境參數(shù)值CPUIntel(R) Core(TM)i5-4210M 2.60GHz 雙核GPUNvidia GeForce 940MRAM8G操作系統(tǒng)Windows 10 專(zhuān)業(yè)版Unity版本Unity 2018.3.101f1主硬盤(pán) KINGDIAN S200 120GB4.1功能測(cè)試本項(xiàng)目所開(kāi)發(fā)的電子游戲是使用 Unity3D 引擎中 Build功能所做出的EXE 應(yīng)用軟件,為PC端游戲。并且調(diào)整游戲分辨率等一系列功能測(cè)試前置條件,做好了為其的功能測(cè)試。 本項(xiàng)目采用黑盒測(cè)試法觀察其游戲功能,并測(cè)試其各項(xiàng)功能的可行性。功能測(cè)試主要是依據(jù)需求分析中各個(gè)功能點(diǎn)是否達(dá)到相應(yīng)要求。測(cè)試方法:黑盒測(cè)試,作為用戶的角度進(jìn)行測(cè)試。測(cè)試詳情如下表5-2所示。表5-2游戲功能測(cè)試結(jié)果測(cè)試項(xiàng)目描述/操作預(yù)期結(jié)果可行性 開(kāi)始游戲游戲是否正常開(kāi)始游戲跳轉(zhuǎn)場(chǎng)景通過(guò)人物移動(dòng)按下鼠標(biāo)左鍵以及鍵盤(pán)WSAD 人物開(kāi)始移動(dòng)通過(guò)對(duì)話觸發(fā)人物按下交互鍵對(duì)話系統(tǒng)啟動(dòng)通過(guò)機(jī)關(guān)觸發(fā)人物按下交互鍵UI啟動(dòng)通過(guò)暫停游戲按下暫停按鈕游戲正常暫停通過(guò)UI交互查看游戲幫助或游戲設(shè)置正常顯示相關(guān)畫(huà)面通過(guò)4.2 游戲測(cè)試結(jié)果與討論在本次的游戲測(cè)試過(guò)程中,本項(xiàng)目的多次運(yùn)行從未發(fā)生卡死、重啟以及黑屏崩潰等不良現(xiàn)象

溫馨提示

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

評(píng)論

0/150

提交評(píng)論