基于虚幻引擎的3D虚拟校园漫游系统建设
2018-02-25屈宇轩王俊洁
屈宇轩 王俊洁
摘要 随着计算机技术不断发展和进步,拥有即时渲染技术的虚幻4引擎在虚拟现实的应用也越来越广泛。文章以某大学校园开发的漫游系统为实例,介绍了虚幻引擎在漫游系统开发设计中的相关应用。
【关键词】虚拟校园漫游 虚幻4 引擎 3D建模
虚拟校园漫游系统是一个三维可视化的、有声有色的仿真校园景观,用户可以在这个虚拟三维环境中通过动态交互来对校园环境进行全面的审查,目前已经有多所高校将虚拟校园作为学校建设中的重要环节高度重视。虽然虚拟校园技术日渐成熟,但国内对于虚幻4引擎的研究报告文献较少,而基于虚幻4引擎的校园漫游更是个全新的领域。
1 平台介绍
1.1 Autodesk Maya
Autodesk Maya是美国Autodesk公司出品的世界顶级的三维模型制作软件,Maya功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强,是影视级别的高端制作软件。Maya集成了多种最先进的动画及数字效果技术,可在多种操作系统上运行,是目前市场上用来进行数字和三维模型制作的首选方案。
1.2 Substance Painter2
Substance Painter简称SP,作为一款最新最先进的3D贴图绘制工具,是Substance贴图工具系列产品之一。SP支持基于物理渲染PBR技术,能一次性绘制出所有材质,数秒内就可为贴图加入精巧的细节。同时,SP可在三维模型上直接绘制纹理,避免了uv接缝造成的问题,功能非常强大。使用SP绘制的各种贴图,在游戏引擎、三维渲染中都能十分逼真地呈现,且不浪费计算资源。
1.3 虚幻4
虚幻4可以说国内外公认的目前最先进也是最强大的商业引擎。用虚幻4制作出的游戏和视频,以其强大的光影渲染、深度展现的材质和基于现实的刚体碰撞给观众和玩家带来强大的视觉冲击。相较于其他游戏引擎和早些版本的虚幻引擎,虚幻4表现出毋庸置疑的次世代水准。
2 虚拟校园的开发流程图
虚拟校园漫游系统的开发工作环节较多,细节要求较高。前期需要花费大量的时间进行数据收集处理和建立模型,中期要在引擎中进行场景搭建和数据模型的修正完善,后期还需要对系统功能进行开发测试和整体优化。具体系统开发流程图如下图1所示。
2.1 数据的采集
在系统设计中,3D模型主要以MAYA作为制作模型的软件工具,采用人工软件构造。在进行校园场景的建模时,我们将整个校园场景模型分为室外模型和室内模型。首先使用百度卫星地图获得整个校园的俯视图,然后对校园实际建筑进行多角度实地拍摄和数据分析,确定单个模型的各方面数据比例,然后以单个建筑作为参考样本,来对接下来进行的其他建筑建模规定比例尺。
2.2 模型的建立
在得到校园的俯视图后,便可以将建筑部分和草坪、花壇、树木等绿化设施区分开来,然后制作出建筑平面图。首先以平面图为背景进行创建多边形,沿着图片中绿化带和人行道等不规则的设施勾画出形状不一的几何体,然后使用简单几何体搭建出建筑物的草稿,再对建筑物的高度还有地面设施的形状进行微调直到使其比例合理,便获得了整个校园环境的三维模型草稿,配合之前拍摄的照片对模型进行细化。完成建筑模型之后,再对小型场景模型(路灯、垃圾桶、装饰物、喷泉)进行建模。与此同时,我们可以共享虚幻4中提供大量模型资源。
2.3 贴图的制作
为了使制作出的模型在引擎中显示的效果更加逼真,我们没有采用对建筑物实体拍摄再用PhotoShop处理的方法,而是选择使用Substance Painter2软件进行贴图的绘制,因为SP能够更好地表现纹理,凹凸,光泽等信息,而这些对于模型的贴图来说恰恰是十分重要的。
2.4 模型导入虚幻4
虽然虚幻4具有多种插件可以支持很多个格式的模型文件,但是考虑到有部分骨骼和动画的人物角色模型,所以所有的模型都采用fbx格式导入。导入模型文件的同时,也要将制作好的贴图导入。为了使后期的场景布置工作更加高效,不同模型的多张贴图,例如颜色、法线、环境光、平滑度、高度等贴图应分类存储在不同文件夹下。因为在先前进行建模的阶段已经进行了数据的统一,确定了模型的位置和大小,所以在将模型导入虚幻4之后,无需进行过大的修改,只需给模型添加相应的碰撞即可。虽然在虚幻4中,可以设定直接使用模型本身作为它的碰撞,但是在系统实际测试中发现该功能占用了过多的资源,可能会导致关卡载入过慢和运行不够流畅等问题,所以还是需要手动设定模型的碰撞。
2.5 场景的构建
在虚幻4中,如果需要不同的场景,往往会采用建立多个关卡(level),通过切换关卡来实现不同场景的表现。但是考虑到切换关卡时的载入和位置信息的设定,我们选择将室内场景和室外场景建立在同一个关卡内,同时将室内场景隐藏在正常情况下用户无法观察到的位置。此外,还需在无法通过的地形或场景的边界处设置空气墙来限制用户的移动范围。然后对场景进行光照的布置,室外场景的光照选择使用定向光源(directional light)配合天空光源( Sky Light)来保证场景同时具有阳光和天光,在此基础上加入指数级高度雾( exponential height fog)配合天空球来还原现实世界中远景在接近地平线高度上的模糊现象。有部分场景由于受到模型的遮挡导致亮度过低,则需要在这些地方设置光照重要体积箱(Lightmass Importance Volume),使得该区域内的光照会参与二次反射,让没有得到光照的地方也能显现的更加真实自然,虽然会占用一部分资源,但是能极大的提高场景的真实度和还原度。室内场景的光照就相对复杂一些,想要得到较为真实的场景,除了必须布置光照重要体积箱外,还要模拟出逼真的阴影,所以要在光线的入射处布置多盏聚光灯(Spot Light)进行模拟,多个聚光灯可以模拟光线从各个角度均匀照射的效果。此外,在参数设定上要注意调整光源的半径,同时取消勾选使用平方反比衰减(Use Inverse SquaredFalloff),让光线衰减过程更贴合于理想的效果。
2.6 UI的设计
在整个系统中,所有的UI都采用了简洁的设计风格,包括与NPC,互动时产生的对话框、说明与介绍的背景和系统内的菜单和按键,给用户一种干净简洁、一目了然的感觉。UI系统的实现并不复杂,主要使用了在用户界面上投射控件蓝图(wvidget blueprint)的方式;其中的难点在于小地图功能的实现,为了达到更好的视觉效果,我们没有使用虚幻4自带的分屏功能(splitscreen),而是选择通过屏幕捕捉(scenecapture2d)組件和渲染目标(rendertarget)组件协同工作来实现小地图功能。它的工作原理可以概述为在用户角色正上方高空处创建一个跟随玩家移动且向正下方拍摄的正交视角的摄像机,然后实时捕捉它所拍摄到的画面,将画面转变成类似动态贴图的方式投射到用户界面上,形成小地图的效果。
2.7 简单交互功能的实现
系统中角色交互行为的实现主要依赖于各种触发器,每个可以进行互动的地方都预先设置好了不同类型的触发器,比如在用户控制角色的身体前方就有一个不可见且没有碰撞体积的盒体触发器,当这个触发器与其他触发器发生重叠时,角色身边会出现互动提示,当重叠结束的时候,互动提示相应的也会消失。而其他可互动的场景或角色一般拥有两个触发器,第一个是体积触发器,用以判断用户是否处于可以互动的范围;第二个触发器是按键触发器,用来判断用户是否进行互动操作,当用户角色处于可互动范围且进行了互动操作时,才可运行设置好的指令蓝图,实现交互。
2.8 关卡的读取和载入
由于整个系统对硬件配置要求较高,载入可能会花费较长时间。同时,关卡内容不属于线性流程,且学校规模不大,不适用区块加载和缓冲,所以我们选择做一个简单的预加载机制,将logo和登录界面放入一个空关卡,运用关卡流的方式将空关卡和场景关卡串联起来,用户运行系统后空关卡瞬间完成载入,出现logo和登录界面的同时已经在进行场景关卡的载入,以此来缩短用户实际上感觉到的载入时间。
3 成果展示
系统以真实校园为整体蓝本(校园布局设计、交通、景观、教学及生活环境、建筑物、人文),成功还原了现实校园的全部场景,访问者可进行自主漫游和改变视点环视校园。系统还具有很强的人机交互性,让访问者在校园漫游的过程中感觉更加轻松自然,提高了系统的真实性和还原度,校园在预览级光照质量下的效果图如图2所示。
4 结束语
4.1 虚拟校园的意义
虚拟校园的研究和创建对以后数字校园的建设有重要的现实意义,它既可以为学校树立良好的形象,提高学校的知名度,宣传校园文化,还可以为校园规划和设计提供更明确的目标。同时也提高了校园管理的效率和科学化水平。有了三维虚拟校园,新生在入学前就可以全面的了解校园的布局,通过交互式的查询,就可以了解校园的所有信息,为尽快的适应学习生活提供方便;三维虚拟校园不只是对现实校园建筑形状、地理形态的仿真,而是对整个校园及其社会活动和经济活动在网络上的真实再现。
4.2 虚幻引擎的应用领域及发展前景
虚幻4虽然是一款游戏引擎,但是由于它的侧重点在于画面的真实性,再加上独特的BluePrint功能,无需进行代码编写便轻松实现一些简单的功能,大大降低了对专业知识的要求。虚幻4可以被更加广泛的应用于影视、医学、军事、体育、航天、房地产等诸多领域。除此之外,虚幻4引擎本身泛用性极强,它可以支持主机端、Web端、PC客户端、移动端,且支持语音交流和多平台互通同步工作。在VR开发方面,虚幻4很早就内置了VR开发功能,也是当前最好的VR开发引擎之一。以上几点,充分证明了,虚幻4引擎的前途不可限量。
参考文献
[1]郭元昊.UE4室内光照技法制作解析,火星网:2015.文章链接:http:,/jingyan.hxsd. com/index. php?id=578750#1
[2]符清芳,张茹,基于虚幻4的自然场景制作[J],电脑知识与技术,2016 (31):188一189
[3]王玉田,孔德慧,尹宝才,王文东.虚拟校园漫游系统的实现[J].北京工业大学学报,2006 (04): 315-320.
[4]杨于宸.“数字校园”三维景观模型的设计与制作[J].四川建筑,2017 (01): 63-66.
[5]张晓宇,虚拟校园漫游系统的设计与实现[D].吉林大学,硕士论文.
[6]百度百科文章链接:https://baike.baidu. com/i tem/Au todesk%2 0Maya/418 6232?fr=aladdin&fromid=2724859&fromtit1e=%E7%8E%9B%E9%9B%85#1,