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