开源框架下妈祖祖庙虚拟现实导览系统的构建

2022-09-08 09:40黄其政李万凯黄于同
厦门理工学院学报 2022年3期
关键词:祖庙妈祖全景

李 晖,黄其政,李万凯,黄于同

(厦门理工学院计算机与信息工程学院,福建 厦门 361024)

妈祖祖庙位于福建省莆田市湄洲岛,是妈祖信仰文化的发源地,2006年被国务院列为第6批全国重点文物保护单位。妈祖祖庙宫庙建筑的总体布局及制式集合了明、清时期的佛教、道教建筑特征,具有极高的学术研究价值[1]。2016年以来,妈祖文化传播分布增加到46个国家和地区,全球妈祖文化敬仰者达3亿多人,妈祖文化已成为具有代表性的文化符号和文明交流纽带[2]。虽然每年有超百万人从世界各地到妈祖祖庙进行朝拜,但仍然有很多人无法亲临妈祖祖庙,感受妈祖文化的深厚底蕴。目前,虚拟现实技术(virtual reality,VR)和增强现实技术(augmented reality,AR)快速发展,虚拟旅游已经是当下旅游尤其是后疫情时代的旅游新业态[3-5]。将VR、AR与真实环境交替的现状做比较,并结合5G通信技术,可增强游客的理解,也为保护和提升遗址资源提供了一种新的思路[6]。

在虚拟现实技术的表现形式中,三维全景技术运用全景影像建模,以720°展现周围环境纹理信息,具有真实感强、建模方便、硬件依赖性低等优点,在旅游导览、医院导览、房地产等领域有着大量的应用[7-8]。开源框架在一定程度上能够保证软件的自主可控性,促进软件开发,以最低成本实现信息的最大共享和交流[9-10],这方面已有很多成果成功应用于各个行业[11-12]。在虚拟旅游系统的设计中,不同的设计方案依据系统实现目标而定。在场景展示方面,大量研究采用倾斜测量三维实景建模或地面拍摄三维全景的方式,完成真实场景的采集,通过建模实现景区虚拟展现,重点突出了景区的整体特征、景点文字描述乃至景区的管理应用,但忽略了景点内部的真实展现和景点之间的导览应用;在场景交互设计部分,交互操作需要借助键盘、鼠标等输入设备,交互功能需要借助3Dmax等操作软件设计实现[13-15],3D场景的建模通常需要大量的人工贴图并配置专业软件进行展示,系统开发成本高,以智能手机为载体进行便携VR互动操作的研究不多。妈祖祖庙虚拟旅游系统的设计要能让游客沉浸式地体验妈祖文化和妈祖建筑特色,需要尽量借助便携式和经济性强的VR设备完成虚拟导览互动操作,进而保证系统的仿真性和交互性。为此,本文融合三维全景技术与空间信息技术,基于开源开发框架,综合运用PTGui、A-frame、MySQL、JavaScript等软件、框架及程序设计语言,以妈祖祖庙西轴线古建筑群为主要区域,拍摄采集妈祖祖庙古建筑群及周边范围“空-地-室外-室内”一体化的720°全景影像,设计、实现妈祖祖庙虚拟现实导览系统,选择手机盒子作为便携式VR设备,以实现Web端、手机端的妈祖祖庙VR旅游,为相似需求系统的构建提供可行的技术选择思路。

1 妈祖祖庙VR导览系统需求分析

1.1 功能需求分析

VR技术与旅游业结合是一种新型的旅游方式,它能根据真实的旅游场景创建出虚拟的旅游场景,甚至能创建出已经消失或者根本不存在的场景,为游客提供沉浸式的虚拟旅游体验[16]。在虚拟旅游设计时,设计师希望能够尽量模拟人类从现实性的生存和思维方式进入到虚拟性的生存和思维方式。在调研过程中发现,对于信众来说,他们的最大需求是能在祖庙的天后宫、太子殿等主要宫庙参拜妈祖,“近距离”感受妈祖文化;对旅游者来说,在对祖庙进行实地旅游时,希望能够全方位感受祖庙建筑区及其周边环境,了解祖庙区的各个宫庙诸如朝天阁、梳妆楼等的历史故事;对于研究者来说,作为全国重点文物保护单位,其极具代表性的闽台地域性妈祖宫庙建筑装饰元素、建筑布局、结构、装饰艺术等方面的特性是他们关注的重点。因此,从虚拟旅游的角度出发,系统建设的目的是提供“原汁原味”的妈祖祖庙及其周边区域建筑区的虚拟场景,同时在虚拟场景下,用户能够进行景点虚拟游览及导览。

