APP下载

VR垃圾分类科普体验系统的设计与实现

2022-05-30解银玲朱成林

电脑知识与技术 2022年29期
关键词:垃圾分类虚拟现实

解银玲 朱成林

摘要:文章所设计的VR垃圾分类体验系统,是通过VR虚拟现实技术学习垃圾分类知识科普,并通过情景模拟以游戏的形式体验垃圾分类,通过知识竞答的模式加深记忆,让体验者对垃圾分类科普知识更容易理解,印象更深刻。 最终系统发布在HTC VIVE设备上进行了测试和体验,软件操作流畅,性能稳定,可以让体验者身临其境地在虚拟世界中体验垃圾分类。

关键词:虚拟现实;垃圾分类;Unity3D

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2022)29-0039-03

1 引言

近年来,随着我国经济水平的高速发展,人们的物质消费水平不断提升,相对应的垃圾产生量也在迅速增长,由于垃圾产生的问题日益突出,推行垃圾分类势在必行,垃圾分类问题也成为社会热点问题。垃圾分类在改善生活环境、促进人们健康、节约使用资源、促进经济效益等方面有着重要意义。

传统的垃圾分类科普,大多采用视频、广播、纸张等传统媒介来普及、宣传知识,这种方式很难让用户真实直接地感受垃圾分类的过程,了解的过程比较枯燥乏味,缺乏情趣和互动性[1]。随着虚拟现实技术的发展,VR技术所具有的沉浸性、交互性、多感知等特征,使得其在各个领域的应用越发普及。将虚拟现实技术应用于垃圾分类宣传中,能够让大众更加真实直观地学习垃圾分类知识,戴上VR眼镜在虚拟的世界中以游戏的方式进行垃圾分类实践,极大地提高了体验者的学习兴趣,达到寓教于乐的效果,起到很好的宣传和推广效果[2]。

2 系统开发工具介绍

1) 虚拟现实开发引擎Unity3D

Unity 3D是实时3D互动内容创作和运营平台,具备所有大型3D游戏引擎的基本功能,用户可以通过Unity轻松实现各种游戏创意和三维交互开发[3], Unity适用于游戏开发、多平台交互、虚拟现实、增强现实、仿真、建筑可视化等各行各业,且具有强大的跨平台性,开发者只需要开发一次,就可以发布到多个平台上。同时,Unity也是当前业界领先的VR/AR内容制作工具,它为制作优质的VR应用程序提供了一系列先进的解决方案,并且基于跨平台的优势,Unity支持市面上绝大多数的硬件平台,如SteamVR/VIVE、Gear VR、Oculus Rift等。本文中的垃圾分类系统做的交互开发均是基于Unity完成的。

2) 虚拟现实开发插件VRTK

VRTK是一款强大的VR开发工具包,使用VRTK能夠实现VR开发中大部分的交互效果。如瞬移效果、攀爬效果、指针交互、与物体的接触、抓取等交互方式,以及通过双手联动操作物体等,VRTK支持SteamVR、Oculus、Daydream等多种SDK,它还提供了一个VR模拟器,在没有VR设备的情况下,通过鼠标键盘也可以运行VR场景,为开发人员调试提供了很大的便利性。基于VRTK不仅能快速地实现丰富的VR交互开发,同时VRTK免费开源、有丰富的文档支持、40多个示例场景和活跃的社区,能帮助开发者快速顺利上手。

3 VR垃圾分类科普体验系统工作流程

VR垃圾分类系统的开发符合Unity项目的一般制作流程,主要包括资源准备、资源导入、开发工具导入、场景搭建、交互开发、应用程序发布与测试。

1)资源准备:需要根据需求收集相关的资源素材,包括模型、视频、材质、图片等资源,将准备好的资源导入到Unity中进行整合。其中,对于模型的制作一方面可以使用3DMax等建模软件进行手动建模,另一方面可以使用3D扫描等方式进行现实物体数字化。本系统中采用第一种方式,使用3DMax软件制作场景模型和各类垃圾等物体模型,同时在建模软件中完成展UV和材质贴图制作[4]。

2)将资源和开发工具包导入Unity。通过将文件直接导入的方式或者通过拖动的方式将资源导入到Unity项目中,对于不同的资源类型,通过创建不同的文件夹进行管理。要实现VR的交互开发,还需要导入VR开发工具包,它主要提供了VR开发的脚本、预制体、材质等,帮助开发者快速地进行VR应用程序的开发[5]。本系统是针对HTC VIVE硬件平台的VR应用,使用SteamVR Plugin和 VRTK开发工具包进行开发。

