APP下载

基于U3D的海洋垃圾清理的VR游戏设计与实现

2020-07-09潘舒洁

现代信息科技 2020年21期
关键词:虚拟现实

摘  要:“海洋卫士”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 ().enabled = true;

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 ().speed = 1;

}

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—),女,汉族,江苏苏州人,讲师,本科,研究方向:计算机教学、虚拟现实。

猜你喜欢

虚拟现实
在虚拟现实中体验上课 Experiencing a class in VR
移动VR正照进现实
虚拟现实,让学习更“沉浸”
培训新势力从人工智能到虚拟现实
虚拟现实LG 360 VR眼镜
Facebook组建虚拟现实社交团队
View Master虚拟现实显示器