基于Unity3D和VR技术的虚拟校园漫游系统

2022-12-17 08:03董贞汝程佳明谷余莓胡晓敏
科教导刊·电子版 2022年32期
关键词:漫游插件校园

董贞汝,程佳明,谷余莓,黄 帆,胡晓敏,陈 婕

(湖北经济学院,湖北 武汉 430205)

0 引言

虚拟现实技术(英文:VirtualReality,简称:VR)是用户通过硬件和软件沉浸在模拟世界中的数字化体验。VR技术是将计算机技术、人机交互技术、传感器技术、仿真技术集合为一体的一门综合性技术。它主要是借助并利用计算机模拟系统来对外界环境进行仿真,主要仿真的对象有环境、动作、技能、传感器装置以及感知系统等,能够给使用者带来更多信息、三维动态、交互的环境仿真感受。用户可以通过硬件和软件沉浸在 VR所打造的虚拟世界之中。虚拟现实技术旨在创建一个逼真的3D图像或环境,使体验者可以感知为真实的环境,甚至以逼真的方式与之交互。现如今,VR技术在旅游、游戏、医疗、建筑等方面都有较大的发展。

虚拟校园漫游系统也是虚拟现实技术的一个主要分支,是虚拟建筑场景与虚拟场景漫游技术的融合,是虚拟现实技术在教育领域应用的一种新方法。虚拟校园可以提供支持实际学校资源管理、环境规划、翻新改造、远程访问的三维虚拟环境。不可否认的是,虚拟校园将会是未来时代,校园信息化的一个重要发展方向。该系统可以使体验者与虚拟化的数字校园实现全方位的互动漫游,观赏校园的自然风貌等,让体验者犹有“身临其境”之感,从而最大限度地“沉浸式”浏览校园环境,大大提高了体验者在虚拟漫游过程中的沉浸式效率。

1 虚拟校园漫游系统研究的意义

首先,虚拟校园漫游系统可以起到校园文化宣传的作用,它为大众提供了一条了解校园的新方法,使人们能够更加直观地对校园有一个初步的了解与认识,从而让大众对学校留下良好的第一印象,方便学校招生工作的开展。其次,该系统的实现可以在一定程度上提高学校的知名度,并且方便新同学到校前适当熟悉校园,适当避免开学当天找不到某一建筑物的位置等情况发生,为学生更快地融入新学校的环境与生活提供了一定的便利。该系统也为填报志愿,想要了解学校环境情况与自然风貌的学生提供了更为真实,更为近距离的了解校园情况的机会。最后,该系统能作为学校对校园进行新改造的一个辅助平台,改造前,环境设计师可以先在虚拟的3D校园上对学校环境进行设计,等正式确定改造方案之后再对真实校园环境实施修复翻新等改造措施。这样做可以大大减小设计过程中所出现的不确定性。

2 开发工具简述

2.1 3ds Max

构建虚拟环境的第一步工作便是虚拟3D模型系统的构建。3dsMax是一种专门用来构建逼真的虚拟模型的强大工具,拥有丰富的建模工具集,可以使复杂的建筑设计可视化。同时,3dsMax可以生成高质量的渲染,可以轻松处理各种复杂的人物角色、场景动画和效果,为环境和景观注入新鲜活力。3dsMax提供的直观的纹理和着色工具等都能够被用来帮助制作更加精细逼真的设计和道具。在本系统的开发过程中,首先使用了3dsMax这一专业工具对建筑物、花草树木等虚拟场景进行了构建,虚拟模型构建完成之后,将模型以FPX的格式导出,再将其导入到Unity 3D软件当中,对其进行模型定位等操作,完成虚拟校园场景的构建。

2.2 Unity 3D

Unity 3D是一种面向开发人员的3D游戏引擎和强大的跨平台 IDE。Unity 3D可以提供许多使游戏正常运行的最重要的内置功能,例如3D渲染、碰撞检测等等,开发者可以自由地设计独特的体验。在编码方面,Unity 3D可以切换到开发者所选择的编译器。在本系统的设计过程中,是通过Microsoft的Visual Studio来对各操作进行编码的。此外,Unity 3D也能够为开发人员提供出色的VR支持,这也为本系统与VR虚拟技术相结合提供了相应的支持与保障。

2.3 Steam VR

Unity3D中有一个SteamVR的插件,以便SteamVR与Unity3D可以顺利连接。SteamVR插件可以为VR控制器加载3D模型,并处理来自这些控制器的输入。在本系统的开发过程中,使用了Unity3D中的SteamVR插件,并通过编写C#脚本代码,使得体验者可以通过控制外接的VR设备,实现对虚拟校园场景的自主漫游与“沉浸式”交互体验。

3 虚拟校园漫游系统的设计

该系统是以学校校园为研究对象,首先需要采集校园总体环境的数据,然后利用3DsMax对学校内的各类建筑物、花草树木、大路小径等进行建模与优化设计,之后利用Unity3D游戏引擎开发平台,并结合Unity3D中的Steam VR插件,完成对该虚拟校园漫游系统的总体设计。

3.1 系统的设计目标

该虚拟校园漫游系统要为体验者提供尽可能逼真的虚拟校园环境,并实现体验者与虚拟校园场景间的“沉浸式”交互,其具体的设计目标如下:

(1)校园场景要尽可能地真实与完整,让体验者有实感,从而能更好地融入虚拟环境当中;

(2)系统的使用对用户来说必须是非常友善的,用户可以通过简单的指示,完成对虚拟场景的自主漫游与游览。同时,用户可以通过鼠标对建筑物进行放大、缩小、旋转和多角度观察;

(3)系统需要提供给用户两种漫游方式,一种是利用鼠标和键盘,让体验者以传统的第一人称视角,控制人物角色在虚拟校园场景之中随意移动与游览;另一种是通过外接的VR设备,实现相对更为逼真更为切实的虚拟化校园漫游。

3.2 总体开发流程

首先需要获取校园内环境的相关数据,使用 Auto CAD为校园整体绘制一个平面图,并对相关建筑、草地、水域、道路等进行拍摄,为之后模型优化过程中对模型贴图准备条件;之后利用3Ds Max为采集整理后的数据、图片等信息制作3D数字化模型,为使得模型更加逼真,还需要对模型进行贴图与渲染的优化加工;随后,将整合完成的模型文件以FBX格式导入到Unity 3D开发平台中,适当运用Unity3D自带的素材,开始构建完整的虚拟校园场景;场景建立完成后,通过Unity 3D中的Steam VR插件,与虚拟技术结合起来,用外接的VR设备使体验者对虚拟校园进行交互式的漫游。该系统具体的开发流程,如图1所示。

图1

3.3 前期准备

在建立校园模型之前,需要先对校园的实体场景进行相关考察与记录,并对校园的各类建筑物、花草树木、自然风貌等进行相关拍摄,同时需要注意细致地观察各个建筑物的特点,以尽可能更为真实地展现校园的构造与风貌。之后通过Photoshop等图片加工软件对所采集的照片进行处理与美化,例如将图片调整为合适大小、对图片的亮度、明暗对比度、饱和度、色彩增强等等进行适当调整,为模型的逼真感创造必不可少的先决条件。同时,也要做好相关数据的整理与保存工作,以免出现模型丢失等情况。由于所涉及的数据较多较杂,可以对获取到的环境信息按照校园的各个区域进行划分,有层级、有结构、有侧重地分清主次,为后期的模型建立和模型优化等工作做好充足的准备。

3.4 模型的建立与导入

建立模型这一步对于本系统是非常关键的。在用3ds Max建模前期需要统一好单位与比例,以确保后期各个种类的模型的合并之后不会出现单位不一致而导致的不良情况。同时,必须先建立一个校园总体的基本框架出来,这样才能为后期各种建筑、花草树木、公共设施等的位置摆放提供相应的依据。此外,对模型元素的命名也是一个不可忽视的细节,可以将模型按照种类进行划分后,对每一类都采用统一的命名格式进行区分,以避免出现模型重名等问题的发生,减少后期所不必要的工作量。校园的环境较为复杂,所以建模的工作量较大。由于各类建筑物外观相差不大,所以可以先为主要建筑物建立虚拟模型。之后再为花草树木、湖泊操场、公共设施等建立相应的模型。还需要为各类模型进行贴图与优化,使模型更加逼真,也需要保证系统的整体效果。除此之外,由于模型数量庞大,整个模型文件所占用的内存空间也相对较大,所以还需要使用一些技术,例如压缩贴图、去除冗余面等方法,对所建立的模型进行优化与改善,以适当减小系统文件的大小。利用3ds Max完成建模后,需要将模型整合后以FBX的文件格式导入Unity 3D平台当中。基础模型的建立如图2(P292)和图 3(P292)所示。

图2

图3

3.5 漫游系统的实现

在Unity3D平台上,体验者进行交互式虚拟漫游主要有两种方式。第一种方式,就是只通过Unity 3D平台进行漫游,体验者使用电脑键盘控制第一人称视角,用W、S、A、D键模拟现实环境中人物的前进、后退、向左走、向右走等,并通过鼠标旋转体验者的观察视角,通过Unity 3D自带的摄像机对虚拟校园进行访问与游览。第二种方式,就是通过外接的VR设备来实现相对更为逼真的虚拟漫游。使用VR设备需要在Unity3D平台上中导入SteamVR的插件,通过编写脚本代码实现Unity3D与外接VR设备的连接,并通过对Camera添加功能控制的代码,使整个Camera能够实现360度的全方位视野,使体验者通过佩戴VR设备有更切实的“身临其境”之感。

4 结语

随着VR技术的飞速发展,设计具有更优交互性与更强体验感的系统已经成为每一个项目小组都必须要考虑到的事实。本文展示了从开发前期准备到模型建立与模型优化,再到用C#脚本完成漫游系统的设计与VR设备的连接,最终实现了基于Unity 3D和VR技术的虚拟校园漫游系统,且该系统具有良好的交互性和实时性。虽然整个虚拟校园漫游系统的设计已基本完成,也具有一定的实用价值,但是由于项目成员没有足够的开发经验,所以系统中还是有很多地方值得改进,例如优化代码、精修模型等等,希望之后有机会能够对本设计进行进一步的完善。

猜你喜欢
漫游插件校园
自编插件完善App Inventor与乐高机器人通信
NASA漫游记
MapWindowGIS插件机制及应用
基于Revit MEP的插件制作探讨
边走边看:漫游海底 梦想成真