News Information

基于Unity3D的虚拟医院漫游系统的设计与实现

作者: 发布时间: 2023-08-08 点击数: 349

1280.jpg

 

摘要:利用 3D Max建立场景搭建三维模型和贴图,利用 Unity3D完成交互漫游功能的设计开发,完成虚拟医院漫游系统,以便创造一种近乎真实的医院环境,为用户提供优越的视觉效果和体验,分析了系统的主要功能和设计流程,并对数据采集、三维场景建模和优化、交互功能、漫游功能及碰撞检测等关键问题进行探讨,实践表明:该系统可为医院所用,同时也可为医学院校相关专业的日常教学提供辅助支持。

       关键词: Unity3D、3D Max、虚拟医院、三维场景建模、碰撞检测

 

虚拟现实(VR)是一种可以创建和体验虚拟世界的计算机仿真系统,它使用计算机生成模拟环境,是一种多感官体验、交互式的 3D动态视图,换言之,就是在计算机上生成一个三维空间,用户使用输入设备,通过计算机显示屏360 度观察并操纵物体,让使用者产生身临其境的体验。虚拟现实技术广泛应用于影视娱乐、教育、设计、医疗、军事、航空航天等方面。对医院而言,病患和家属可通过虚拟医院身临其境般的体验,来全面了解医院环境。

医院管理者可通过虚拟医院对医院环境全面审查,为医院后继修建规划提供支持,学校相关专业教师可通过虚拟医院辅助教学,如同到真实医院参观一样,提高效率,为此,利用虚拟现实技术,选用 Unity3D 和 3D Max 作为开发工具,开发虚拟医院漫游系统, 首先对基础数据进行采集整理,再利用 3D Max 完成地形、建筑物和室内环境等三维场景搭建,然后利用Unity3D完成交互漫游功能的设计,最终实现基于数字的交互式虚拟医院漫游系统。

下面,本文将对该系统的设计流程进行分析,对实现的关键问题进行详细探讨。

1、虚拟医院漫游系统的分析与设计

本文旨在搭建医院建筑及内部场景的虚拟现实系统,实现 人称 3D 医院漫游。 常见漫游方式有两种,分别是自由漫游和设定路径漫游。本系统选用自由漫游方式,利用鼠标和键盘上 AWSD 键控制漫游路径,进行前进后退或者360度的自由旋转。

该系统具有如下功能:

(1)可以 人称视角在虚拟医院内自由行走和漫游。

(2)可实现虚拟医院的即时交互,如从室外进入医院,在院内自由行走和观察,且能实现 360°自由旋转。

(3)具有真实的力学仿真性能,如只能从门进出,避免用户直接穿过墙壁进入医院内部,虚拟角色仅允许在地面上活动,活动范围不能超出地面。

本系统通过Unity3D 与 3D Max 开发完成,先利用3D Max 建立场景搭建三维模型和贴图,再利用 Unity3D 技术完成交互漫游系统,最终设计出虚拟医院漫游系统。

总体上分为两步骤:

步是场景搭建,主要包括基本框架构建、模型制作、赋予材质和灯光布置;

第二步是交互实现,主要包括人物漫游、相机跟随、碰撞检测以及材料替换等功能的实现。

上述完成之后,最后进行系统的测试发布。

2,虚拟医院漫游系统的实现。

2.1 数据采集。

3D 虚拟医院是创建数字化智能医院的载体,对于虚拟现实技术而言,最重要的是如何做到更逼真,更大 限度地逼近真实实景,因此,在虚拟医院漫游系统开发之前,对该系统基础数据的采集至关重要,数据采集主要有三个来源,分别是医院建筑 cad 图纸获取、实景照片拍摄和医院建筑纹理收集, 其中建筑平面CAD 图纸可向医院建筑承办单位咨询,将cad 文件导入3D Max 软件,在cad形成的平面上创建多边形,并对其进行建模,以便更好地表现建筑的结构及布局。

实景照片拍摄主要指利用数码相机对主要建筑物的尺寸、科室内部环境和医疗仪器进行图像采集,用作建模基准数据,并为创建地图提供基础和支撑。

2.2 三维场景建模和优化。

在对前期采集的数据整理之后,下一步进行三维场景搭建,在建模过程中,需要注意如比例、形状等相关细节的处理。 其中,建筑物的模型是在cad平面图的基础上创建多边形,然后编辑多边形进行附加和删减,再参照拍摄的实景图片赋予相应的建筑材料,使建筑模型更加逼真,多边形建模是此次场景实现的最主要方式, 此外,还需注意一下材质贴图,是指直接将拍摄的实景图片进行处理,然后贴到相应的建筑物模型上。 在虚拟医院场景中,不仅主建筑的结构需要贴图,为力求逼真,很多建筑内部的相关细节也不容忽视,比如手术台、休息室、超市大厅等,同样需要贴图处理。

以下是通过3D Max 实现建模和贴图的主要步骤:

(1)在 3D Max中确定单位,以国际通用单位厘米为基本单位;

(2)创建地面;

(3)建立Box; 在场景中点击Box按钮,然后在场景中创建长方体,右击转换为可编辑多边形;

(4)经过点线面建立主题物框架,创建多边形模型;

(5)上材质,上好贴图,然后按 M 键,弹出材质编辑器,给模型漫反射材质,使建筑更加逼真。

2.3 交互功能的实现。

交互功能的设计直接影响用户在虚拟平台上的漫游体验,在视角控制上选择 人称视角自由漫游的方式,用户通过 人称视角自由漫游,操作直观简单,用鼠标控制视角,镜头需要保持一定的高度,随着鼠标的移动而变化,摄像机程序是漫游视角功能的核心内容,按键盘上的 W、A、S、D 键,控制虚拟角色前、左、右、后的移动,观看到的场景随摄像机视角变化而变化。

2.4 漫游功能的实现。

使用3D Max 将cad 文件导入软件,搭建模型并完成映射,然后将导出的FBX文件导入到Unity3D 平台,进行合成和输出,从而完成交互式漫游功能。

2.5 碰撞检测的实现。

使用 Box Collider 进行碰撞检测,给每个物体添加执行碰撞检测的组件(Mesh Collider), 当碰撞物体的高度低于预设高度则可通过,反之被挡住,以便避免出现穿墙而过的现象。在Unity3D 中给每个物体添加碰撞检测功能,在 asset 菜单中建立一个 Javescript 项目,加入 人称代码。

3,结语

随着新医改的启动,中国医疗行业信息化的需求日益增长虚拟现实技术在一定程度上能改善全民生活,满足更多需求, 本文选用 Unity3D 和 3D Max作为开发工具,搭建虚拟医院漫游系统,分析了系统的主要功能和设计流程,并对数据采集、三维场景建模和优化、交互功能、漫游功能及碰撞检测等实现的关键问题进行了详细探讨, 实践表明,该系统可为用户提供较好的视觉效果和体验,对于医院而言,其在一定程度上缓解了患者就诊时常出现的对医院环境不熟悉、找不到诊室的问题,同时也可为医学院校相关专业的日常教学提供辅助支持。

(本稿由牧客数字创意研发部提供,如转载或引用,请注明出处)