3)场景搭建。场景搭建主要包括模型的摆放、材质的给予、灯光的布置等,主要通过Unity编辑器的Scene面板对游戏对象进行可视化的设置,在Inspector检视面板对游戏对象的属性进行设置。

4)交互开发。VR垃圾分类系统在功能上主要包括垃圾分类知识科普模块、垃圾分类游戏体验模块和垃圾分类知识竞答模块。用户可以在虚拟世界中通过传送功能进行位置的瞬移,解决在大的虚拟场景中位移的问题。在交互方式上,系统中主要采用射线和抓取两种方式,对于UI的控件,如按钮等的操作使用射线点击按钮,而对于垃圾对象则通过抓取操作进行垃圾的拾取和投放。

5)发布应用程序与测试。基于Unity的跨平台特性,在Unity编辑器中根据所使用的VR硬件平台的不同可以将应用程序发布到不同的系统平台,如PC平台、Android平台、iOS平台等。本系统中使用HTC VIVE硬件平台,需要将应用发布到PC平台,通过HTC VIVE软硬件环境搭建进行系统的测试。

4 VR垃圾分类科普体验系统实现

本章节将重点介绍在完成前期资源准备,导入Unity引擎之后主要交互功能的具体实现。

1) 垃圾分类知识科普

垃圾分类知识科普主要以视频的形式体现,在Unity中使用视频,需要导入视频剪辑并使用视频播放器组件进行配置(图1)。使用视频播放器组件(Video Player)可以将视频文件附加到游戏对象上,并将视频拖入到Video Clip属性中作为视频源文件。在脚本中分别添加播放按钮点击事件函数和暂停按钮点击事件函数,在两个事件函数中分别调用VideoPlayer类中的Play()方法和Pause()方法来播放视频和暂停视频。

VRTK与UI的交互方式主要有:指针交互、手柄交互和指针手柄配合交互三种方式,指针交互适合远距离的交互,手柄交互适合于近距离交互,对于垃圾分类知识科普,采用指针交互的方式,类似于激光笔,通过指针点击视频的播放和暂停按钮。要实现基于指针的交互方式,需要为控制器对象上添加VRTK_UI Pointer组件,为承载UI控件的画布对象Canvas添加VRTK_UI Canvas组件,当手柄发射指针选中播放按钮时调用播放事件函数,垃圾分类视频进行播放,当选中暂停按钮时则调用暂停的事件函数停止视频播放。

2) 垃圾分类知识竞答系统

通过竞答系统可以检验用户对垃圾分类知识了解的情况,有针对性地进行查漏补缺,通过正确统计和奖励机制激发体验者的学习积极性(图2)。用户在进行答题体验时,带上HTC VIVE头显设备,通过手柄按下Trigger键发射射线选择答案选项,根据用户的选择跟题库正确答案比对,显示答题结果,并且可以通过按钮切换下一题。答题结束會有正确率的统计计算和排行榜显示。

垃圾分类知识竞答系统在实现上主要包括UI界面设计制作和交互代码实现两部分。

UI界面主要使用Unity自带的UGUI系统进行用户界面开发,使用UGUI系统离不开Canvas组件,所有的 UI 元素,要么自己包含 Canvas 组件,要么是 Canvas 组件所在 GameObject 的子节点。对于Canvas 组件来说,最重要的参数是渲染模式RenderMode 参数,在VR应用开发中,大多使用World Space渲染模式,此种模式下,Canvas 与场景中其他3D元素没有区别,相当于GameObject,可以进行旋转,移动等操作。UGUI系统中包括多种UI控件,如显示文本内容的Text控件、可以点击的Button按钮控件等。

在垃圾分类题目类别上均为单选题,UI制作使用 UGUI的Toggle控件,四个选项分别对应四个Toggle控件,然后创建Toggle Group ,将四个选项设置为同一个Toggle Group,从而实现答题的单选功能。

垃圾分类知识竞答系统实现流程:

将垃圾分类题目录入文档中,将生成的题库文档保存到项目工程中。题库文档格式如下:

世界环境日是几月几日?(A、 6月5日 :B、6月6日:C、6月7日 :D、6月8日)(冒号分开选项和题目,答案在最后)。