基于此,本系统以祖庙真实性展示为原则,实现妈祖祖庙区域VR展示、景点介绍等,能够结合手机盒子头显,自动控制场景元素,触发对应操作,完成虚拟场景的转换及路线导览。具体模块分为:

1)VR景点参观。用户可以自由参观妈祖祖庙内的庙宇,以及按照真实的道路选择参观路径,通过体感控制用户的行进方向,参观妈祖祖庙。

2)景点(各宫庙)介绍。庙宇配有相应的文字故事介绍其名称、历史故事等基本信息。

3)VR导览。在虚拟场景的路口广场等地设置路标,模拟真实环境指引用户前进,实现不同场景的转换。

4)VR控制。控制VR场景的部分元素,例如背景音乐、文字显示和语音播放等。

5)纯净游览功能。清除真实场景外的其他内容,进入纯净游览模式,虚拟游览“原汁原味”的祖庙。

1.2 系统VR应用设备及表现形式需求分析

1.2.1 VR显示设备需求分析

VR头戴式显示设备(简称VR头显)[17]主要分为:

1)一体式头显。内置运算芯片,自带显示屏幕和操作系统,显示效果好,无需借助输入输出设备即可在虚拟世界遨游,方便随身携带,但续航能力普遍较低,如HTC Vive设备。

2)外接式头显。无内置处理器,需要外接主机,显示效果良好,用户体验较好,具备独立屏幕,产品结构复杂,技术含量较高,但无法独立显示VR内容,配套价格偏高,如PLAYSTATION VR。

3)手机盒子头显。结构简单,可自行组装,价格低廉,方便随身携带,必须与手机结合使用,显示效果中等,如Cardboard。

在VR显示和沉浸性方面,一体式和外接式头显优于手机盒子头显,但二者价格偏高,便携性偏低。除了需要提供交互体验与沉浸式体验,虚拟旅游还需要考虑便携性和经济性。手机盒子头显虽然简陋,体验不如一体式头显,但对普通用户来说,VR应用不完全追求沉浸感。本研究目标是为游客提供真实的妈祖祖庙真实场景,对交互性和沉浸感要求不高。因此,从经济性、实用性和便携性的角度出发,选择手机盒子头显用于VR效果展示,采用基于移动端的Web应用进行系统开发。

1.2.2 妈祖祖庙VR导览系统表现形式对比选择

VR技术在虚拟旅游领域的表现形式主要分以下2种:

1)三维建模VR。使用三维建模软件对整个景区进行三维模型制作,再使用VRML语言将建好的三维模型以Web形式表现,用户能对场景中的部分模型进行操作,进而模拟真实的旅游体验。在实现方法上,可使用Unit进行虚拟场景开发,互动性强。在虚拟旅游中,用户会较为关注场景的真实性。因此,为了最大程度上还原真实场景,需要专业的建模人员使用专业的软件(如3Dmax等)进行虚拟场景建模,后续作业需要专业开发人员进行对接实现,故开发成本较高。

2)全景三维VR。使用相机对场景进行环绕拍摄,拼接组成全景图片,再通过VR显示设备进行展示。用户能够实现定点地对拍摄实景环绕式浏览,体验真实场景。在实现方法上,结合前端框架或平台完成浏览器端全景三维VR表现。此方式互动性较弱,但是场景完全真实,数据采集难度低,开发难度不高。

为了保证虚拟场景的真实性,体现妈祖文化特色,展示祖庙建筑,本系统采用三维全景VR表现形式。目前,全景图片有360°全景和720°全景2种方式。与720°全景相比,360°全景缺少天空和地面部分,在全景VR展示时,360°全景存在很强的撕裂感,用户体验效果欠佳。因此,本研究选择720°全景图片进行VR表现,采集妈祖祖庙从空中到地上的全景图片,获得祖庙区域范围的真实场景体验。

1.2.3 祖庙“空-地-室外-室内”一体化全景图片采集方案

在720°全景图片采集的基础上,本系统增加建筑室内部分,补充祖庙区宫庙内部的全景图片,完成“空-地-室外-室内”一体化全景图采集,包含空中全景和地面全景(含室外、室内)2部分。

整个祖庙区依照丘陵地势而建,空中全景突出祖庙整体的结构分布,采用无人机环景拍摄,用户能够充分感受到祖庙建筑群高低起伏的层次感;地面全景突出每个独栋建筑室外建筑特征、室内装饰及摆设。地面全景采集以每栋庙宇为中心,获取祖庙古建筑群19幢庙宇建筑及周边道路环境。通过单栋建筑之间的道路,将所有庙宇进行连接。最后,将空中、地面、室外、室内全景连接组合一个完整的妈祖庙庙区,让不同用户从不同的角度感受妈祖庙,完成对妈祖祖庙从空中到地面、室外到室内的全方位游览。

