三维模型及其虚拟路线的研究与设计
作者: 潘仟喜 郭斌 杨树媛 吴童 刘丹 黄海鲲 曾泽坤
摘要:随着科学技术的发展,部分高校利用虚拟技术来构建虚拟校园漫游系统,该系统通过3D虚拟技术模拟校园的真实建筑,从而达到虚拟校园漫游的效果。项目实践过程中,首先对校园的全貌进行深入了解,然后利用3Dmax技术对校园中的各种建筑物进行建模,并通过实景采样来提高模型的真实感。最后利用Unity3D技术实现场景交互,并通过模拟仿真构建了一个具有沉浸感和交互性的虚拟漫游系统,从而使用户做到足不出户便可漫游校园,同时拥有一种身临其境的感觉。
关键词:建筑渲染;虚拟漫游;3Dmax;Unity3D
中图分类号:TP399 文献标识码:A
文章编号:1009-3044(2022)13-0099-03
1引言
近些年来,我国对于3D建模的运用越来越广泛,在三维创作上也有了突飞猛进的进步,在各个领域都占据了很大的空间[1]。目前,三维立体模型的制作以及引擎的运用还有很多的提升空间。从我国的3D游戏和3D动漫展来看,3D虚拟场景正在我国慢慢崛起,并且也有很多的学校和景区已经运用了虚拟场景漫游技术[2]。另外有很多公司将其公司的三维立体模型放入公司官网,使得用户可以以第一人称的视角对公司进行全部的了解,并且从公司展示的角度满足企业多方面宣传的需求。将3D虚拟场景技术运用到3D交互领域,不仅可以复刻,还可以进行虚拟的三维立体模型的制作使得现实和虚拟有一个更好的交融,让用户可以在虚拟场景中有一个非常好的观感体验。作为三维模型的拓展,现代VR、AR技术的性能也日益凸显,可以让用户有更加身临其境的体验[3]。
虚拟校园漫游系统在校园建设中扮演着很重要的一环,对每栋建筑的外观设计和3D建模不仅可以提高学校的公众认可度,还可以作为校园管理和科学管理的支持系统[4]。本系统利用3DMAX、Substance Painter、PhotoShop、Unity3D等软件完成模型从平面到立体的构建,并实现校园场景漫游功能。
2虚拟漫游场景框架设计
虚拟漫游场景包括虚拟三维场景和虚拟人物,用户可以使用键盘或鼠标等输入设备控制人物在场景中移动。其可以分为三个模块,分别为场景、视图和图形。观察者可以从多个视图观看一个场景,而其中的场景又包括了很多的图形。场景可以为大量图形的处理提供接口,并且可以输出每一个图形。场景也可以管理图形的当前状态并显示其渲染画面。视图表示场景中的可视化内容,为功能和场景建立交互。从键盘或鼠标接收事件之后,会发送这些事件到场景从而完成相应功能转化。图形主要支持对鼠标事件和键盘事件的处理,为其在场景中活动也提供了碰撞检测的功能和交互功能。
以上的模块需要通过坐标建立联系,坐标又可以分为场景坐标、视图坐标和图形坐标。场景坐标是基础坐标,而图形坐标和视图坐标分别对应在每一个图形和视图单位之中。这三类坐标可以映射出场景、视图和图像三者之间的联系。虚拟漫游场景系统设计框架如图1所示。
3系统功能
本系统虚拟漫游场景包含了浏览校园、导航校园和了解校园的功能,用户可以在场景中完成虚拟漫游。浏览校园是在场景中将校园的三维模型刻画出来,并且按照其地理位置,将每一个建筑物的坐标和方向都确定了下来[5]。用户可以在场景中控制设定的人物来控制人称视角的转换,通过移动来完成浏览校园的目的。导航校园通过对校园地图的绘制和建模,可以让用户通过点击导航按钮选择某一地点,系统中便会出现该地点名称,随后场景中会显示出一条通往该地点的箭头为用户导航。了解校园功能是通过突出每一栋建筑的建筑风格和特性中体现出来的,用户通过导航到达建筑物时,会有介绍当前建筑物的弹窗出现,从而可以让用户了解该建筑物的历史与文化,加深对整个校园的认识。系统功能框图如图2所示。
3.1 交互功能模块
模型交互功能通过Unity3D软件实现。在场景之中加入重力引擎、刚体组件等,使其更加真实地模拟现实场景,碰到建筑物的时候会有碰撞效果[6]。在虚拟场景之中当人物到达某一建筑物时,弹出信息模块展示此时眼前的建筑物的基本信息,让用户可以更好地去了解这栋建筑物。场景中还展示了用户想要循迹的路线以及系统为用户规划好的路线,避免因为抄近道出现踩踏草坪的情况,让新用户以更全面更文明的方式去了解校园。
对于人物移动方面,采用常见的键盘移动的方法进行移动,具体使用KEYCODE功能来实现,用NavMeshAgent组件完成导航系统[7]。交互更多体现在导航和按钮之间,例如根据鼠标的点击事件显示出相应的数据以及完成相关的功能。程序中根据按钮交互控制单独的导航系统,每一个按钮都对应一个导航目标,位置不同的导航按钮是分别控制显示那些地点按钮的控制器,而地点按钮控制器又控制导航路线的规划,从而实现导航和按钮之间的交互。按钮交互界面如图4所示。
3.2 导航功能
使用LineRenderer组件实现线路规划功能,并且在绘制选择点到目标位置的路径时,系统将向下投射,以获得底部的导航网格点,这样在用户移动位置之后也可以完成导航路线的更新。在脚本中绘制物理射线验证目标位置和Player的起始位置就可以判断出用户走的路线是何种情况。
导航功能实现是使用的NavmeshPathDraw组件,在该组件中完成路线导航需要搭配LineRenderer组件,这是一个Unity中自带的画线组件,随后在程序中将自己导航路径实例化之后显示出来。同样,每一帧都会运算LineRenderer组件,并输出返回值,以便达到导航的精准性。导航界面如图5所示。
4系统实现
系统实现首先要对学校的建筑物进行拍摄取景,将三维建筑物拍摄为二维建筑物[8],然后根据2D建筑的轮廓绘制3D虚拟建筑,再通过Unity3D来实现多个三维虚拟建筑的交互场景,并通过程序控制每一个三维图形。
4.1 数据收集
系统实现要做大量数据收集工作,主要包括拍摄学校地图的每一栋建筑物,并且计算出来其相对应的尺寸,完善每一处细节,让用户可以更加直观地观看到其内容。有些细节可能在平时很少能注意到,但是当真正要去实现模型的时候也是要非常认真地检查,所以所有细节可能都会被放大。对各个建筑物进行实地拍照,可以保证实现1:1最真实的还原[9]。与此同时也要保证数据的偏差不能太大,如果观察到拍摄的数据有误,后期必须做出及时的调整。
4.2 数据处理
在数据处理方面,先使用3DMAX进行基础建模,之后进一步建模建筑细节,对于收集到的样本信息,会选择清晰度高、距离更近的信息[10]。材质方面选择3DMAX中的UV展开图,随后使用PS导出模型法线贴图以及ID贴图在Substance Painter中完成建模。图6为校园图书馆的细节图。
上述步骤完成单个建筑模型的处理和构建,在构建完所有模型时将其同时导入到Unity 3D中进行汇总编程工作。首先获取学校校园的2D平面地理图,然后根据平面图铺设出学校整体样貌,最后进行绿化处理,增加场景的现实感,这里采用的是第三视角的方式来浏览新疆农业大学。图7~图10显示校园图书馆的虚拟构建过程和结果。
4.3 系统后期处理
在系统后期处理阶段,事先将所有的美化工作完成,避免出现快速度、快转向、人物与建筑比例不符等问题。注意将人物与建筑物的比例控制在合适的比例,本系统选择微软系统程序的打开方式,通过Unity导出可执行程序使其独立成为软件,并不会像在Unity中运行那样消耗太多性能。独立运行时其细节以及操作响应事件的程序都保留了下来,并且事先控制的交互界面也会保留。系统步骤及界面设计如图10、图11所示。
5结束语
近些年3D项目已经慢慢普及到千家万户,相对应的就是Unity3D的使用,它可以最大限度地完成所设定的想法。而对于国内AR、VR技术的普及,3D交互已经取得了很大的成就,所以在当下的环境中更应该去推广3DMAX以及Unity3D。本系统的特点在于使用虚拟表现出现实,并把学校环境资源进行特定的分析。通过此方法开发出的漫游系统与模型,将学校的多数建筑与环境,完整地复制在场景当中,使不同类型的用户不受限于时间与空间便可以漫游校园。本系统的技术开发与设计以校园环境为平台,借助于丰富便利的实体观测与考察,最终实现了以新疆农业大学为载体的三维漫游的系统,为其他三维场景的设计与建设提供一定的借鉴意义。
参考文献:
[1] 李顺娟.虚拟校园建模与漫游技术分析[J].无线互联科技,2021,18(2):10-12.
[2] 李樊.基于虚拟现实技术的3D游戏场景设计研究[J].科学大众(科学教育),2019(2):194.
[3] 宋泽军,柯红红.基于VR技术的虚拟校园漫游系统开发[J].产业科技创新,2020,2(4):40-41.
[4] 李珍,于海东.在Unity3D技术基础上构建虚拟校园漫游系统的研究[J].电脑编程技巧与维护,2021(7):144-146.
[5] 李倩.虚拟现实技术在虚拟校园漫游系统中的应用研究[D].杭州:浙江工业大学,2012.
[6] 曾贞.Unity3D物理引擎中刚体组件在AR碰撞设计中的运用[J].信息与电脑(理论版),2019,31(23):101-103.
[7] 马晓萍.基于NavMeshAgent系统的Trigger自动门设计与实现[J].电子技术,2021,50(10):14-15.
[8] 王穆一雄,吴政漾,张新秀,等.校园建筑物三维可视化查询系统研究与开发[J].兰州交通大学学报,2013,32(1):120-123.
[9] 李俊军.基于Unity3D的室内建筑三维建模与交互系统实现[D].徐州:中国矿业大学,2014.
[10] 吴婧,冯永忠,刘军.基于3D MAX的建筑建模[J].甘肃科技,2015,31(1):119-120.
【通联编辑:谢媛媛】