②从本地题库中读取题目存放TextAssert对象中,将TextAssert对象内容逐行读取到二维数组中,按冒号分隔。

③加载题目并显示在UI界面上,当显示到最后一题时显示“已经是最后一题了”。

④判断题目对错。当用户操作选择某个选项时,将选择的答案和题目答案进行比较,若相同则显示“恭喜你,答对了!”,否则,提示“对不起,答错了,正确答案是:”。

3) 垃圾拾取与投放,积分系统

在垃圾分类小游戏体验系统中,最关键的交互就是垃圾的拾取(图3)。基于VRTK插件实现物体的抓取,需要对手柄控制器和交互物体分别进行配置。手柄控制器需要添加VRTK_Interact Touch、VRTK_Interact Grab组件;而对于交互物体垃圾对象来说,需要添加Collider组件防止垃圾穿模,添加Rigidbody组件使其受重力影响自由下落,然后通过快速设置配置窗口的方式为垃圾对象添加VR交互组件。至此,就可以实现通过手柄控制器对垃圾模型进行抓取操作,被抓取的垃圾模型将作为控制器的子物体,随着控制器一起移动。

对于垃圾桶对象,同样需要为其添加碰撞器组件,通过动画编辑窗口为其添加打开和关闭动画,当射线点击垃圾桶盖的时候,触发垃圾桶盖的打开或关闭。系统中对垃圾分类的结果判断主要使用触发器和标签判断来实现,为垃圾对象添加Box Collider组件,并勾选is Trigger,将其设置为触发器,按照可回收垃圾、不可回收垃圾、有害垃圾,厨余垃圾,分别给每个垃圾添加Tag标签进行分类。为垃圾对象添加脚本,当垃圾进入垃圾桶时,在垃圾的OnTriggerEnter事件函数中通过标签tag判断垃圾和垃圾桶是否匹配,垃圾是否分类成功,如果垃圾的tag和垃圾桶匹配,垃圾投放成功加20分,反之则减10分。当积分累计达到100分时,垃圾分类游戏闯关成功。

4) 应用发布与测试

在VR垃圾体验系统的最后阶段需要将Unity中的项目导出发布,然后使用HTC VIVE设备进行测试,此时需要安装相应的软硬件环境,软件环境主要包括SteamVR客户端,在初始安装完毕后,需要对控制器进行配对,然后对VIVE硬件进行房型设置,HTC VIVE提供了两种体验模式:房间规模和仅站立。本系统中用户在进行垃圾分类体验时需要进行位移,采用房间规模的体验模式,用手柄控制器划定一个可移动的区域,体验者在该区域内可以自由移动进行垃圾的拾取和投放。

5 总结

垃圾分类作为环境保护的重要环节,将会越来越受到社会的关注,通过VR设备体验垃圾分类科普体验将会作为一种全新的学习垃圾分类科普体验的方式,它打破了传统以图片、文字、视频等教学的方式,以游戏的形式进行垃圾处理学习,这种寓教于乐的方法不仅适用于成年人,也适用于孩子。VR技术在垃圾分类科普知识的宣传和推广中发挥越来越重要的作用。

参考文献:

[1] 吴婧予.VR技术在垃圾分类宣传教育中的应用实践[J].科技与创新,2020(24):157-158.

[2] 曹昕昕,李小红,董保莲,等.基于Android的垃圾分类App的设计与实现[J].数字技术与应用,2022,40(4):152-154.

[3] 李胜男,王砚,王茂慧.Unity & VR游戏美术设计实战[M].北京:电子工业出版社,2020.

[4] 冯啟荣,刘萤.基于Unity3D引擎的科普交互游戏设计与实现[J].信息与电脑(理论版),2021,33(2):114-116.

[5] 蔡鑫颖.“互联网+”垃圾智能分类模式在社区中的应用分析[J].产业创新研究,2021(20):40-42.

【通联编辑:闻翔军】

猜你喜欢

垃圾分类虚拟现实
论虚拟现实艺术的“沉浸”
REALITY BITES
基于互联网思维的再生资源智能回收系统设计(宝特瓶类)
风口上的虚拟现实
小学校本课程《垃圾分类》智慧教育案例研究
浅析我国农村垃圾处理难题
日本城市垃圾分类的做法
虚拟现实技术向科幻小说借灵感
高校环境教育非课堂教学模式的探索
虚拟现实:另一个真实世界