

摘 ?要:“海洋衛士”VR游戲的設計與實現,主要是對VR游戲機制、場景設計、交互界面和技術實現等方面進行研究,重點分析VR游戲的設計思路以及3D場景建模、UI交互設計與實現、C#編程語言關鍵功能的實現以及VR游戲的發布與運行等關鍵技術,最終開發設計出了了充滿趣味性、沉浸感的VR游戲,讓高職學生掌握游戲設計開發技術的同時,也能夠在游戲過程中喚起對于海洋環境保護的重視。
關鍵詞:Unity3D;海洋垃圾清理;VR游戲設計;虛擬現實
中圖分類號:TP391.9;TP317 ? ? 文獻標識碼:A 文章編號:2096-4706(2020)21-0094-03
Design and Implementation of Marine Garbage Cleaning VR Game Based on U3D
PAN Shujie
(Suzhou Branch of Jiangsu United Vocational and Technical College,Suzhou ?215009,China)
Abstract:The design and implementation of the “Guardian of the Ocean” VR game mainly focuses on the research of VR game mechanism,scene design,interactive interface and technical realization,focusing on the analysis of VR game design ideas,3D scene modeling,UI interaction design and implementation,the realization of key functions of the C# programming language and key technologies such as the release and operation of VR games have finally developed and designed interesting and immersive VR games,allowing vocational students to master the game design and development technology,they can also arouse the attention to marine environmental protection during the game.
Keywords:Unity3D;marine garbage cleaning;VR game design;virtual reality
0 ?引 ?言
基于本人在高職院校多年從事VR游戲開發方面的教學經驗,以及對于高職虛擬現實項目技能大賽的指導經歷,發現高職學生由于計算機程序基礎相對薄弱、藝術創新能力不足等方面的問題,使得其難以在VR游戲設計開發中創建美觀逼真的游戲場景、設計與實現流暢的交互功能,另外對于Pico VR眼鏡、HTC Vive頭顯設備等VR設備的運用以及VR游戲的跨平臺發布也往往會力不從心。因此,本人借助“海洋衛士”VR游戲設計與開發這一課題的研究,詳細闡述了VR游戲的機制設計、游戲場景制作、UI交互界面設計、關鍵技術的實現以及VR游戲發布與運行等整個VR游戲的設計開發流程,希望可以讓高職學生掌握Unity3D、3Dmax、C#語言、HTC Vive等VR游戲開發的流程和技術,提高學生的專業技能和職業素養;也希望能通過交互性強、場景逼真、沉浸感強的VR環境保護游戲開發的參與和體驗,能夠強化高職學生海洋環境保護意識。
1 ?游戲主題與機制設計
“海洋衛士”這款VR游戲是以海洋垃圾清理、海洋環境保護為主題的單人RPG游戲,游戲背景是目前隨著人類經濟水平的提升、工業化進程的不斷加快以及人類海洋活動的日益頻繁,海洋垃圾日漸增多,給海洋生態環境造成了嚴重的影響,時刻威脅著海洋生物的生命以及海洋生態系統的平衡,因此對于海洋垃圾的清理是治理海洋環境污染問題的主要措施。游戲主線以圍繞“海洋垃圾清理”這一主線任務,設計了5中不同的海洋場景,10種常見垃圾(香煙頭、塑料袋、快餐盒、玻璃瓶、塑料袋、木材、飲料罐、漁網、有機農藥、石油),玩家根據場景和污染物的不同進行垃圾清理,獲取分數、贏得游戲的同時,讓玩家掌握不同垃圾的危害程度。
整個“海洋衛士”游戲的游戲機制設計,是將趣味性與教育性相結合,打造出挑戰豐富、樂趣十足、平衡良好的、可玩性高的游戲機制,借助逼真的三維海洋環境、絢麗的游戲特效、引導和人性化的交互方式、沉浸感強的VR體驗,引導玩家在通過清理不同垃圾來獲取不同的積分,拾取隨機獎勵來獲得垃圾清理新工具,通過扮演不同的角色來完成游戲關卡。
2 ?游戲場景和UI交互設計
2.1 ?游戲場景設計與實現
“海洋衛士”游戲中的場景設計充分結合海洋地形的實際情況,以大陸邊緣、大洋盆地、大洋中脊三種基本地形作為設計依據和參考,設計了海面、深水海域、海溝、海底平原、海底山脈五個場景。以海底山脈場景設計與制作為例,一方面是利用3Dmax軟件多邊形工具進行三維模型的創建,UV編輯器和Photoshop進行貼圖繪制,燈光搭建與材質烘焙輸出,最終以FBX格式文件導入到Unity3D引擎當中,形成基礎的游戲場景,如圖1所示。另一方面環境中的特效,如不斷上浮的水泡、懸浮的白色垃圾、海面上的太陽光斑、海水的潮汐涌動等,借助Unity3D的“Particle System”功能創建粒子,通過粒子的材質貼圖創建“氣泡”“絮狀物”等物體,并通過對于粒子“Shape Module”“Force Over Lifetime Module”等參數調整實現最終的海洋特效,進而創建出逼真的VR游戲場景。
2.2 ?UI交互設計與實現
對于“海洋衛士”游戲的UI交互設計,主要是建立在HTC Vive頭顯設備、Pico VR眼鏡等VR游戲的交互設備,利用手柄、眼鏡準星懸停、觸摸、按鍵等交互方式之上,對于游戲說明、任務引導、垃圾清理方式、獎勵獲取等都是采用文本顯示、準心懸停、箭頭引導、按鍵確定等方法實現交互。比如在海洋垃圾顯示時通過紅色閃動的箭頭進行引導,通過紅色的準心懸停進行垃圾的清理,讓玩家在戴上VR設備進行通關的過程中可以高效準確地獲取游戲任務、發現海洋垃圾、快速清理垃圾、躲避海洋危險物品、獲取獎勵。使用C#編程語言,快速定義不同類型的游戲引導文本、隨機添加不同種類的垃圾引導方式、通過按鍵的懸停實現動畫的播放與暫停等,具體實現方式使用switch語句,分列三種情況進行對話框的開啟和垃圾交互程序的實現,具體C#代碼為:
switch (GameManager.Instance.currentIndex)
{
//如果是第二個對話框的按鈕
case 1:
DeadFish.SetActive(true);
break;
//如果是第三個對話框的按鈕
case 2:
//開啟第一個垃圾的交互
GameManager.Instance.Garbages[0].SendMessage ("IsInteractive", true);
break;
//如果是第四個對話框的按鈕
case 3:
//開啟當前可交互垃圾的交互
GameManager.Instance.Garbages[GameManager.Instance.currentGarbage].SendMessage("IsInteractive", true);
//開啟柵欄沖撞
GameManager.Instance.Garbages[3].SendMessage("Fence Collision");
//開啟攝像頭躲避
Camera.main.transform.parent.GetComponent
break;
}
3 ?關鍵技術實現
3.1 ?初始物體的定義與管理
由于游戲場景中所涉及到的物體、特效、交互方式眾多,對于眾多物體的創建、管理和調用是游戲設計與實現的關鍵所在,因此在“海洋衛士”游戲中本人創建了一個GameManager腳本作為一個管理器,對于游戲中文本框、游戲物體、交互方式等進行初始化和配置,增加游戲的可讀性、可修改性,提高后期維護的效率。比如通過public公共變量定義了public GameObject[] Notices;等參數。
3.2 ?獎勵獲取和危險躲避
在“海洋衛士”垃圾清理游戲中,玩家在領取游戲任務之后,除了在UI元素的引導下進行垃圾物體的偵查、清理之外,還需要通過攝像機的準心獲取漂浮過來的獎勵,調整鏡頭視角躲避飛過來的障礙物等危險,一方面可以大大提升游戲的的新鮮感和刺激性,激發玩家清理海洋垃圾的興趣;另一方面也可以讓玩家了解海洋垃圾的危害以及清理海洋垃圾的必要性。比如對于海洋垃圾清理過程中隨機出現的“危險”,玩家通過攝像機視角控制和準心懸停進行躲避的技術實現,主要是通過以下C#語言來實現:
if (GameManager.Instance.currentGarbage < 2)
{
GameManager.Instance.currentGarbage++;
}
else
{
GameManager.Instance.gameObject.GetComponent
}
GameManager.Instance.Garbages[GameManager.Instance.currentGarbage].SendMessage("IsInteractive", true);
gameObject.SetActive(false);
}
3.3 ?VR效果實現
VR游戲相對于傳統的三維游戲而言,借助外在的VR設備進行觀看和體驗,具有更優質的視覺畫面、更強游戲沉浸感、更流暢的人性化交互體驗。“海洋衛士”游戲VR效果的實現,除了外在的VR穿戴設備之外,更重要是在交互方式、攝像機設置、發布方式等方面的技術實現。另外,VR游戲的運行都是基于Pico VR眼鏡、HTC Vive頭顯設備等各類Android系統平臺,因此VR游戲的發布需要進行應用的設置和技術處理。在“Build Settings”菜單中添加場景文件之后,選擇“Android”進行“Player Settings”各參數的調整,就可與實現基于Android系統運行的SDK文件,所發布的游戲也可以在HTC Vive、Android手機、VR眼鏡等各平臺進行運行,如圖2所示。
4 ?結 ?論
Unity3D引擎作為極強跨平臺性的游戲開發引擎,在各類游戲的開發設計中具有豐富的成功經驗可供借鑒,是環保教育類游戲開發設計與實現的重要選擇。利用PS技術、3Dmax技術和Unity3D引擎開發設計海洋垃圾清理的VR游戲,經過反復調試和實測,發現在場景呈現、界面跳轉、音效等方面所呈現的交互性、沉浸感和逼真性可以讓玩家更容易深層次參與到游戲當中,可以大大增強玩家的感官體驗,讓高職學生在游戲中地深刻體會到海洋垃圾的危害,大大提升了學生游戲開發的技術素養,并強化了環保意識??傊?,“海洋衛士”VR游戲的設計開發不僅在游戲開發、虛擬現實設計中具有重要的探究價值,而且“寓教于樂”的教育游戲對于提高教育水平、增強教育效果具有重要作用,對于未來學校教育、游戲開發等各領域具有的重要影響。
參考文獻:
[1] 孟子權,徐爍,楊迎新.基于Unity3D的環境保護類游戲的研究與實現 [J].電腦編程技巧與維護,2019(5):136-137+ 146.
[2] 李政蓬,張美娜,蔣新宇,等.基于UNITY3D的多消游戲的設計與開發 [J].電腦知識與技術,2019,15(18):59-61.
[3] 李想,張明寶,楊傲嘯.基于Unity3D的《海洋水下作業應急裝備》虛擬仿真系統的設計與實現 [J].信息周刊,2020(11):460.
[4] 馮波,劉鵬.基于Unity3D的VR應用的設計與開發 [J].數字技術與應用,2017(11):180+183.
[5] 張陽,楊長強,鄭慧平.基于Unity3D與VR頭盔的虛擬現實體感游戲開發 [J].軟件導刊,2017(8):119-122.
[6] 劉桂元,曾志遠,楊書新.基于Unity3d引擎的教育類游戲設計與實現 [J].軟件導刊,2017(1):50-53.
作者簡介:潘舒潔(1984—),女,漢族,江蘇蘇州人,講師,本科,研究方向:計算機教學、虛擬現實。