APP下载

基于Unity3D 的三维虚拟校园交互系统设计与实现

2022-11-17陈莹莹张悦欣张梓妍郭梓锟伍源昊胡垂立

无线互联科技 2022年1期
关键词:工商学院碰撞检测漫游

陈莹莹,张悦欣,张梓妍,郭梓锟,伍源昊,胡垂立

(广州工商学院,广东 广州 528000)

1 建模与虚拟现实交互的主要功能

广州工商学院建模与虚拟现实交互主要有以下几个功能:广州工商学院中室内外建筑、实验设备、石碑等模型和三维墙体、河流、地形的构建。用户可以通过HTC Vive 设备对虚拟场景进行控制、探索,同时可实现碰撞检测、射线检测,达到虚拟场景中漫游的效果。用户通过使用HTC Vive 设备,可以看到广州工商学院各个代表性地方的景色与特色,并且实现一定的人机交互。本系统的整体内容框架包括以下几个方面[1]:

(1)充分做好前期调研,收集整理资料。绘制学校模型总体布局、局部建筑的平面展开图纸以及路线的图纸和采集拍摄,用PS 绘制纹理与所需素材。

(2)借助3dMAX 搭建广州工商学院虚拟建筑与场景,后期再进行精细化处理,能够在虚拟的地理环境中按照特定的运动学和动力学实现应用,强化虚拟场景真实感。

(3)再将搭建好的校园场景以fbx 格式文件导出,导入Unity,结合Unity3D 引擎,创建地形、灯光、天空等,利用C#开发语言实现交互,在广州工商学院虚拟交互系统中设置自由交互式漫游、自动寻径漫游、导航查询等功能。

(4)与HTC Vive 结合,做到用户能实现观览、点击、移动、拾取等沉浸式交互操作。

2 构建虚拟现实场景的要点

2.1 模型的构建

在3dMax 工具上搭建校园主体模型。两栋教学楼与实验楼,充分展现特色教室、崭新多媒体课室和智慧教学课室;特色实训实验室,数字媒体教育设备、食品质量与安全化学工具一应俱全;图书馆主要有借阅室、图书储放室、书本资源储量展示数据等;体育场的搭建主要为跑道和篮球场、足球场的布局建模。各模型的UV 拆分、贴图纹理用PS 软件和数位板作为辅助。使用V-Ray 插件制造墙面、跑道等的凹凸感、质感、光线的设置、摆放与调整参数来增强实感等,最后应把场景坐标整合归位[2]。

2.2 模型的渲染与交互

建好的模型需导入Unity3D 实现交互[3],因此模型的渲染与交互需要注意以下几点:

(1)边数和法线细节问题。由于边数太多的模型计算起来复杂度高,渲染慢,因此把超过四边形以上的面数通过连接点与点来减少边数,最后3D 里的模型渲染时都是要利用图形计算技术计算后确定光线和贴图,边数为3 或4 的面利于建模软件对模型进行自动优化,这样导入Unity3D 时可避免一些卡顿的情况。

(2)若模型中有需要重复制作的部分,尽量用复制和旋转代替镜像。因为镜像会反法线,若忽略法线问题,贴图时则会出现错误,甚至出现黑面等情况。由于大部分是建筑,建筑的搭建也应注重现实比例等。

(3)做透明贴图时要单独给一个材质球,不把非透明部分与透明部分一起放在同个材质球上,才能尽量避免一个材质球贴进去后整体贴图都变成透明的错误发生。

(4)最后用简易的游戏引擎——Marmoset Toolbag3检查游戏模型和贴图显示效果,不用打开Unity3D,效率会更高。

3 Unity3D 设计开发中的要点

3.1 天空盒与地形的创建

Unity 里天空盒的创建应先创建材质,准备6 张资源图,然后先在Window 窗口找到 Lighting,选好就可以调用,6 个面分别对应6 个方向,若将6 张天空盒或者纹理图片导入Unity 时,将它们的Wrap Mode 设置为Clamp 模式,这样图像的边缘才会无缝缝合[4]。