2 妈祖祖庙虚拟导览系统设计

2.1 系统架构

本系统基于移动端的3层B/S架构[18],包含表现层、业务逻辑层、数据访问层,具体见图1。

图1 系统部署结构Fig.1 System deployment structure

开发和维护工作集中在服务器端[19],由图1可见,表现层包含了HTML页面、移动端浏览器和手机盒子头显3种方式;业务逻辑层主要实现了全景图片VR显示、系统导览功能、连接数据库等部分;数据访问层包含系统采集的基础数据、VR全景数据、文本数据、语音数据等。

2.2 系统模块设计

基于需求分析,妈祖祖庙虚拟现实导览系统模块包括场景漫游、场景交互、音效输出3部分(见图2)。场景漫游模块是系统核心功能模块,其中包括祖庙全景VR展示、手机的陀螺仪控制场景视角、主菜单场景切换等功能;场景交互是系统拓展功能模块,包括场景文字介绍、场景切换文字引导、当前场景纯净游览等功能;音效输出实现系统中音效输出控制功能,能够在VR模式下控制背景音乐状态和文字介绍的语音播报。

图2 系统模块结构Fig.2 System module structure

1)场景漫游。由妈祖祖庙区内多个全景场景组成,系统利用手机陀螺仪控制视角以实现当前场景游览和场景切换功能。遵循贴近现实原则,按照妈祖祖庙实际道路连接不同的全景场景,实现不同全景场景切换。同时,兼顾操作自然性和便利性,在主菜单上设置场景快速切换,完成主菜单和分场景的切换。在网页端利用按钮实现不同场景之间的切换;在手机端借助手机盒子头显和手机自带的陀螺仪,抓取视角点实现不同场景的切换漫游。

2)场景交互。该模块按照真实的环境,在虚拟场景中关键地点(如路口、广场)设置切换按钮进行标识,用户可根据切换按钮实现场景交互。妈祖祖庙是妈祖文化的承载,祖庙的每一座庙宇都有其独特的历史故事。系统在切换按钮上添加悬停式文字描述,介绍每个庙宇的历史。同时,为避免界面功能混乱,影响视觉体验,系统增加纯净游览模式,让用户体验最纯正的祖庙风景。

3)音效输出。为增强系统趣味性,添加背景音乐及各个庙宇对应的语音介绍。系统以手机盒子头显作为VR展示方式,用户进入VR模式后无法直接操作手机,因此在场景中添加相应的控制台,间接实现音效输出/输入控制。

2.3 系统开发框架与数据库设计

1)全景VR开发框架。目前,适用于720°全景图片进行VR开发的开源框架主要有Krpano、three.js、A-frame。Krpano是基于XML的开源收费软件,能够灵活显示全景图像,实现交互式虚拟漫游,自定义设计用户界面;three.js是轻量级、跨平台的JavaScript免费开源库,能够在浏览器上结合HTML或者WebGL提供多种3D显示功能,包括全景VR在移动端的显示;A-frame是基于three.js的构建虚拟现实体验的Web端免费开源框架,开发人员可以使用HTML、JavaScript、three.js和WebGL为各类VR头显设备构建VR应用程序。在全景图片显示方面,Krpano表现良好,但全景VR模块功能不足,基于XML语言开发二次开发难度较高;three.js在3D图形显示方面有很强的兼容性,但全景图片显示效果不佳;在VR模式下,A-frame的全景显示效果好且适配各类VR头显,移动Web端应用开发难度较低且为免费开源,是目前适合用于开发移动端VR导览系统的前端框架。因此,本文选择A-frame作为系统的开发框架。

2)开源后端数据库管理设计。目前,较热门的开源数据库管理系统有MySQL、PostgreSQL、MongoDB。本系统主要存储各个庙宇的文字介绍以及全景图片的关系和位置参数,系统整体数据量不大,属中小型数据库。MySQL对中小型数据库支持效果较好,故选择MySQL作为本系统数据库支持。系统数据库主要E-R图(见图3)包括庙宇信息表、点位信息表和点位关系表,庙宇信息和点位信息,点位信息表与点位关系表均是一对多关系。

3 妈祖祖庙虚拟导览系统的实现

3.1 祖庙全景数据采集与处理

