当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:文章旨在为B/S售楼系统中提供更全面、更具针对性的房型展示,我们在客户接待模块上添加了室内场景漫游功能,通过虚拟看房来加强客户对房型的了解,与一般的平面图或定点的360度环视相比,拥有无死角、采光变化等优势。采用WebGL进行网页3D的开发,以做到高效率且无插件的图形渲染,因而无需下载运行环境即可成功显示,不仅为普通客户提供了良好的体验,还减少了开发过程中系统功能设计上的技术阻碍。

引 言

近年来,虚拟现实的应用发展火热,Web3D的相关技术也在不断进步。从1996年 W3C制订 VRML建模语言开始, 网页三维图形的运行机制得到了许多支持,包括 SUN公司的Java3D接口,Unity3D的WebPlayer以及Flash产品等,网页3D的应用越来越广泛。结合互联网 3D的发展趋势,在楼房销售的线上房型展示方面,我们运用WebGL技术开发并提供了虚拟看房功能,以此来减少客户看房选房的不确定与不便。客户通过在浏览器上进行房屋模型的场景漫游,可以提前感受目标房源的室内布局与各时段的采光效果,方便后续有针对性的订房购房。

1 WebGL工作原理及其特点

1.1 系统概述

本文研究的虚拟看房应用是售楼管理系统的部分功能, 该系统主要通过人员权限的分配来执行客户、销售人员、管理员等不同对象的业务关系,并根据具体要求与逻辑操作对数据资料进行备份处理。售楼管理系统包括客户接待模块、业务处理模块、系统管理模块及数据库模块等,其中客户接待模块拥有公司新闻、楼盘走势、房型介绍与订购查询等业务功能。系统的线上接待子模块结构如图 1 所示。

WebGL在网页室内房型展示中的应用

1.2 WebGL工作原理

WebGL 是一种脚本层面的Web3D 绘图标准, 无需任何浏览器插件,直接通过脚本编程在网页上进行空间建模并制作出交互式 3D 动画。WebGL 可调用Three.js、GLGE、SpiderGL、X3DOM 等多个函数库,简化了 3D 场景的分析与构造。WebGL工作原理图如图 2 所示,它通过JavaScript 对OpenGL(统一的、跨平台的图形编程接口)的绑定,利用对HTML5 Canvas 网页标准的支持来解析并绘制出服务器端传输的数据信息,借助系统显卡加速图形渲染以保证浏览器运行的图形帧率。

WebGL在网页室内房型展示中的应用

1.3 WebGL的特点

WebGL 实际是HTML5 新标准的一部分,将逐步取代插件安装与Flash 等网页 3D 手段,弱化多平台、多机制的不统一性所造成的技术障碍。WebGL 与几种网页 3D 技术的对比如表 1 所列。

2 应用实例及性能分析

2.1 模型的建立

WebGL支持对导入的模型进行解 析, 我们可使用3dsMAX工具来进行房屋模型的搭建。3dsMAX不仅免费且具有强大的功能,在制作成本上拥有较高的性价比,每一个功能几乎都可以找到多种途径完成,使用起来十分灵活。这里主要采取两种途径实施建模:

WebGL在网页室内房型展示中的应用


(1) 多边形直接建模。首先需设计好抽象的场景,提取数 据规格后用多边形构造初始模型,并添加光照、材质等元素, 最后进行纹理贴图工作。这种方法几乎能完成任何模型的建 立,尤其是类似室内建筑这样的简单场景。

 (2) 几何面片建模。在规定好模型底面边界与方位后,基 于细分网格挤压出形状,可以用很少的细节实现光滑的轮廓 形状。其中,为了减少工作量可以先导入由 CAD 等造型软件 制作好的平面网格图,对其进行挤压与法线翻转等操作后,再 处理好材质、纹理等细节方面的效果。室内窗体建模示意图 如图 3 所示。

WebGL在网页室内房型展示中的应用



2.2 碰撞检测 

室内房型漫游主要是将画面良好地展现在屏幕窗体中,我 们所看到的场景即模型中“相机”的视野景象。场景漫游时必 然会有相机移动并接触到目标物体,如果不加以触碰处理则会 造成相机穿墙而过等结果,这与实际效果大相径庭。为了拥有 更加真实的场景体验,必须对相机移动采用碰撞检测。 

常见的碰撞检测中会给目标加上一层“包围盒”,在检测 到包围盒有交集时再分析几何体的相交性,这样有利于性能 上的低消耗。包围盒的形式除图4所示的三种之外,还有8-DOP 以及凸壳两种对复杂形状进行处理的类型,它们对目标对象的包裹程度更严密,碰撞质量更精确。

室内的漫游功能在碰撞精度上不需要较高的要求,考 虑到内存使用与检测效率等方面的因素,选择“有向包围盒 (OBB)”方式可以更好地满足需求。图中显示的二维平面中示 意了包围盒的检测原理,可以在两个包围盒中间找到超平面, 而垂直于超平面的分离轴上的 AB 映射不相交必为分离。对于 三维场景中这种检测方法可能会将并非同侧的盒体视为相交, 因此需要对每个盒体面做出分离轴判断。最后通过编程实现 对检测到的碰撞做出响应事件,合理控制相机的运动范围。 WebGL 实现的室内场景漫游效果如图 5 所示。

WebGL在网页室内房型展示中的应用


WebGL在网页室内房型展示中的应用


2.3 性能分析 

WebGL 不仅拥有免插件的优势,其在 JS 的执行效率与 场景烘焙上也表现良好。我们在不同浏览器的内核支持情况下, 对复杂场景操作分别进行性能测试,最终得到动态场景的快 速烘焙效率 ( 单位 :s) 对比如图 6 所示。可以看出,FireFox 与 Chrome 的运行效率综合较好,而 IE 浏览器仍需要针对 JS 进行优化。尽管如此,它们的图形帧率都达到 60 FPS 左右, 基本不会表现出卡顿延迟等现象。

WebGL在网页室内房型展示中的应用


3 结 语


HTML5 标准对三维图形的支持为网络虚拟现实应用提 供了方便,随着不同的浏览器对 WebGL 的开放与统一, 其应用范围也会更加广泛。我们可以在移动端实现更为 便捷的浏览操作,在模型中添加数据点来提示信息概要, 并设计出更优化的加载引擎来完成更加复杂的图形数据。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