学校内的厚德广场和桃李园地形选择在Unity3D里建造,因为Unity3D 可较方便地绘制地形的高度、特定高度和平滑地形,并且在Brushes 画笔工具栏中,画笔的形状及大小可以自由选择,可以画坑洼与突起的高地,给地形加贴图也较为方便,添加树、草地、土壤等的素材时,则选择Trees 按钮把素材贴图拖进第一栏里即可为场景方便快捷地增添许多小素材。

3.2 VR 交互模块创新设计

以广州工商学院三维虚拟交互系统设计与开发为主线,根据虚拟系统实时性与交互性的特点要求,从系统建设的功能需求、体系模块设计、系统框架设计等几个方面展开研究。

(1)界面布局设计上应尽量简洁,一目了然,方便用户初次使用就能从界面上清楚理解各项功能以及操作方法。系统具备交互漫游的功能,用户可以从各个方向和角度观察虚拟的场景,或者按照预先规划好的路径进行漫游,并通过触发手柄改变视点,实现以本人视角漫游校园。在实现基本漫游功能的基础上,用户还可以通过交互设备实现情景交互体验。交互操作包括实体的几何变换、模型拾取、射线和碰撞检测等。

(2)学校智慧教学中心的智慧课室模块,通过手柄射线实现碰撞检测,可以使HTC Vive 手柄与场景中三维模型或者 UI 发生碰撞检测,交互展现学校智慧课室特色信息与资源、学生信息动态、多媒体视频教学播放等功能。

(3)图书馆模块,通过 UI 交互和数据库技术结合,开发出图书信息检索模拟平台,实现了学校图书馆总储量、排行榜的信息和虚拟阅读、图书信息检索的模拟。

(4)实验实训室模块,通过数字媒体技术等专业的实训室,介绍摄影摄像的多种设备和虚拟现实技术的设备工具以及使用说明,用手柄实现对设备的拾取与组装等交互效果等。

(5)在Unity3D 里,用编译软件添加事件的发生,主要运用C#语言来实现,后期熟练代码语言可以运用JavaScript 来实现更多较高级的交互操作。后期再以HTC Vive 为沉浸式交互体验平台,实现虚拟校园系统中相机视角的实时自主转换功能。

3.3 Unity3D 与HTC Vive 设备结合的要点

HTC Vive 里的射线检测技术很重要,因为在三维世界里,射线是基于空间中一个点沿着某一方向发射的一条直线,当其遇到目标对象时则停止发射,射线一般用于检测碰撞。因此,可以实现HTC Vive 手柄与场景中三维模型或者 UI 发生碰撞检测,其实现流程为手柄发出检测射线,系统判断射线是否与目标发生碰撞,若不是,则循环重新检测,若是发生事件的响应,则结束。

使用Unity+HTC Vive 做VR 时如何创建用户体验感较强的菜单,接收手柄射线的菜单以及拿起虚拟实验设备进行观察或操控手柄点击实现虚拟演示等操作。其中应该注意代码脚本的设置,避免出现用户体验不好的效果,像按钮的抖动导致点击不准确、组件的渲染顺序不当导致场景物品被遮挡等问题。

4 结语

三维虚拟校园交互是一个重点,它在数字信息化、校园教育、分布规划、宣传展示方面起到重要作用。现今以一个真实校园的漫游沉浸式平台来身临其境地全方位了解校园是人们的迫切需求,在这样的现实背景下,三维虚拟校园仿真交互系统应运而生。建立虚拟校园漫游仿真交互系统是全面构建智慧校园的基础,对智慧校园的建设具有重要的意义。

猜你喜欢

工商学院碰撞检测漫游
全新预测碰撞检测系统
四川工商学院简介
四川工商学院简介
四川工商学院简介
四川工商学院简介
基于BIM的铁路信号室外设备布置与碰撞检测方法
霹雳漫游堂
Unity3D中碰撞检测问题的研究
NASA漫游记
BIM技术下的某办公楼项目管线碰撞检测