1)全景数据的采集。空中部分选择消费级无人机大疆P4A进行空中全景图片的采集。拍摄时以无人机的云台为旋转中心,水平面为选择平面,以45°为间隔,共8个角度,拍摄仰角30°,水平0°,俯角30°和俯角60°,4张照片一组,最后补充1张俯角90°的地面照片,共33张,共同组合拼接成空中全景(见图4)。地面部分选用鱼眼单反相机利用外翻补地拍摄法进行全景图片采集。拍摄时以单反相机为旋转中心,以水平面为选择平面,以45°为间隔旋转全景云台,每次旋转拍摄一张广角照片,共8张。在垂直旋转云台仰角90°拍摄1张;移开三角架后,补拍无脚架地面2张(见图5)。拍摄时保证相邻照片有10%~20%的重合率,获取以架站点为中心的360°~720°的若干张全景照片,最后拼接为一张全景照片。为了实现不同景点之间的导览,系统在地面道路转折点、路标等位置添加点位采集,用于连接整个祖庙区域。妈祖祖庙VR导览系统最终采集了192个点位共12.8 GB的全景图片,覆盖祖庙古建筑群所有区域及各个宫庙的室内外环境。

图4 空中全景图片采集Fig.4 Aerial panoramic image acquisition

图5 地面全景图片采集(单点)Fig.5 Ground panoramic image acquisition (single point)

2)全景数据的拼接与优化处理。项目利用PTGui软件将原始照片拼接为全景照片,同时完成矫正变形、添加控制点、曝光/HDR调整等精细操作。在部分图片中,PTGui自动生成的控制点误差较大,这导致全景图片在细节上存在错误或者不美观。妈祖祖庙为旅游旺地,尤其是在热门宫庙如天后宫、太子殿等室内采集全景数据时,会有游客遮挡室内重要陈设,造成景点遮挡、人影虚化等现象;部分宫庙如太子殿室内空间狭小,墙面的大量灯光导致照片拍摄曝光过度,因此,在拍摄时可加密设点,或使用PhotoShop图像处理软件对拼接后的图片进行优化。

3.2 系统功能实现

1)VR场景漫游/导览实现。系统利用A-frame实现了网页端全景图片显示(见图6)及对应的手机端VR显示(见图7)。同时,系统借助百度API接口,将百度地图作为底图,实现地图导览。VR实现原理是在虚拟场景中创建一个球体,根据全景图片的路径,以材质的方式将其映射到球体内部。当用户进入VR模式时,系统会获取可视角度和瞳距,利用透视投影原理把屏幕渲染为左右两个屏幕,对应用户左右眼。此时,通过获取手机的陀螺仪、加速度计等感应器信息,将其绑定至场景内相机中,触发视角控制功能,利用手机盒子头显,帮助用户大脑“重建”立体场景,推动VR场景转换,完成VR场景漫游和导览功能(见图7)。

图6 系统功能实现(Web网页端)Fig.6 System function realization in Web

图7 系统功能实现(手机端+手机盒子)Fig.7 System function realization on mobile terminal with mobile headset

2)场景交互控制和音效输出。场景交互控制模块实现了场景文字介绍、场景指引和纯净游览模式。在VR模式下,系统提供了音效输出控制,系统通过视点控制背景音乐状态和文字介绍的语音播报。为避免文字介绍占据场景范围过大,影响界面整洁性,在纯净游览模式下,界面只保留纯净模式按钮,去除其他的所有实体,展示“纯净”的祖庙场景(见图8)。

图8 手机端VR纯净游览模式Fig.8 VR pure tour on mobile terminal

4 结论

本研究在深入分析不同人群对妈祖祖庙游览的需求,明确以妈祖文化和建筑特色的“真实性”体验作为系统建设出发点的基础上,探讨了妈祖祖庙虚拟旅游的VR数据采集方式及展示形式。同时,以720°全景图片为基础设计,采集了“空-地-室外-室内”一体化的妈祖祖庙全景数据,以此构建妈祖祖庙虚拟现实导览系统,并借助手机盒子实现了妈祖祖庙“真实”的虚拟旅游。该系统能让用户“身临其境”地感受“原汁原味”的妈祖祖庙建筑特色和妈祖文化,为后疫情时代妈祖文化的感受与传播提供了一种新的方式。

本系统的构建大量采用了开源框架与技术,涵盖了全景VR数据的采集与处理、VR展现、数据存储、应用发布等多个环节,场景建模简单,无需安装复杂的基础设施和昂贵的VR设备,适配性强,为相似需求系统的构建提供了可行的技术选择思路。在后续研究中还可引入体感设备,进一步提升系统虚拟感知的交互性,以满足用户更为个性化的需求。

猜你喜欢
祖庙妈祖全景
走进祖庙博物馆 弘扬佛山文化
妈祖祭典
戴上耳机,享受全景声 JVC EXOFIELD XP-EXT1
全景敞视主义与侦探小说中的“看”
从5.1到全景声就这么简单 FOCAL SIB EVO DOLBY ATMOS
全景搜索
祖庙:中国上古的仪式中心及其复杂内蕴
“万国茶帮”拜妈祖
蟳埔妈祖安座巡香
宋元以来浙江妈祖信仰研究初探 *