• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Unity3D的三維生態(tài)莊園游戲設(shè)計(jì)與實(shí)現(xiàn)

      2015-05-15 10:10:48楊娜李杰廖金巧
      現(xiàn)代計(jì)算機(jī) 2015年1期
      關(guān)鍵詞:碰撞檢測(cè)控件莊園

      楊娜,李杰,廖金巧

      (北方工業(yè)大學(xué)信息工程學(xué)院,北京 100144)

      基于Unity3D的三維生態(tài)莊園游戲設(shè)計(jì)與實(shí)現(xiàn)

      楊娜,李杰,廖金巧

      (北方工業(yè)大學(xué)信息工程學(xué)院,北京 100144)

      為了實(shí)現(xiàn)三維生態(tài)莊園游戲系統(tǒng),在學(xué)習(xí)和掌握Unity3D知識(shí)的基礎(chǔ)上,研究Unity3D中的碰撞檢測(cè)技術(shù)、模型加載技術(shù)、人機(jī)交互技術(shù)等,實(shí)現(xiàn)角色控制、場(chǎng)景漫游等功能模塊;為了增加游戲的真實(shí)性,研究UniSky關(guān)鍵函數(shù)的應(yīng)用,實(shí)現(xiàn)游戲中的晴天、陰天等天氣效果。游戲具有良好的運(yùn)行效果,表明Unity3D對(duì)游戲的開發(fā)是一個(gè)有力的工具。

      Unity3D;碰撞檢測(cè);角色控制;UniSky

      0 引言

      三維游戲以計(jì)算機(jī)圖形學(xué)為基礎(chǔ),通過(guò)三維技術(shù)制作而成,可以將各個(gè)游戲元素以立體方式呈現(xiàn)出來(lái),其逼真的三維效果,良好的人機(jī)交互不但可以給用戶帶來(lái)愉悅的體驗(yàn),還可以促進(jìn)游戲市場(chǎng)的發(fā)展。無(wú)論是三維的動(dòng)作射擊游戲或是三維的角色扮演游戲,其設(shè)計(jì)和開發(fā)都離不開游戲引擎的支持,游戲引擎可以說(shuō)是游戲的總體框架,只要熟悉和掌握某游戲引擎,就可以縮短游戲開發(fā)周期,加快游戲開發(fā)進(jìn)度[1]。就目前來(lái)說(shuō),Unity3D游戲引擎本身強(qiáng)大的物理特性、跨平臺(tái)性等特點(diǎn),受到開發(fā)人員的歡迎。為了開發(fā)出逼真三維生態(tài)莊園游戲,對(duì)Unity3D游戲引擎進(jìn)行研究是非常有實(shí)際研究?jī)r(jià)值和意義的。

      1 相關(guān)工作

      目前,Unity3D主要應(yīng)用在二維和三維游戲的開發(fā)以及三維虛擬現(xiàn)實(shí)系統(tǒng)的制作上,國(guó)內(nèi)外對(duì)于Unity3D游戲引擎的開發(fā)具有不同程度上的研究。2011年,干建松[2]在Unity3D游戲引擎的基礎(chǔ)上開發(fā)了室內(nèi)漫游系統(tǒng),以第一視角按照固定路徑實(shí)現(xiàn)室內(nèi)家具等的展示;2012年,朱慧娟[3]通過(guò)研究Unity3D游戲引擎相關(guān)的關(guān)鍵技術(shù),實(shí)現(xiàn)了虛擬校園漫游系統(tǒng),在一定程度上為新生提供了方便;2013年,歐陽(yáng)攀等[4]人在Unity3D的基礎(chǔ)上,對(duì)場(chǎng)景實(shí)時(shí)驅(qū)動(dòng)、交互等方面進(jìn)行研究,實(shí)現(xiàn)了網(wǎng)絡(luò)版虛擬校園,讓大部分人可以通過(guò)網(wǎng)絡(luò)來(lái)瀏覽學(xué)校的情況。本文在學(xué)習(xí)和掌握Unity3D游戲引擎的基礎(chǔ)上,對(duì)其碰撞檢測(cè)、人機(jī)交互等技術(shù)進(jìn)行研究,從而較好地完成了三維生態(tài)莊園游戲的開發(fā)。

      2 三維生態(tài)莊園游戲的設(shè)計(jì)與實(shí)現(xiàn)

      為了完成三維生態(tài)莊園游戲的開發(fā),本文重點(diǎn)研究Unity3D游戲引擎本身的模型加載和碰撞檢測(cè)技術(shù),為了使三維環(huán)境更加具有真實(shí)性,研究與Unity3D相關(guān)的Unisky天氣效果插件,從物理系統(tǒng)、碰撞檢測(cè)等方面將三維生態(tài)莊園游戲劃分成人機(jī)交互、場(chǎng)景加載、天氣系統(tǒng)等部分,其設(shè)計(jì)如圖1所示。

      圖1 三維生態(tài)莊園游戲劃分

      2.1 角色控制

      角色控制是整個(gè)三維生態(tài)莊園游戲的核心,通過(guò)鼠標(biāo)和鍵盤來(lái)控制虛擬人物的行走,完成角色的漫游以及植物的播種、澆水等操作,而角色控制與碰撞檢測(cè)緊密相連,若沒有碰撞檢測(cè),角色可以任意行走,容易發(fā)生角色與場(chǎng)景穿透的現(xiàn)象。而合理的碰撞檢測(cè)可以增強(qiáng)游戲的真實(shí)性和趣味性,為了更好地完成游戲的開發(fā),本文對(duì)Unity3D中的碰撞檢測(cè)進(jìn)行研究,從組件方式、射線方式以及距離方式三方面進(jìn)行描述。

      組件方式是利用Unity3D游戲引擎本身含有的碰撞控件來(lái)實(shí)現(xiàn)的,可以依據(jù)不同的碰撞效果來(lái)選擇不同的碰撞控件,相對(duì)來(lái)說(shuō)比較簡(jiǎn)單;射線方式是借助Unity3D游戲引擎中的ScreenPointToRay關(guān)鍵方法來(lái)實(shí)現(xiàn),是沿某方向發(fā)射一條無(wú)終點(diǎn)的直線,碰到第一個(gè)待碰撞的物體就停止發(fā)射射線,并返回碰撞的物體信息,該方法可遠(yuǎn)距離實(shí)現(xiàn)碰撞,且應(yīng)用靈活,適合炮彈發(fā)射等方面;因Unity3D支持JS和C#腳本,且可以調(diào)用不同的外在的函數(shù)庫(kù),開發(fā)人員為了解決那個(gè)近距離碰撞檢測(cè)的問(wèn)題,可以判斷兩個(gè)物體的距離來(lái)確定下一步的操作,該方式更加靈活,但需要更好的編碼功底。可以說(shuō),這三種碰撞檢測(cè)方式各有千秋,可以依據(jù)游戲的開發(fā)來(lái)選擇不同的碰撞檢測(cè)方式。

      2.2 場(chǎng)景加載

      場(chǎng)景加載涉及到三維生態(tài)游戲的美術(shù)資源的導(dǎo)入,一般來(lái)說(shuō)Unity3D游戲引擎支持FBX格式的模型,為了更好地體驗(yàn)效果,避免出現(xiàn)加載的問(wèn)題,對(duì)于游戲中出現(xiàn)的地面、房屋等模型,尤其是需要添加動(dòng)畫的模型,需要導(dǎo)出成FBX格式的文件,這里注意的是將FBX格式的模型導(dǎo)入到Unity3D中會(huì)自動(dòng)生成對(duì)應(yīng)的材質(zhì)物件以及對(duì)應(yīng)的模型文件,為了完成游戲的開發(fā),避免模型的來(lái)回調(diào)用,一般將動(dòng)態(tài)的模型生成或圖片的加載實(shí)現(xiàn)處理成Prefab(預(yù)制對(duì)象),方便游戲的調(diào)用,減少資源的浪費(fèi)。

      2.3 天氣系統(tǒng)

      為了使游戲更加逼真,添加了晴天、陰天、雨天等天氣效果,用來(lái)影響植物的生長(zhǎng)。因Unity3D兼容性較好,為了節(jié)約開發(fā)成本,縮短開發(fā)周期,游戲中的天氣系統(tǒng)是通過(guò)UniSky插件實(shí)現(xiàn)的。UniSky是開發(fā)人員為了使用方便,將關(guān)鍵核心方法封裝成Unity3D中支持的控件,需要依據(jù)游戲的效果來(lái)添加或刪除不同的控件或使用不同的腳本,再通過(guò)微調(diào)各個(gè)參數(shù),從而實(shí)現(xiàn)晴天、陰天等天氣效果,提高了生態(tài)莊園游戲系統(tǒng)的體驗(yàn)性和真實(shí)性,下面簡(jiǎn)單描述下晴天天氣和雨天天氣的實(shí)現(xiàn),流程如圖2和圖3所示。

      圖2 晴天天氣實(shí)現(xiàn)流程

      圖3 雨天天氣的實(shí)現(xiàn)

      陰天天氣的實(shí)現(xiàn)是在晴天天氣的基礎(chǔ)上通過(guò)LerpSunIntensity關(guān)鍵函數(shù)來(lái)更改光線的明暗;后通過(guò)LerpCloudCover函數(shù)來(lái)增加云的厚度、數(shù)量及更改其顏色,從而實(shí)現(xiàn)陰天天氣的效果。而暴雨天氣效果的實(shí)現(xiàn)是通過(guò)SetStormCloudCover和LerpStormCloudCover關(guān)鍵函數(shù)設(shè)置雨量大小,通過(guò)生成暴雨粒子數(shù)量和加強(qiáng)場(chǎng)景中的風(fēng)力大小和環(huán)境音效,從而實(shí)現(xiàn)暴雨天氣的效果。

      2.4 音樂(lè)音效

      音樂(lè)音效是游戲中的重要組成部分,為了增加游戲的可玩性和趣味性,在游戲中添加人物行走音效、背景音樂(lè)等,增強(qiáng)游戲的真實(shí)性。Unity3D游戲引擎支持AIFF、WAV、MP3等格式,可以依據(jù)游戲的需要來(lái)選擇不同的格式,這里注意的是需要添加AudioSource控件,將相應(yīng)的音樂(lè)或音效拖入到對(duì)應(yīng)的控件中,后再通過(guò)腳本就可以執(zhí)行音樂(lè)或音效的播放。

      3 實(shí)驗(yàn)結(jié)果與分析

      本文通過(guò)研究Unity3D游戲引擎中的場(chǎng)景加載、角色控制等技術(shù),設(shè)計(jì)并開發(fā)了三維生態(tài)莊園游戲,從而驗(yàn)證借助Unity3D的游戲引擎進(jìn)行游戲開發(fā)的可行性和方便性。游戲開發(fā)所需的軟件環(huán)境是Unity3D以及Microsoft Visual Studio 2010。

      圖4(a)是將制作好的FBX模型導(dǎo)入U(xiǎn)nity3D中的效果,可以依據(jù)需要來(lái)調(diào)整模型的位置和大小。圖4(b)是虛擬人物在加載的場(chǎng)景中進(jìn)行漫游,通過(guò)控制鍵盤上的A、W、S、D來(lái)控制人物的上下左右的行走。圖4(c)是虛擬人物行走到帶碰撞物的房子面前,因存在的碰撞檢測(cè),虛擬人物無(wú)法穿越房子而過(guò),增加了游戲的真實(shí)性。圖4(d)是虛擬人物行走到土地旁,通過(guò)鼠標(biāo)點(diǎn)擊進(jìn)行澆水動(dòng)作,完成虛擬人物與植物間的操作。圖4(e),4(f)是利用UniSky插件相關(guān)的方法和函數(shù)來(lái)調(diào)整參數(shù),從而完成晴天、雨天等天氣效果。

      4 結(jié)語(yǔ)

      本文在熟悉Unity3D游戲引擎中各個(gè)組件和腳本的基礎(chǔ)上,按照設(shè)計(jì)的方案完整實(shí)現(xiàn)了三維生態(tài)莊園游戲的開發(fā),實(shí)現(xiàn)了場(chǎng)景加載、角色控制等功能,從而體現(xiàn)出Unity3D游戲引擎的強(qiáng)大性。為了避免物體穿插現(xiàn)象,提高游戲的真實(shí)性,重點(diǎn)研究了Unity3D中的碰撞檢測(cè)技術(shù)、UniSky天氣效果以及持久化數(shù)據(jù)管理技術(shù),為游戲的實(shí)現(xiàn)奠定基礎(chǔ);因游戲的視覺效果與美術(shù)資源相關(guān)也較大,而在本游戲中沒有太關(guān)注模型等的美觀程度,在一定程度上降低了場(chǎng)景的美觀程度,可以在修改完善功能的基礎(chǔ)上,進(jìn)一步完善和美化游戲場(chǎng)景資源。

      圖4 碰撞檢測(cè)方法效果圖

      [1] 伍傳敏,張帥,邱錦明.基于Unity3D的FPS游戲設(shè)計(jì)與開發(fā)[J].三明學(xué)院學(xué)報(bào),2012

      [2] 干建松.基于Unity3D的室內(nèi)漫游的關(guān)鍵技術(shù)研究[J].鹽城工學(xué)院學(xué)報(bào),2011

      [3] 朱慧娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012

      [4] 歐陽(yáng)攀,李強(qiáng),盧秀慧.基于Unity3D的虛擬校園開發(fā)研究與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013

      Design and Implementation of Three-Dimensional Ecological Manor Game Based on Unity3D

      YANG Na,LI Jie,LIAO Jin-qiao
      (College of Information Engineering,North China University of Technology,Beijing 100144)

      In order to realize the three-dimensional ecological manor game system,based on learning and mastering the knowledge of Unity3D,studies the technology of collision detection,model loading technology,human-computer interaction technology and so on,realizes the role control,scene roaming function module and so on.And in order to increase the authenticity of the game,researches on the application of UniSky's key function to realize the weather effects in the game such as sunny,cloudy and so on.The game has a good running effect, shows that Unity3D is a powerful tool in the game development.

      Unity3D;Collision Detection;Role Control;UniSky

      1007-1423(2015)01-0045-04

      10.3969/j.issn.1007-1423.2015.01.011

      楊娜(1993-),女,北京人,本科,研究方向?yàn)閿?shù)字娛樂(lè)、互動(dòng)媒體等

      李杰(1986-),男,河南南陽(yáng)人,碩士,研究方向?yàn)樘摂M現(xiàn)實(shí)、數(shù)字娛樂(lè)等

      2014-11-20

      2014-12-09

      北京市大學(xué)生科學(xué)研究與創(chuàng)業(yè)行動(dòng)計(jì)劃項(xiàng)目(No.NCUT2014008)

      廖金巧(1994-),男,安徽合肥人,本科,研究方向?yàn)閿?shù)字娛樂(lè)、互動(dòng)媒體等

      猜你喜歡
      碰撞檢測(cè)控件莊園
      珍瓏·青石子度假莊園
      全新預(yù)測(cè)碰撞檢測(cè)系統(tǒng)
      慢屋·青麥莊園
      在皇后山的茶莊園
      鴨綠江(2021年35期)2021-04-19 12:24:18
      基于BIM的鐵路信號(hào)室外設(shè)備布置與碰撞檢測(cè)方法
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      Unity3D中碰撞檢測(cè)問(wèn)題的研究
      動(dòng)物莊園
      看天下(2017年11期)2017-05-11 12:55:44
      BIM技術(shù)下的某辦公樓項(xiàng)目管線碰撞檢測(cè)
      就這樣玩會(huì)VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      洱源县| 东宁县| 石景山区| 内黄县| 渭源县| 巩义市| 隆林| 祥云县| 吉安市| 湖口县| 岫岩| 罗山县| 苍溪县| 浑源县| 本溪市| 华亭县| 鸡西市| 巴马| 清苑县| 井冈山市| 新化县| 陇南市| 手游| 化德县| 年辖:市辖区| 东莞市| 福州市| 昭觉县| 千阳县| 辰溪县| 兖州市| 沽源县| 拉萨市| 邢台市| 宜春市| 宿州市| 瑞金市| 石泉县| 黑龙江省| 鹿邑县| 承德市|