西安财经大学 中国(西安)丝绸之路研究院 贾辰凌
虚拟现实(VR)技术因其突出的沉浸性、交互性等特征,在可视化、数字孪生等领域有着重要作用。基于3Ds Max建模、Unity 3D VR交互等关键技术,提出了建筑室内场景可视化与交互的完整方案,设计并实现了一套室内VR场景漫游及交互系统。针对某实际住宅区多户型数据,建立多样虚拟环境,实现双眼沉浸全视角漫游、瞬移、开关灯具、隔空抓取等场景互动。测试表明:系统渲染美观,交互舒适,可运行于商业VR头盔套件以及配备了镜架的手机端,具备较强临场感和体验性。为低成本、沉浸式、时空灵活地进行场馆建筑展示,以及智慧城市的数字化构建提供了可行思路和技术参考。
虚拟现实(VR)技术融合了计算机图形学、人机交互、可视化、光电传感等学科和技术,具备沉浸感、交互性、想象力等特征[1]。借助头盔式双眼显示器,手持或穿戴体感设备,可实现实时成像的三维沉浸式视角,并通过传感数据建立自身与场景内虚拟角色的体感映射,实现多通道人机交互体验。
近两年,VR技术逐步从系统化探索阶段进入了高度沉浸且价格较合理的市场化应用阶段。成为可视化、数字孪生等研究领域的重要技术手段[2],并在行业管理、教学仿真、医疗、文化等领域发展迅速[3-5],取得了较大的关注和良好的社会经济效应。
在城市设施、建筑、景观与场馆的规划和展示领域,VR技术能够增强设计方案的前瞻性与互动性、丰富仿真层次和展示内容,为可行性、合理性、设计优化和保护方案等提供决策支持[6,7];同时拓宽了展示渠道和灵活性,有着广阔的发展空间。
以地产行业为例,智慧城市构建需要智慧地产升级[8,9],但传统地产宣传销售过程存在着资料平面化、程序灌输性强、实体看房成本高、时空灵活性差等问题,在房屋信息展示和客户自主体验方面存在较大提升空间。传统手段客户借助建筑房屋的宣传文字、照片或视频等平面化材料在脑海中构想房屋情况,难以获得沉浸、直观的游览体验,且被动接受经过筛选的信息,不利于对房屋环境进行自主、全面的深入了解。同时,销售商提供实体楼盘样板房装修及家具陈设均需投入部分金钱和工期成本,一旦完成其装潢和家具便难以灵活更换,不利于进行差异化和针对性宣传。而客户对实体样板房的查看需要合理安排时间、差旅、费用、精力等复杂因素,可能出现实体房屋预约困难、看房时间短暂、次数不足,甚至实体样板房尚未建成等问题。在这种情况下想要更深入全面地了解房屋就需要耗费更多的个人财力、时间和精力。若能提供足不出户、频次和时长安排自由、成本低廉且自主感受良好的浏览体验,则有助于降低双方接洽成本,提高交流效率。
数字经济时代,各类虚拟资源已成为人们生活的重要组成部分,特别是在疫情防控期间因其特殊环境也影响了人们的出行频率与距离,因而拓展时空更为灵活的数字化宣传手段对于地产销售,以及其他城市建筑和场馆展示来说,是十分必要的。
鉴于上述技术应用背景和行业发展需求,本文对虚拟现实建筑可视化方案与技术实现进行了研究。针对某实际住宅小区的15套不同户型数据,通过3Ds Max建模、Unity 3D引擎及VR交互编程等关键技术,构建了一套三维虚拟现实室内漫游、交互系统。通过使用系统,用户只需极小空间和低廉成本、便可远距离、多场地、时间灵活地进行三维写实场景的双眼视觉与立体感知,提高了对房屋环境的直观感受;同时漫游、瞬移、开关触发和拾取等交互功能设计也增强了用户对虚拟环境自主探索的能力和体验;虚拟环境可实现不同室内装修风格主题的切换配置,进一步提高房屋使用情况的预见性,有助于用户结合户型进行房屋装修决策。
系统使用的3D模型由3Ds Max、Photoshop等完成。VR 3D场景和交互业务逻辑的实现主要使用Unity 3D引擎完成,编程语言为C#。与基于传统VRML语言的Web虚拟现实技术相比,基于3D建模和Unity引擎的VR系统开发效率更高,渲染效果更好,且实现了从屏幕网页、键鼠交互方式到头盔式双眼显示、穿戴式体感设备交互的转变[10],增强了沉浸感。
系统可分为虚拟场景数据层、交互业务层、界面表示层三个层次。如图1所示,对原始场景数据进行实时运算,产生相应的虚拟现实环境;通过VR人机接口沟通计算机业务逻辑与用户任务数据,完成3D位置与角度跟踪、立体视觉图形生成、立体声,事件触发与处理等交互功能,并在表示层对用户进行反馈。
图1 VR交互系统体系结构设计Fig.1 Architecture of VR indoor interactive system
如图2所示,系统的主要功能模块可分VR场景展示以及场景内交互两大模块。
图2 VR交互系统功能模块设计Fig.2 Function module of VR indoor interactive system
系统运行时,应当满足用户对于房屋内户型、陈设等进行全景观察的功能需求,当观察视角或观察位置发生变化时,视图画面应当实时变化。系统完成写实场景风格,可在不同家具风格、不同户型场景之间进行切换。同时,用户可以与虚拟环境进行一些互动,包括虚拟空间内位置连续移动即漫游、消除眩晕感的空间瞬移;以及通过事件触发完成与家具模型的互动如灯具打开关闭、隔空抓取、自动开门关门等。
将软件工程一般性原理与VR漫游系统实际情况相结合,可得到系统的基本开发流程,如图3所示。
图3 系统实现的业务流程Fig.3 Implementation process of VR indoor interactive system
需求分析阶段,明确核心功能模块,取得系统涉及的详细房屋介绍和CAD图纸等原始数据。根据房屋原始数据进行VR场景制作,主要包含:室内家具3D模型建立;对应户型的房屋主体3D场景搭建;以及填充家具后室内场景的整体渲染和风格化。场景搭建完成后,进行系统交互功能开发,主要包含:头盔显示器、手柄控制器的数据获取及硬件行为与系统功能的映射,用以实时进行头手定位,观察视角判断,实现虚拟移动,碰撞检测和模型事件触发功能。封装生成的成品软件适用于HTC VIVE Focus VR一体机(包含头盔式显示器和手柄控制器等组件)。同时,也可供安卓手机端通过VR眼镜架进行体验使用。
结合常见家装风格实例和用户需求,家具模型制作的核心过程包含白模及UV贴图制作两个阶段。白模制作遵循多边形建模原理,使用点、线、面为基本编辑元素。UV贴图描述了3D模型的外部视觉表示(如固有色)在2D平面的映射。针对规则几何体模型,可直接通过UVW变换等指令设置贴图位置和白模的映射关系。针对复杂或不规则的家具模型,如曲面床枕沙发,则需要进行更细致的模型UV展开工作。
为写实化场景,需要制作两类贴图。第一类反映了模型对象自身属性,如漫反射、法线贴图等。第二类与第一类的贴图通道ID应不同,可在新通道中,重新创建一套UV展开关系,用于计算模型烘焙后得到的环境光光照贴图(OA贴图)。展开时,同一模型相邻面的UV应尽量保持相连,且整体外边缘应是矩形或尽量接近矩形。避免出现复杂UV边缘,以免低分辨率下烘焙出的光照贴图呈马赛克样,清晰度不足。
模型制作完成后,可导出.fbx格式文件,以供后续导入Unity工程中使用。
在Unity工程中,按照户型数据进行户型整体环境的复现,包括地板及墙体地写实创建。借助Pro Builder插件可完成户型模型制作和纹理映射。
虚拟户型场景完成后,需进行室内场景布置和渲染工作。场景布置主要是家具摆设、门窗等的放置并对模型碰撞体进行设置和调整。渲染环节是在场景中设置若干反射球(Reflectionball)与光源(Light)。通过获取天空盒反射所不能获取的局部场景光照与材质信息细节,可计算出(RenderProbe())模型局部光照的反射影像,增强渲染的真实感。可对反射球探针强度、范围、刷新模式、HDR等属性进行设置。场景内光源设置包括点光源与区域光光源,点光源用于模拟屋内吊灯及台灯灯光,区域光设置在房间大扇窗户处,用于模拟窗外自然光。渲染后场景表现会更加真实。
将建模和渲染软件生成的3D虚拟场景进行“VR化”,即转化为与VR头盔等设备互联的VR虚拟场景,并针对位置角度设定、碰撞检测、事件触发等逻辑进行代码实现,进而能够实现双眼立体视觉,以及虚拟角色与虚拟场景的多种交互活动。
2.3.1 手柄控制器
通过工程WVR_CONTROLLER组件上挂载的手柄连接(Connection State Reactor)和姿势跟踪(Pose Tracker)脚本,可实现对手柄控制器上各实体按键传感数据的实时监听和获取。其子组件Finch_Controller内包含TouchPad、Trigger、HomeButton等多个模型组件,是手柄控制器上圆形触控板、扳机、主屏键等实体按键的虚拟映射。在其上编写Controller脚本,用于定义不同手柄按键的不同行为,如TouchPad的按下响应、抬起响应、触摸响应等。子组件Beam用于模拟虚拟场景中从手柄顶端沿手柄角度发射的一道光线,包含射线模型和射线(VR_Beam)脚本,对外观、显示/隐藏等属性进行设置。
2.3.2 VR场景互动
通过编辑上述组件脚本,可以完成虚拟角色的漫游、瞬移等环境互动行为,以及开关灯具、隔空抓取等模型互动行为。使用了碰撞检测、触发事件、视线与射线检测等技术。
漫游指连续移动功能。可直接通过用户实际移动后更新定位传感数据来实现,亦可设置手柄按键交互的数据更新响应来实现。系统运行时,读取虚拟场景模型的图形数据,同时读取实时定位姿势数据,根据双目正视差立体成像原理[11],生成左、右眼分别对应的单眼画面,在人脑中合成立体视觉。
瞬移即指定位置水平传送功能,能够有效避免连续移动过程中可能产生的眩晕感。在虚拟场景中,将手柄射线与检测层进行碰撞检测,当触摸板按键抬起时,通过向量差计算位移向量;随后将位置数据进行修改,从而实现瞬间移动功能。关键代码如下:
可将触发事件脚本绑定至模型上,当满足触发条件时,进行响应。以电灯开关的打开事件为例,移动虚拟手柄进入开关事件的触发范围内时,开关模型将以绿色高亮显示,若按下手柄扳机键,则触发开灯操作,关键代码片段如下:
抓取物体至眼前功能,可方便用户对一些距离较远或位置较高的模型进行近距离观察。通过视线射线(cam.ViewportPointToRay)碰撞检测,确定视线关注的家具模型,若模型可被拾取(挂载Pickupable脚本),则用绿色渲染,此时若扳机键按下,则模型将按照动力学规则(isKinematic=true),沿弧线移动至眼前(transform.localPosition=Vector3.Slerp()),并恢复原颜色,此时激活“可被放下”状态参数(droppable=true)。
此外,还实现了场景切换、开关门等交互功能。
针对某实际住宅小区的15套户型进行3D建模重现与虚拟现实场景交互构建,实现了室内沉浸式漫游体验和场景互动。
以社区6#6层B-5户型为例(其余户型类似),如图4所示展示的是该户型Unity工程内的三维概览俯视图。场景及家具的虚拟尺寸和比例均与施工图纸或真实家具的数据保持一致,故由用户映射得到的虚拟角色在该虚拟户型场景中会得到真实的空间尺寸感受。
图4 工程内虚拟场景三维俯视示例Fig.4 3D top view of virtual scene in project
如图5所示为系统运行的实时图像,左右屏幕画面分别对应由正视差成像原理计算生成的左、右单眼画面,分辨率2880×1600,刷新率90Hz。系统运行时,左右单眼画面合成渲染较好的立体双眼视觉,并可实现6自由度追踪头盔位置、平移、倾斜情况,在进行全角度俯仰视角转换和视角位置变化时均可实时计算和更新画面。
图5 运行时左、右眼图像示例Fig.5 Left and right eye images at runtime
用户可在实际操作过程中,完成沉浸式室内场景的全视角立体声漫游、瞬移、开关灯具、隔空抓取家具等互动。如图6所示。亦可根据不同需求,定制和切换不同室内装潢风格。
图6 互动操作展示(单幅图均为左眼图像)Fig.6 Images of interactive operation (each single image belongs to left eye)
数字经济时代,VR技术及内容研发已成为企业挖掘自身特色、行业进行宣传发展的前沿需求之一。本文将VR技术应用于建筑室内展示,基于3Ds Max建模和Unity引擎开发,设计并实现了一套住宅区样板间实景VR漫游与交互的软件系统。针对某实际住宅区多套户型进行3D建模重现,实现不同风格的室内装潢和部分场景互动。该软件适配HTC VIVE Focus套件组。能够真实反映房屋室结构与装潢,带给用户便携且沉浸的立体感知和居住体验。从而帮助地产销售方和客户在楼房销售过程中降低成本、高效交流和合理决策,达到共赢局面。并为其他建筑、场馆展示业务提供了可行思路和技术参考。
引用
[1] SLATER M,SANCHEZ-VIVES M V.Enhancing Our Lives with Immersive Virtual Reality[J].Frontiers in Robotics and AI,2016(3):74.
[2] 李其锐.浅谈数字孪生工厂的工艺流程三维模拟技术[J].数字技术与应用,2020,38(3):73-74.
[3] 牛坤,刘晅亚,陶鹏宇,等.基于虚拟现实技术的消防救援模拟演练系统[J].消防科学与技术,2021,40(11):1639-1643.
[4] SINGH R P,JAVAID M,KATARIA R,et al.Significant Applications of Virtual Reality for COVID-19Pandemic[J].Diabetes & Metabolic Syndrome:Clinical Research&Revie ws,2020,14(4):661-664.
[5] 姚孺婧.虚拟现实技术在智慧博物馆中的运用研究[J].数字技术与应用,2021,39(5):40-42.
[6] 李畅,王慧.虚拟现实技术下的城市景观仿真系统建构[J].现代电子技术,2020,43(20):175-178.
[7] 康皓铭,卢桂萍,谭胜.基于虚拟现实技术的唐家湾古建筑保护与开发[J].数字技术与应用,2018,36(9):74-75.
[8] 张馨文,张春晓.虚拟地理环境在智慧城市中的研究与应用[J].测绘通报,2020(5):11-15+30.
[9] 杨慧,邹琳华.智慧城市时代的智慧房地产发展研究[J].中国房地产,2021(12):27-34.
[10] 李双营.基于VRML及B/S结构的交互式建筑空间虚拟系统设计[J].现代电子技术,2021,44(4):75-78.
[11] 谭力恒,马强,蒋秉川,等.面向头盔式虚拟现实的OsgEarth立体视觉生成方法[J].系统仿真学报,2019,31(7):1290-1299.