基于虚拟现实的家居仿真展示系统设计
2020-09-23黎泉胡璋
黎泉 胡璋
摘 要: 针对传统家居展示方式单一、设计效率低下的问题,文中提出一种基于虚拟现实技术的家居仿真展示系统。该系统实现了毛坯房与自助设计的漫游展示、UI交互及场景切换,用户可以自定义家居设计,包括家居物体交互、手柄提示、家居摆放和地板材质切换等功能。设计实现了系统资源采集与制作、环境部署、应用开发和发布测试4个阶段。基于HTC Vive设备的实现与测试结果表明,所提出的家居仿真展示系统不仅能够给用户提供沉浸式的家居体验,且具有出图效率高与运营成本低的特点。
关键词: 家居仿真展示系统; 系统设计; 虚拟现实; 自定义设计; 系统实现; 系统测试
中图分类号: TN911?34; TM76 文献标识码: A 文章编号: 1004?373X(2020)18?0139?04
Abstract: In allusion to the single display methods and low design efficiency in the traditional home display system, a home simulation display system based on virtual reality technology is proposed. In this system, the roaming display, UI interaction and scene switching of roughcast room and DIY design can be realized. Users can customize the home design, including home object interaction, handle prompts, home placement and floor material switching. The design of the system can implement four phases of system resource collection and production, environment deployment, application development and publishing testing. The implementation and testing results based on HTC Vive equipment show that the proposed home simulation display system can not only provide immersive home experience for users, but also has the characteristics of high mapping efficiency and low operating costs.
Keywords: home simulation display system; system design; virtual reality; custom design; system implementation; system testing
0 引 言
随着计算机技术的快速进步与硬件成本的不断降低,虚拟现实(Virtual Reality,VR)技术迎来了新的发展浪潮[1],众多企业开始参与到了VR技术的研发中。美国谷歌公司开发了Google Cardboard 产品,韩国三星公司开发了Gear VR头戴设备,日本索尼公司开发了PlayStation头戴设备[2?4]。然而在硬件设备蓬勃发展的同时,内容的匮乏严重制约了VR技术的发展与普及。目前,大多数企业通过结合现有的经验与新的技术理论,来不断尝试拓展VR技术的研究方向与发展前途,尤其是VR技术在家装领域的应用[5?8]。
传统的家居展示方式通常采用三维效果图进行可视化仿真展示[9],但该展示方式无法实现全场景的预览,容易导致建造成品不及客户的心理预期[10]。因此,越来越多的人开始将VR技术应用到家居仿真展示系统中。该展示方式不仅可以为用户提供沉浸式的家居体验,且可以实现地板、地砖与墙纸花纹等家居细节的自助设计[11]。此外,傳统的家居展示方式设计复杂、出图效率低;而基于VR技术的家居展示方式可以进行批量化操作,进而提升工作效率[12?13]。
为了提升家居仿真展示的效果,实现沉浸式的家居展示,本文提出了基于虚拟现实的家居仿真展示系统。该系统基于HTC Vive VR设备进行开发设计,充分考虑了家居展示与用户之间的交互,实现了个性化的家装设计。仿真设计与实现结果表明,所提出的家居展示系统不仅能够给用户提供沉浸式的家居体验,且可以进行模块化设计,提升开发的效率。
1 系统整体功能设计
本文为了实现个性化的家居设计、多样化的户型与精装房的选择,提出了基于虚拟现实的家居仿真展示系统。该系统实现了毛坯房与DIY设计的漫游展示、UI交互及场景切换,如图1所示。对于DIY设计,通过实现家居物体交互、手柄提示、家具摆放和地板材质切换等功能来实现个性化的家居设计。
各模块的具体功能设计如下:
1) 基础户型模块实现了家居的漫游展示、UI交互和多场景切换,用户可以通过操作手柄实现漫游。该功能的目的是实现全局观看户型布局,并使用UI菜单实现用户与家居细节的交互。
2) 自助设计模块实现了个性化的家居设计与用户自主的家具和地板材质切换、物体高亮展示与瞬移等功能。
2 自定义家居展示功能实现
为了实现沉浸式的用户体验效果,本文使用HTC Vive设备搭建工作站,并结合VR技术实现基础户型模块与DIY设计模块。其具体实现过程包括资源采集与制作、环境部署、应用开发和发布测试4个阶段。各阶段具体操作细节如图2所示。
2.1 资源采集与制作
基于虚拟现实的家居仿真展示系统,主要使用图片、音频和视频3种素材。本文将系统所需的素材进行加工,使其符合Unity支持的格式。
音频数据主要为系统所需的背景音乐,文中首先对挑选出的音频素材进行裁剪,然后保存为Unity支持的.AIFF,.WAV,.MP3,.OGG格式,以便后续调用。
图片数据主要为:系统背景图片、家具材质和UI图标。本文预先采集各种家具的材质贴图,然后将其保存为.PNG格式数据,以便系统读取。
视频数据为VR所需的高清视频,包括VR模式、画中画模式和普通模式3种摄制模式下拍摄的视频。
2.2 应用开发
基于VR的应用开发,主要包括模型制作、模型优化、渲染贴图和材质优化共4个步骤。
模型制作:使用3ds MAX软件对室内房屋进行建模,采用静态立体图像生成动画,从而实现由建筑设计平面效果图到立体沉浸式漫游效果的转化。为了获得更加逼真的效果,本文使用三维建模的方式构建虚拟房间模型。
三维模型可以根据其几何特点分为:线框模型、实体模型和表面模型。本文采用多边形网格建模方法来模拟曲面,从而构建出不同的三维物体。
多边形网格建模方法定义了面?顶点、顶点?顶点、翼边、半边、地板网格和辐射边等数据结构,并采用顶点、边与平面来表示多面体。文中使用半边数据结构来建模家居模型。该数据结构的每个顶点存储一个半边,并指向其相邻上半边与下半边。同时为了便于对曲面进行建模,本文使用高斯曲率来计算曲面的平滑度,如下:
式中,K表示高斯曲率即曲面平滑度。第i个小平面的面积为A,且有:
式中,[v1,v2,v3]为三角形小平面的顶点,如图3所示。
将获取到三维物体的曲率与小平面组合完成后,即可对HTC Vive设备采集的点云数据进行三维建模。首先将点云数据表示为三角形数据,然后对这些三角形数据进行相关处理,从而将房间建模为若干个小平面组成的虚拟环境。具体建模过程如下所述:
1) 查找小平面。首先计算三角形数据的每个顶点曲率,并将相邻顶点的曲率值取平均后作为当前顶点的曲率,然后填充得到每个顶点最合适的小平面。
2) 合成平面。首先遍历所有查找到的小平面,并将距离足够大且曲率较低的平面合并成为一个大平面,然后使用广度优先算法进行顶点填充,得到生成的大平面。
3) 设置平面类型。首先确定水平面、垂直面与地板面,然后根据地板面筛选出家具实体与墙体的结构,最终融合各场景目标实现家居模型的构建。
模型优化:为了减少模型运行时所占用的内存,本文通过删除冗余以及不可视的场景面、顶点来节省模型占用的空间。
渲染贴图:为了获取更加逼真的材质效果,本文使用3ds MAX渲染器来处理家居的材质信息,并使用材质贴图软件设计与渲染材质。
材质优化:为了进一步缩减材质贴图软件在处理材质大小时所耗费的计算时间,本文根据材质设计的特点进行了如下优化计算。灵活使用相对值和定值,使用灰度图代替没有颜色信息的节点,使用大于16×16的位图节点,以及禁用Alpha Blending等。
同时,为了实现用户自主漫游与个性化家具设计和摆放,本文实现了瞬移功能、手柄功能及地板材质切换功能。各功能的具体实现方法如下所述:
1) 瞬移功能:VR的内容是由虚拟场景投射而来的,其本质不包含景深的2D平面。因此,本文利用瞬移功能来实现人在场景中的漫游。该功能主要通过SteamVR与VRTK集成实现,首先使用Unity3D载入SteamVR Unity Toolkit插件与Virtual Reality Toolkit插件,然后进行场景朝向与位置的设置。
2) 手柄功能:用于添加用户使用提示,本文使用VRTK中的ControllerTooltip工具包进行组件属性的添加。
3) 地板材质切换功能:用户可以使用手柄来点击虚拟按钮,从而切换地板材质。本文通过创建画布(Canvas)并重命名为Floors作为材质类型列表,同时设置ShowMatButton按鈕展示材质、MatUIContainer容器来包含各种按钮。
2.3 环境部署
本文使用HTC Vive头显设备进行VR系统的开发,首先需要搭建HTC Vive基站,然后搭建Unity3D的工作环境。HTC Vive基站的搭建包括:硬件的连接、Steam平台的下载、安装与注册登录、设备基站位置、地面位置和头显中心的校准。Unity3D工作环境是VR开发的基础,使用里面的SteamVR组件,即可实现VR摄像机的部署与组件的添加。
3 系统实现与测试
由于基于VR的虚拟现实家居仿真系统对软硬件具有一定的要求,文章使用HTC Vive设备搭建工作站,并使用下述开发环境与工具,实现系统各模块功能。系统环境为:Windows 10,64位系统,Nvidia GeForce GTX1080 GPU, Intel[?] Core(TM) i7?7700 CPU,VR开发包为DOTween(HOTween V2)1.1.640,Virtual Reality Toolkit 3.2.1, Steam VR Plugin 1.2.3。
图4为本文设备采集到的点云数据的可视化显示。图5为对该组点云数据进行建模后得到的结果。
本文也实现了用户自定义的交互操作与实现效果,如图6所示。用户可以实现与建模结果的移动、缩放和全息投影的交互。
为了验证本文进行模型优化的有效性,表1给出了模型优化前后算法所需的计算时间与占用的内存量。从表中可以看出,优化后可以明显节省内存并减少计算时间。
4 结 语
本文提出基于虚拟现实的家居仿真展示系统,以实现个性化的家居设计、多样性的户型与装修选择。该系统使用界面功能模块实现系统与用户的交互、采用基础户型漫游模块实现户型漫游功能,精装样板间展示模块提供了用户自助设计功能。基于HTC Vive实现的场景渲染功能、手柄提示、家居摆放和地板材质切换等功能表明,本文设计的家居展示方式不仅能为用户提供沉浸式的虚拟家居效果体验,而且具有出图效率高、运营成本低的优势。
参考文献
[1] TACHI S. From 3D to VR and further to telexistence [C]// 2013 23rd International Conference on Artificial Reality and Telexistence. Tokyo: IEEE, 2018: 947?952.
[2] MENIN A, TORCHELSEN R, NEDEL L. An analysis of VR technology used in immersive simulations with a serious game perspective [J]. IEEE computer graphics and applications, 2018, 38(2): 57?73.
[3] KON Y, NAKAMURA T, SAKURAQI R, et al. HangerOVER: development of HMO?embedded haptic display using the hanger reflex and VR application [C]// 2018 IEEE Conference on Virtual Reality and 3D User Interfaces. Atlanta: IEEE, 2018: 326?333.
[4] 朱晓强,潘虹艺,徐浩,等.头戴设备VR环境下光滑加权等距面交互建模[J].系统仿真学报,2018,30(7):2459?2464.
[5] 邱畅.基于PBR理论的虚拟现实室内家居展示的研究与应用[D].北京:北京工业大学,2018.
[6] LIM H T, KIM H G, RO Y M. VR IQA net: deep virtual reality image quality assessment using adversarial learning [C]// IEEE International Conference on Acoustics, Speech and Signal Processing. Morristown: IEEE, 2018: 202?211.
[7] KANTH A S V R, GARG N. Computational simulations for solving a class of fractional models via Caputo?Fabrizio fractional derivative [J]. Procedia computer science, 2018, 45(3): 476?482.
[8] 柯健,王敏,周德富,等.虚拟现实技术在室内家居设计中的应用[J].软件导刊,2019,18(10):144?146.
[9] JERALD J. Human?centered VR design: five essentials every engineer needs to know [J]. IEEE transactions on computer graphics and applications, 2018, 38(2): 15?21.
[10] 黄东晋,唐鹏斌,王音,等.基于交互历史的三维家居个性化推荐与虚拟展示[J].应用科学学报,2015,33(4):407?418.
[11] MOSSER M, PIERESSA F, REUTTER J, et al. Querying APIs with SPARQL: language and worst?case optimal algorithms [C]// European Semantic Web Conference. Berlin: Springer, 2018: 17?30.
[12] SPORTILLO D, PALJIC A, OJEDA L, et al. Light virtual reality systems for the training of conditionally automated vehicle drivers [C]// IEEE Conference on Virtual Reality and 3D User Interfaces. Oklahoma City: IEEE, 2018: 37?44.
[13] 崔淮.家居展示设计中虚拟仿真及交互设計的研究与应用[D].长沙:湖南师范大学,2016.