前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了VR技術(shù)下密室逃脫游戲制作與設(shè)計(jì)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
摘要:密室逃脫游戲需要玩家在有限空間內(nèi)不斷搜集線(xiàn)索與道具對(duì)其進(jìn)行破譯和組合,完成解密。通過(guò)Unity引擎開(kāi)發(fā)一款反映現(xiàn)實(shí)社會(huì)問(wèn)題的密室逃脫游戲,使玩家對(duì)游戲劇情所映射出來(lái)的問(wèn)題進(jìn)行反思,具有重大的社會(huì)意義。該文將游戲劇情集中關(guān)注與揭露不良PUA的行為方式與危害,基于虛擬現(xiàn)實(shí)技術(shù)對(duì)密室逃脫類(lèi)游戲進(jìn)行研究,設(shè)計(jì)并制作了密室場(chǎng)景及相關(guān)道具線(xiàn)索,系統(tǒng)設(shè)計(jì)過(guò)程中充分集成利用三維建模技術(shù)、碰撞檢測(cè)算法、人機(jī)交互技術(shù)、圖形UI界面設(shè)計(jì)、C#腳本代碼編寫(xiě)等方法,并設(shè)計(jì)合理的劇情發(fā)展及線(xiàn)索。
關(guān)鍵詞:虛擬現(xiàn)實(shí);密室逃脫游戲;實(shí)時(shí)漫游;人機(jī)交互
密室逃脫類(lèi)游戲是一種冒險(xiǎn)類(lèi)的益智游戲,玩家需要進(jìn)行邏輯性的破譯或組合,不斷收集與合成新的線(xiàn)索的道具,并最終完成密室的解密。密室逃脫類(lèi)游戲具有很強(qiáng)的故事性,可以讓玩家在游戲的過(guò)程中對(duì)故事劇情的發(fā)展產(chǎn)生思考,并能夠從中有所感悟。將現(xiàn)實(shí)中存在的矛盾與沖突融入游戲劇情中,利用虛擬現(xiàn)實(shí)技術(shù)將問(wèn)題以及可能產(chǎn)生的后果以沉浸式方式展示給玩家,能夠使玩家對(duì)現(xiàn)實(shí)有更深入的思考。
1游戲開(kāi)發(fā)框架與實(shí)現(xiàn)流程
本系統(tǒng)主要是針對(duì)PC端用戶(hù),從游戲場(chǎng)景與劇情的構(gòu)思、三維模型的制作、圖像素材的制作和處理、Unity引擎內(nèi)游戲場(chǎng)景的搭建以及UI交互設(shè)計(jì)和邏輯實(shí)現(xiàn)這五部分進(jìn)行設(shè)計(jì)制作。其中,前期準(zhǔn)備中需完成三維模型設(shè)計(jì)、貼圖制作渲染、動(dòng)畫(huà)設(shè)計(jì)、圖像線(xiàn)索設(shè)計(jì)等部分;在Unity引擎中使用UGUI系統(tǒng),通過(guò)C#語(yǔ)法規(guī)則和Unity引擎特有的應(yīng)用程序編程接口(API),完成游戲中場(chǎng)景的跳轉(zhuǎn)、游戲的進(jìn)入和退出、物體動(dòng)畫(huà)的觸發(fā)、密碼的輸入等功能的實(shí)現(xiàn)。
2游戲場(chǎng)景模型及動(dòng)畫(huà)設(shè)計(jì)
建立一個(gè)虛擬現(xiàn)實(shí)系統(tǒng)的關(guān)鍵問(wèn)題是對(duì)系統(tǒng)的建模與仿真[1]。首先根據(jù)預(yù)想的游戲場(chǎng)景,確定場(chǎng)景的樓層數(shù)和每層房間的位置與面積;用CAD簡(jiǎn)單制作每層的平面圖,并在3DsMax中制作三維的樓體;需要在場(chǎng)景中出現(xiàn)的三維模型,在3DsMax綜合運(yùn)用擠出、連接、倒角、倒角坡面、渦輪平滑、車(chē)削等功能,制作出風(fēng)格統(tǒng)一的模型。教學(xué)樓仿真模型的制作主要包含三大樓層多種類(lèi)型教室:音樂(lè)教室、圖書(shū)室、普通教室、禮堂、儲(chǔ)物間等,以及多種家具模型,如垃圾簍、桌椅、書(shū)柜、風(fēng)扇、黑板等多種基礎(chǔ)模型。
3系統(tǒng)的功能設(shè)計(jì)與實(shí)現(xiàn)
3.1光線(xiàn)效果分析與手電效果
通過(guò)分析調(diào)研市面相似游戲,為營(yíng)造緊張的氛圍,場(chǎng)景光線(xiàn)效果一般為昏暗或忽明忽暗的光線(xiàn),本游戲采用手電筒光進(jìn)行照明,場(chǎng)景中未添加光源,同時(shí)手電筒應(yīng)跟隨玩家視角進(jìn)行移動(dòng)。開(kāi)關(guān)效果通過(guò)if條件判斷語(yǔ)句判斷布爾值真假以此來(lái)調(diào)用Light。具體的手電筒開(kāi)關(guān)效果如圖1所示,選用FirstPer⁃sonCharacter以及spotlight聚光燈源,可調(diào)節(jié)光源的照射范圍、光線(xiàn)角度、照射強(qiáng)度、光照顏色、反射強(qiáng)度等選項(xiàng),使手電筒的效果更加逼真。
3.2動(dòng)畫(huà)播放控制與背景音樂(lè)切換
游戲中的模型需要制作動(dòng)畫(huà)控制器控制動(dòng)畫(huà)的播放。如圖2所示,在Project面板中新建一個(gè)動(dòng)畫(huà)控制器,將模型及動(dòng)畫(huà)文件拖動(dòng)到控制器面板,創(chuàng)建空狀態(tài)empty;將空狀態(tài)和動(dòng)畫(huà)之間建立過(guò)度maketransition,此時(shí)會(huì)從empty上延伸出一段線(xiàn)條,把線(xiàn)條的另一端點(diǎn)放在動(dòng)畫(huà)上。為了能使模型再回到原始狀態(tài),需要在導(dǎo)入相同的動(dòng)畫(huà),把動(dòng)畫(huà)的播放速度改為負(fù)值,實(shí)現(xiàn)了動(dòng)畫(huà)的倒放,按照?qǐng)D2中的方法實(shí)現(xiàn)連接,并在過(guò)渡線(xiàn)段上分別添加控制動(dòng)畫(huà)播放的布爾。播放動(dòng)畫(huà)的關(guān)鍵代碼如下:publicvoidOpenDoorTiaoJian()//聲明播放第一段動(dòng)畫(huà)的條件{animator.SetBool("OpenDoor",true);animator.SetBool("CloseDoor",false);music.Play();}privatevoidOnMouseDown()//聲明一個(gè)鼠標(biāo)點(diǎn)擊事件{isAn=!isAn;if(isAn)//判斷當(dāng)前模型的狀態(tài){CloseDoorTianJian();}else{OpenDoorTiaoJian();}print(isAn);}publicvoidCloseDoorTianJian()//聲明播放第二段動(dòng)畫(huà)的條件{animator.SetBool("CloseDoor",true);animator.SetBool("OpenDoor",false);}
3.3高亮狀態(tài)顯示與線(xiàn)索查看
在密室逃脫游戲中,線(xiàn)索不能夠輕易被發(fā)現(xiàn),只有執(zhí)行了指定的動(dòng)作或者進(jìn)入了指定的區(qū)域內(nèi),才有被觸發(fā)的可能。本游戲中發(fā)現(xiàn)線(xiàn)索的邏輯是這樣的:玩家進(jìn)入指定區(qū)域后,游戲道具會(huì)以高亮的輪廓線(xiàn)框提示玩家,玩家處于可觸發(fā)的范圍內(nèi)點(diǎn)擊道具,就能查看道具的詳細(xì)信息,按Z鍵可以關(guān)閉詳情頁(yè)。功能實(shí)現(xiàn)通過(guò)添加觸發(fā)器與碰撞器并利用bool值進(jìn)行條件判斷,具體實(shí)現(xiàn)代碼如下:usingcakeslice;//調(diào)用OutlineEffect的命名空間publicGameObjecttupian1;publicGameObjecttupian2;publicOutlinem_outline;privateboolisTrigger=false;//聲明游戲組件、高亮組件和布爾privatevoidOnTriggerStay(Colliderother){if(other.tag.Equals("Player"))//判斷玩家是否進(jìn)入觸發(fā)器中{if(Input.GetKeyDown(KeyCode.Z)){tupian1.SetActive(false);tupian2.SetActive(false);}//輸入Z鍵圖片消失}}publicvoidopenPaper()//建立鼠標(biāo)的點(diǎn)擊事件{if(isTrigger)//判斷布爾值是否為真{tupian1.SetActive(true);//為真時(shí)點(diǎn)擊模型可以示圖片}}
4結(jié)果
利用虛擬現(xiàn)實(shí)軟件開(kāi)發(fā)了基于社會(huì)問(wèn)題不良PUA的三維密室逃脫游戲,可通過(guò)游戲初始界面進(jìn)入游戲完成線(xiàn)索搜集及解謎通關(guān)。密室環(huán)境首先利用AutoCAD對(duì)教學(xué)樓場(chǎng)景進(jìn)行平面設(shè)計(jì)與合理安排,運(yùn)用3DStudioMax對(duì)整體環(huán)境以及各種物品進(jìn)行建模,通過(guò)PhotoShop制作相關(guān)貼圖,實(shí)現(xiàn)物品與相關(guān)線(xiàn)索的聯(lián)系。其次,將模型導(dǎo)出為.fbx格式導(dǎo)入U(xiǎn)nity3D中,通過(guò)對(duì)場(chǎng)景內(nèi)光源選擇營(yíng)造緊迫氣氛、音效調(diào)控跳轉(zhuǎn)、碰撞檢測(cè)技術(shù)、高亮效果的改進(jìn)實(shí)現(xiàn)用戶(hù)在游戲場(chǎng)景中的高仿真實(shí)時(shí)漫游模擬,漫游過(guò)程中可通過(guò)劇情線(xiàn)索的搜索不斷了解不良PUA的搭訕技巧及其危害性,避免個(gè)人落入相關(guān)陷阱中,充分地將社會(huì)問(wèn)題與游戲相結(jié)合,更大程度地反映劇情及社會(huì)問(wèn)題。
參考文獻(xiàn)
[1]劉賢梅,石楊,趙婭,等.基于虛擬現(xiàn)實(shí)的室內(nèi)仿真操作系統(tǒng)研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2020(1):149-154.
作者:張勝男 司占軍 李晗 單位:天津科技大學(xué)輕工科學(xué)與工程學(xué)院
本站为第三方开放式学习交流平台,所有内容均为用户上传,仅供参考,不代表本站立场。若内容不实请联系在线客服删除,服务时间:8:00~21:00。