?

一種VR摘西瓜游戲制作技術*

2022-05-09 09:24魏三強蔣正銓張曉光
關鍵詞:手柄視圖射線

魏三強,蔣正銓,張曉光

(1.宿州職業技術學院 計算機信息系,安徽 宿州 234101;2.中國礦業大學 信息與控制工程學院,江蘇 徐州 221116)

0 引言

隨著人們生活水平的提高和生活節奏的加快,市民對農村的田野生活越來越疏遠。城里長大的孩子對蔬菜和水果的生長知識知之甚少,一些家長為了給孩子補充常識,會在周末或節假日帶著孩子去城郊或農村采摘園進行采摘活動,采摘蔬菜和水果已成為市民親近自然、感受自然的一種新型的休閑方式。但是,對那些工作十分忙碌的家長而言,很少有時間帶孩子去鄉村體驗采摘生活[1]。據此,設計與制作了一款VR摘西瓜小游戲,希望能夠滿足市民足不出戶、虛擬采摘西瓜的愿望,從而達到親近自然、感受自然的目的。

1 游戲設計

1.1 軟件工具與方法

使用Unity 3D(2019版)作為游戲開發主軟件。使用Maya軟件創建游戲3D模型,將“瓜棚”“干草卷”等3D模型導出為.fbx格式文件,并拖到Unity 3D的Project視圖中,再逐一添加Mesh Collider網格碰撞體,使用Steam VR插件、射線瞬移和編寫C#腳本實現西瓜地的交互式漫游設計[2-3]。使用Quixel Bridge軟件制作材質,導入Unity 3D軟件中,并賦予3D模型材質(直接將材質庫里的西瓜模型導出到Unity 3D中)。將音效文件yinxiao.mp3拖至Unity 3D的Project視圖Assets中,通過Component/Audio/Audio Source添加音頻源。

1.2 游戲交互設計

在使用Unity 3D軟件搭建完成“地形” “樹木”等游戲場景后(如圖1所示),接著進行游戲交互設計。本游戲的交互設計流程是:首先進入游戲首界面,點“開始游戲”按鈕進入游戲,通過射線瞬移可移至西瓜地的每一個角落,用HTC Vive兩個手柄的扳機鍵可以采摘西瓜,可把采摘的西瓜都集中在瓜棚下。

圖1 游戲場景截圖

2 游戲制作關鍵技術

本游戲的主要制作流程是:按VR摘西瓜游戲要求調研分析各個模塊的功能,如具體制作中,虛擬場景中的模型和紋理貼圖都來源于真實場景,使用Maya軟件創建游戲3D模型,使用Quixel Bridge軟件制作材質,使用Unity 3D軟件搭建游戲場景、制作圖形界面、設置Steam VR插件、編寫C#腳本語句、制作音效和發布游戲[4-5]。

2.1 游戲首界面按鈕交互控制

創建腳本ShouJiemian.cs,“開始游戲”按鈕、“結束游戲”按鈕的代碼編寫如下:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.SceneManagement;

public class ShouJiemian : MonoBehaviour

{

public void PlayGame( )

{

SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);

}

public void QuitGame( )

{

Debug.Log("QUIT!");

Application.Quit( );

}

}。

2.2 創建玩家預設體Player

在Unity 3D資源商店中搜索并下載安裝Steam VR插件,將Project視圖中的玩家預設體Player拖入到Scene視圖的游戲場景中,關閉主攝像機Main Camera,點播放按鈕,戴上HTC Vive頭盔,以玩家Player視角進入游戲場景。

2.3 射線瞬移交互控制

首先將SteamVR中的Teleporting.prefab拖到游戲場景中,添加射線瞬移預設體。接著復制一個地面(Plane1)用于傳送區域處理,將TeleportArea.cs添加到Plane1上。再找到SteamVR中的TeleportPoint.prefab拖到游戲場景中,點擊HTC Vive手柄的觸控板控制射線瞬移。按此方法,在西瓜地各角落中添加若干個Teleportpoint.prefab[6-7],可實現整個西瓜地中的定點射線瞬移。

2.4 抓取拋擲制作

為西瓜添加剛體Rigidbody組件、速度估算腳本VelocityEstimator、懸停事件InteractableHoverEvents、拋擲Throwable后,就可以使用HTC Vive兩個手柄的扳機鍵采摘、拋擲西瓜。

2.5 給游戲添加音效

選中西瓜,為西瓜添加Sphere Collider組件。在西瓜上添加一個Audio Source組件,并指定AudioClip為音效文件yinxiao.mp3。取消勾選Play On Awake和Loop復選框。在Project視圖中創建一個新的腳本,將其命名為GuaCollider.cs,輸入下列代碼[8-9]:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class GuaCollider : MonoBehaviour

{

//定義一個AudioSource對象

AudioSource guaAudio;

void Start( )

{

//初始化音效

guaAudio = GetComponent( );

}

//當發生碰撞的時候調用該方法

public void OnCollisionEnter(Collision collision)

{

//播放音效

guaAudio.Play( );

}

}。

2.6 游戲的發布

在Unity 3D的菜單欄中選擇File→Build Settings命令,在Platform處選擇默認的PC,Mac & Linux Standalone,單擊Build按鈕[10-11],選擇可執行文件保存的路徑,然后等待生成可執行文件,即可完成游戲發布到PC平臺。

3 實驗測試

3.1 實驗測試平臺

實驗測試選用的測試平臺是VR圖形運算工作站:i7-9700 CPU;操作系統:Windows 10,64位;內存:32GB;顯卡:GeForce RTX 2060 SUPER;HTC Vive頭盔,HTC Vive操控手柄。

3.2 實驗測試與結果分析

直接運行該游戲的.exe文件,進入游戲的首界面(如圖2所示)。點“開始游戲”按鈕進入游戲,戴上HTC Vive頭盔,通過兩個HTC Vive操控手柄可實現在西瓜地中的交互式虛擬漫游。

圖2 游戲首界面

(1)射線瞬移測試。使用HTC Vive手柄操控,通過射線瞬移可準確地傳送到西瓜地中預設的若干個傳送點(如圖3、圖4所示)。本測試通過,定點傳送準確。

圖3 射線瞬移傳送點 圖4 射線瞬移測試

(2)采摘西瓜體驗測試。通過HTC Vive操控手柄可采摘西瓜(如圖5所示),并可搬運西瓜至目的地(如圖6所示)。測試通過,體驗效果良好。

圖5 摘西瓜測試 圖6 搬運西瓜測試

(3)音效測試。當西瓜落到地面上時,就會發出音效聲。本測試通過,聲音效果良好。

4 結語

本研究完成的小游戲實現了VR采摘西瓜的體驗效果,能夠為體驗者帶來摘西瓜的喜悅感,達到了親近自然、感受自然的目的。但游戲的交互體驗項目偏少、動景少、天空中無飛鳥、無人物元素等。下一步的研究將增加游戲的交互式體驗項目,豐富游戲的動態場景元素,使得游戲場景元素更加豐富、娛樂性能更強。

猜你喜歡
手柄視圖射線
基于PLC控制的手柄座鉆孔攻絲一體機的研發
“直線、射線、線段”檢測題
『直線、射線、線段』檢測題
一種多功能無線手柄的設計
5.3 視圖與投影
視圖
Y—20重型運輸機多視圖
SA2型76毫米車載高炮多視圖
赤石脂X-射線衍射指紋圖譜
γ射線輻照改性聚丙烯的流變性能研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合