基于UE4的长租公寓VR软装选配系统的开发与实现
0 引言
虚拟现实技术,即Virtual Reality (以下简称VR),是一种可创建和体验虚拟世界(virtual world)的计算机系统[1]。使用VR技术创建的虚拟三维空间,为用户提供视觉、听觉、触觉等多感官模拟,使得用户能够逼真地感受到虚拟空间内景物或模型的存在,并进行相应的交互操作。近年来,随着硬件设备的快速升级,VR技术得到广泛应用。在建筑行业中应用VR技术可以对建筑设计方案进行更直观表达,向第三方全方位展示设计细节,有助于避免因甲方需求表达不明确而导致的设计偏差,可提高施工人员在作业中对整体建筑物的认知。
创建真实的虚拟空间需庞大的数据支持及复杂的渲染工作,如何解决这一问题是VR技术发展的关键[2]。Unreal Engine 4 (以下简称UE4)是由Epic Games推出的一款游戏开发引擎,具有出色的图形处理能力和渲染效果。UE4应用在建筑行业中的主要优势有:快速的可视化表达能力,强大的VR交互功能,较好的数据兼容性等。
长租公寓是指公寓运营企业将收集的房源进行统一改造和装饰,并配置多功能的公共空间和多样化的物业服务,从而吸引更多人群入住的服务式公寓[3]。本文以中建幸福公寓为例,对基于UE4的VR软装选配系统进行了开发与实现。提出了长租公寓VR场景的构建流程,该流程同样适用于各类房地产样板间的VR系统开发,实现了VR软装选配系统的系统功能,并阐述了VR技术在长租公寓可视化中的应用意义及优势,对基于UE4的VR技术在建筑行业中的发展进行了相关的分析与展望。
1 研究背景
中建幸福公寓(见图1)作为中国建筑旗下的首个长租公寓项目,其经营模式具有较高的参考价值。
图1 中建幸福公寓
VR技术可以直观地向用户展示不同房型的结构与特色,能模拟入住,同时可以向用户提供公寓内部不同户型内的软装选配等多种交互功能。本文基于UE4对中建幸福公寓的VR软装选配系统进行了开发与实现,使用该系统可以进行软装自主搭配,通过客户与程序的交互式体验,提高客户的沉浸感,在长租公寓推广及销售过程中拉近与客户的距离,对长租公寓成交起到促进作用。
2 VR场景构建
2.1 模型数据准备
模型数据的准备主要包括搭建场景中的几何模型和制作模型的纹理贴图,其流程为:搭建3DS Max多边形模型→导出.obj文件→导入Unfold3D编辑UV→保存.obj文件→导入3DS Max,设置纹理贴图UV和光照贴图UV→添加碰撞体→3DS Max模型赋予Standard材质→导出.fbx文件。由于UE4本身仅支持创建地形和一些基础的球体、平面及立方体,不支持制作复杂网格模型,故本文使用建筑可视化行业常用的建模软件Autodesk 3DS Max来搭建场景中的几何模型。完成场景几何模型准备工作后,导出Autodesk.fbx文件,再导入UE4项目,成为静态网格资产。Autodesk FBX是Autodesk公司出品的一款用于跨平台的免费三维创作与格式交换的软件,支持所有主要的三维数据元素以及二维、音频和视频媒体元素。
在建筑可视化行业,Autodesk 3DS Max中常用V-Ray材质,但是导入UE4的.fbx文件必须用Standard材质。如果取得的模型自带有V-Ray材质,可以通过运行3DS Max脚本转换为Standard材质。
根据不同模型需要表达的不同效果,创建UE4材质。在创建过程中应尽可能体现其在真实世界中的质感,并根据已创建的材质不断地调整和改变,使整体材质的表达更加和谐。材质是可以应用到网格模型上的资源,用它可控制场景的可视外观。当穿过场景的光照接触到表面后,材质被用来计算该光照如何与该表面进行互动。在UE4中,这些计算是通过对材质的输入数据来完成的,而这些输入数据来自于一系列图像(贴图)、数学表达式以及材质本身所继承的属性,材质编辑器界面如图2所示。
图2 材质编辑器
一个单一材质有可能用到几个不同的纹理贴图作为不同的目的效果。一个简单的材质可能会有一个基础颜色的纹理贴图、一个高光纹理、一个法线贴图。除此以外,还可能有保存在透明通道中的自发光贴图以及粗糙度贴图。
本文中的纹理贴图使用Substance Designer制作,导出分辨率为2 048×2 048的.png格式图片,再导入UE4项目。通常在Autodesk 3DS Max中,模型应用材质需要首先设置纹理贴图UV,以便将各种纹理贴图映射到静态网格体上。
另外,在本系统中,主要展示的是一些静态场景,为了取得更好的渲染效果,将一些静态网格体使用预计算光照的方式来降低计算机硬件在实时渲染时的计算压力。为了存储这些光照和阴影信息,每个静态网格体还需单独光照贴图,相对应地,需要其特有的1套光照UV通道。本文使用Unfold3D结合Autodesk 3DS Max的UV编辑工具制作光照贴图UV。与纹理UV不同,光照贴图上需要有模型所有面的专属空间,且不可有重叠面。为了避免瑕疵,可以使用较高分辨率的光照贴图,以确保UV图表之间足够填充(或间距),但也会增加软件运行时所占用的计算机内存资源。因此,光照贴图是场景构建最具挑战性的工作之一。
为了使静态网格体成为关卡中物理模拟的一部分,必须为其设置碰撞网格体。它表示静态网格体对象在物理模拟中的边界。每当物理系统需要检查其他物理对象是否与网格体碰撞,以及执行高性能光线投射来测试对网格体的碰撞时,都会使用该碰撞网格体。可以使用静态网格体的可见几何体作为其碰撞网格体,但是可见几何体通常过于详细,即使要提供逼真的效果,物理交互通常也不需要具有如此高的准确性,因此可以通过尽量简化碰撞网格体来提升物理系统的性能。可以在Autodesk3DS Max中制作碰撞网格体,简单地包裹模型,碰撞网格体为“UCX_[Render Mesh Name]_##”。Render Mesh Name名称必须与3D软件中碰撞网格体关联的渲染网格体的命名一致。如果3D软件中渲染网格体的命名为Tree_01,那么碰撞网格体将与渲染网格体处于同一场景中,命名为UCX_Tree_01。也可以在UE4静态网格体编辑器中自动为静态网格体创建简单的碰撞表示。
2.2 UE4场景构建
进行UE4场景构建首先需要确定场景大小,根据长租公寓不同的房型设计不同大小的场景,然后导入已处理好的模型素材,建立并编辑地形,将导入的模型素材摆放到场景中,摆放完成之后,为了增加整体场景的真实感,还需要添加一些光照。经过上述步骤之后,整体场景大体上便构建完成,之后需对细节进行一些处理,如公寓内的灯光装饰等,细节处理可以使场景整体上更加具有真实性,UE4场景构建步骤如图3所示。
图3 UE4场景构建流程
在一个UE4场景中,灯光的构建至关重要,使用灯光场景可以对模型进行烘托渲染。在不同角度的灯光作用下,整个场景会更加逼真且能够对用户造成一定的视觉冲击以提升整体场景的真实性。UE4中提供了4种不同的光照类型,一般来说,在同一个场景里,需要遵循1个主光源的原则,其他光源强度要小于主光源,主光源无法照射的地方可以添加1个或多个副光源。
2.3 UE4素材库制作
基础场景搭建完成后制作各类模型素材库以及软装搭配用的材质库,这些素材库主要是对VR场景中的软装选配功能提供数据支持,因此在制作模型素材库时需要对这些模型素材进行属性信息的添加,根据长租公寓VR场景中软装选配的需求,对这些模型的属性字段进行设计,主要包括编号、所属类型、颜色、材质、价格及产地6个字段。
3 软装选配系统的开发与实现
主要步骤包括系统架构设计、系统交互设计、系统功能实现、成果输出4个方面。系统的主要功能是实现公寓租客自行选配公寓软装并预览装饰效果。用户注册登录系统后,选择户型库中预设的一个本项目户型图,即可进入软装选配界面。在选配界面,可以查看支持自定义的家具库和材料库,为所选户型选配家具、软装材料,进行自定义布置,并实时预览照片级真实的三维效果。计算机接入VR头戴式显示设备即可进行沉浸式体验软装效果,且用户可以保存当前方案,便于下次进行编辑。
3.1 系统架构设计
根据VR软装选配系统的功能规划进行系统结构设计,采用的是3层结构,即将该系统架构划分为数据访问层、业务逻辑层和界面层。其中,数据访问层只能被业务逻辑层访问,业务逻辑层只能被界面层访问,用户可以通过界面层将请求传送给业务逻辑层从而进行数据的访问。
数据层主要涵盖了长租公寓的相关建筑信息模型(BIM)数据、海量的软装模型数据、不同房型相应的UE4预设场景等,数据层为整个系统提供了数据支撑。业务逻辑层是数据层和界面层的桥梁,主要负责数据的传递与处理,其整体设计流程如图4所示。界面层实现了人机界面的交互功能,用户可以通过发送请求实现相应的系统功能。
3.2 系统交互蓝图设计
VR程序一般采用的是第一人称漫游角色,这样有助于用户在体验时一直以自身的视角去观察虚拟场景,使得用户与VR场景进行交互操作时更具真实性。为了让用户在VR场景中可以通过手柄实现各类型与虚拟模型的交互操作,需要进行各类互动背后的程序设计。
本系统基于UE4的虚幻动态图形UI设计器(以下简称UMG)进行VR编程。UMG包含了一系列的不同控件,它是对整个VR场景进行搭建和交互操作设计的基础。此外,UE4拥有可视化脚本系统“蓝图”,可以定义在引擎中的各种面向对象的类或者对象,便捷地实现各种复杂的程序逻辑,使其能够被快速地学习和使用,极大地降低了设计人员开发VR程序的门槛。
对虚拟场景交互设计的4个主要部分展开介绍。首先是用户操作界面,根据这个界面用户可以快速注册并登录该VR场景,并在使用完成后退出使用界面。这样设计可使用户访问该VR场景时更加便利。
根据长租公寓的VR场景,本系统设计的主要交互操作有如下几项。
图4 系统逻辑层整体设计流程
1)户型选择功能首先将项目已有的装饰专业各户型BIM模型导入本系统,将支持自定义的软装等模型的修改权限向客户开放,客户打开系统后可选择一个基础户型做软装选配,选择户型界面如图5所示。
2)漫游功能即可以提供全方位沉浸式的浏览功能。
3)传送功能即指定场景内任一区域,通过手柄进行位置传送功能。
4)软装装配功能在本VR场景中用户可以调用素材库中的模型(见图6),对VR场景内已存在的家具或软装进行自适应调配,且可以看到所选择家具或软装的属性信息,如类型、材质、产地或价格等属性,从而自主选择软装搭配。
图5 选择户型界面
图6 家具库中可供调用的各类模型
5)互动功能即在本场景内可以对一些家具模型,如椅子、桌子和床等进行位置调整,使这些家具可以根据用户的喜好进行摆放(见图7)。
图7 实现对家具的移动和旋转
3.3 成果输出
在UE4中完成对该软装选配系统的开发之后,必须先对系统的工程文件进行正确打包,才能将其发布给公寓营销部门去推广使用。由于逼真的VR展示对硬件配置的要求很高,所以该系统VR成果的打包输出以桌面程序的形式进行。同时,为了充分利用硬件性能,一般选择Windows 64位平台的选项。设置好后,UE4将会自动编译VR程序的源代码,并且将项目中所有需要的内容转换为选定平台可以使用的格式。然后,这些自动生成的文件将会被绑定生成对应的EXE可执行程序。之后复制到VR眼镜配套的高性能台式机上直接打开,即可交给用户进行沉浸式体验和软装选配。这样的成果输出模式不仅使得VR场景的存储和传递更加便利,而且简化了多部门的合作流程,更加有利于长租公寓基于VR软装选配系统市场营销工作的开展。
4 结语
基于UE4对中建幸福公寓的VR软装选配系统进行开发与实现,其展示效果逼真,交互体验丰富,除本文中提到的已有功能还可以进行深度的定制开发。包括自动导出客户设计方案的平面布置图纸和对应的物料清单;导出客户设计方案的各角度全景图,然后传到720云等全景图平台进行分享展示;拍摄完工后的全景图也可以放入VR眼镜或者全景图平台,可进一步实现设计效果与实际效果的比对展示等。
本系统采用的UE4引擎在最新的版本中可以直接导入项目已有的BIM模型,自动完成部分UV整理工作,在BIM模型的一模多用和元数据继承方面有极大优势。在之后其他类似项目的应用中可以将该流程与项目装饰施工过程中的BIM应用进一步深度整合,实现业主方利益的最大化。BIM技术和VR技术也将相辅相成、互相促进,进一步助力提升建筑行业的信息化水平。
[2] 荀平,彭亮,王伟健,等.基于UE4的虚拟现实技术在建筑可视化中的应用研究[J].自动化与仪器仪表,2017(11):129-132.
[3] 王建红.长租公寓行业发展现状、问题及对策研究[J].住宅与房地产,2016(33):237,240.