前言:想要寫出一篇引人入勝的文章?我們特意為您整理了VR摘西瓜游戲制作技術淺議范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:為了滿足人們虛擬采摘西瓜的愿望,提出一種vr摘西瓜游戲制作技術:首先使用Maya軟件創(chuàng)建游戲3D模型,接著使用QuixelBridge軟件制作材質,然后使用Unity3D軟件搭建游戲場景、制作音效、設計圖形界面和設置SteamVR插件,最后通過C#腳本編寫游戲界面按鈕代碼和音效代碼。實驗測試結果表明:制作的VR摘西瓜游戲交互性能強,畫面逼真,體驗效果好。能夠給體驗者帶來虛擬采摘樂趣,具有一定的推廣應用價值。
關鍵詞:VR摘西瓜;游戲制作;Unity3D;射線瞬移;C#腳本
0引言
隨著人們生活水平的提高和生活節(jié)奏的加快,市民對農村的田野生活越來越疏遠。城里長大的孩子對蔬菜和水果的生長知識知之甚少,一些家長為了給孩子補充常識,會在周末或節(jié)假日帶著孩子去城郊或農村采摘園進行采摘活動,采摘蔬菜和水果已成為市民親近自然、感受自然的一種新型的休閑方式。但是,對那些工作十分忙碌的家長而言,很少有時間帶孩子去鄉(xiāng)村體驗采摘生活[1]。據此,設計與制作了一款VR摘西瓜小游戲,希望能夠滿足市民足不出戶、虛擬采摘西瓜的愿望,從而達到親近自然、感受自然的目的。
1游戲設計
1.1軟件工具與方法
使用Unity3D(2019版)作為游戲開發(fā)主軟件。使用Maya軟件創(chuàng)建游戲3D模型,將“瓜棚”“干草卷”等3D模型導出為.fbx格式文件,并拖到Unity3D的Project視圖中,再逐一添加MeshCollider網格碰撞體,使用SteamVR插件、射線瞬移和編寫C#腳本實現西瓜地的交互式漫游設計[2-3]。使用QuixelBridge軟件制作材質,導入Unity3D軟件中,并賦予3D模型材質(直接將材質庫里的西瓜模型導出到Unity3D中)。將音效文件yinxiao.mp3拖至Unity3D的Project視圖Assets中,通過Compo-nent/Audio/AudioSource添加音頻源。
1.2游戲交互設計
在使用Unity3D軟件搭建完成“地形”“樹木”等游戲場景后(如圖1所示),接著進行游戲交互設計。本游戲的交互設計流程是:首先進入游戲首界面,點“開始游戲”按鈕進入游戲,通過射線瞬移可移至西瓜地的每一個角落,用HTCVive兩個手柄的扳機鍵可以采摘西瓜,可把采摘的西瓜都集中在瓜棚下。
2游戲制作關鍵技術
本游戲的主要制作流程是:按VR摘西瓜游戲要求調研分析各個模塊的功能,如具體制作中,虛擬場景中的模型和紋理貼圖都來源于真實場景,使用Maya軟件創(chuàng)建游戲3D模型,使用QuixelBridge軟件制作材質,使用Unity3D軟件搭建游戲場景、制作圖形界面、設置SteamVR插件、編寫C#腳本語句、制作音效和發(fā)布游戲[4-5]。
2.1游戲首界面按鈕交互控制
2.2創(chuàng)建玩家預設體Player在Unity3D資源商店中搜索并下載安裝SteamVR插件,將Project視圖中的玩家預設體Player拖入到Scene視圖的游戲場景中,關閉主攝像機MainCamera,點播放按鈕,戴上HTCVive頭盔,以玩家Player視角進入游戲場景。
2.3射線瞬移交互控制
首先將SteamVR中的Teleporting.prefab拖到游戲場景中,添加射線瞬移預設體。接著復制一個地面(Plane1)用于傳送區(qū)域處理,將TeleportArea.cs添加到Plane1上。再找到SteamVR中的Tele-portPoint.prefab拖到游戲場景中,點擊HTCVive手柄的觸控板控制射線瞬移。按此方法,在西瓜地各角落中添加若干個Teleportpoint.prefab[6-7],可實現整個西瓜地中的定點射線瞬移。
2.4抓取拋擲制作
為西瓜添加剛體Rigidbody組件、速度估算腳本VelocityEstimator、懸停事件InteractableHover-Events、拋擲Throwable后,就可以使用HTCVive兩個手柄的扳機鍵采摘、拋擲西瓜。
2.5給游戲添加音效
選中西瓜,為西瓜添加SphereCollider組件。在西瓜上添加一個AudioSource組件,并指定Au-dioClip為音效文件yinxiao.mp3。取消勾選PlayOnAwake和Loop復選框。在Project視圖中創(chuàng)建一個新的腳本,將其命名為GuaCollider.cs,輸入下列代碼[8-9]:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassGuaCollider:MonoBehaviour{//定義一個AudioSource對象AudioSourceguaAudio;voidStart(){//初始化音效guaAudio=GetComponent<AudioSource>();}//當發(fā)生碰撞的時候調用該方法publicvoidOnCollisionEnter(Collisioncollision){//播放音效guaAudio.Play();}}。
2.6游戲的發(fā)布
在Unity3D的菜單欄中選擇File→BuildSettings命令,在Platform處選擇默認的PC,Mac&LinuxStandalone,單擊Build按鈕[10-11],選擇可執(zhí)行文件保存的路徑,然后等待生成可執(zhí)行文件,即可完成游戲發(fā)布到PC平臺。
3實驗測試
3.1實驗測試平臺圖2游戲首界面實驗測試選用的測試平臺是VR圖形運算工作站:i7-9700CPU;操作系統(tǒng):Windows10,64位;內存:32GB;顯卡:GeForceRTX2060SUPER;HTCVive頭盔,HTCVive操控手柄。
3.2實驗測試與結果分析
直接運行該游戲的.exe文件,進入游戲的首界面(如圖2所示)。點“開始游戲”按鈕進入游戲,戴上HTCVive頭盔,通過兩個HTCVive操控手柄可實現在西瓜地中的交互式虛擬漫游。(1)射線瞬移測試。使用HTCVive手柄操控,通過射線瞬移可準確地傳送到西瓜地中預設的若干個傳送點(如圖3、圖4所示)。本測試通過,定點傳送準確。(2)采摘西瓜體驗測試。通過HTCVive操控手柄可采摘西瓜(如圖5所示),并可搬運西瓜至目的地(如圖6所示)。測試通過,體驗效果良好。(3)音效測試。當西瓜落到地面上時,就會發(fā)出音效聲。本測試通過,聲音效果良好。
4結語
本研究完成的小游戲實現了VR采摘西瓜的體驗效果,能夠為體驗者帶來摘西瓜的喜悅感,達到了親近自然、感受自然的目的。但游戲的交互體驗項目偏少、動景少、天空中無飛鳥、無人物元素等。下一步的研究將增加游戲的交互式體驗項目,豐富游戲的動態(tài)場景元素,使得游戲場景元素更加豐富、娛樂性能更強。
作者:魏三強 蔣正銓 張曉光 單位:宿州職業(yè)技術學院 中國礦業(yè)大學