本发明专利技术公开了一种虚拟现实选座方法、装置、设备及存储介质,通过获取用户的选座查询指令;根据所述选座查询指令查询当前的座位状态信息;根据所述座位状态信息获取WebGL上下文,读取所述WebGL上下文中的3D模型文件,并对所述3D模型文件进行解析,提取出关键数据;对所述关键数据进行加载处理,构建确定渲染数据;对预先构建的渲染着色器进行初始化,进行代码编译,构建渲染程序;将所述渲染数据输入到所述渲染程序中进行图形绘制,输出渲染画面给用户。本申请方案提供一种更加直观、便捷的选座方式,提高用户选座体验。
【技术实现步骤摘要】
本专利技术涉及人机交互,具体地说,涉及一种虚拟现实选座方法、装置、设备及存储介质。
技术介绍
1、vr(virtual reality,虚拟现实)技术通过模拟人类的感官体验,创造出一种人们身临其境的沉浸式体验。它利用计算机技术模拟出一个三维环境,并通过特殊的设备(如vr头显、手柄等)让用户能够与之进行交互。随着技术的不断进步,vr技术已经广泛应用于娱乐、教育、医疗等多个领域,为人们的生活和工作带来了巨大的便利。
2、目前航空成为旅客一种重要的出行方式,除航司品牌、机型安全性、起降时间、机票价格等传统因素外,旅客越来越关注乘机时的飞行体验,包括座位舒适度、腿部空间、座椅倾斜角度等指标。但是,在开展优质座位预选等业务时,旅客无法直观地感受前排座位所带来的额外空间优势,往往放弃相关业务。传统的选座方式往往存在信息展示不直观、用户体验不佳等问题。
技术实现思路
1、为了解决上述问题,本专利技术提出一种虚拟现实选座方法、装置、设备及存储介质,提供一种更加直观、便捷的选座方式,提高用户选座体验。
2、本专利技术实施例提供一种虚拟现实选座方法,所述方法包括:
3、获取用户的选座查询指令;
4、根据所述选座查询指令查询当前的座位状态信息;
5、根据所述座位状态信息获取webgl上下文,读取所述webgl上下文中的3d模型文件,并对所述3d模型文件进行解析,提取出关键数据;
6、对所述关键数据进行加载处理,构建确定渲染数据;p>7、对预先构建的渲染着色器进行初始化,进行代码编译,构建渲染程序;
8、将所述渲染数据输入到所述渲染程序中进行图形绘制,输出渲染画面给用户。
9、优选地,所述方法还包括:
10、通过websocket技术获取所述用户反馈的选座操纵指令,更新座位库中的座位信息;或,
11、通过轮询机制获取所述用户反馈的选座操纵指令,更新座位库中的座位信息。
12、优选地,获取用户的选座查询指令,包括:
13、根据前端配置的vue.js的组件化开发模式提供指令和事件处理获取用户的交互操作;
14、根据所述交互操作确定选座查询指令;
15、所述交互操作包括点击座位、拖拽视图或选择航班。
16、作为一种优选方案,根据所述选座查询指令查询当前的座位状态信息,包括:
17、通过restful api与前端进行通信,并根据所述选座查询指令在预设的关系型数据库或nosql数据库中查询当前的座位状态信息。
18、优选地,根据所述座位状态信息获取webgl上下文,读取所述webgl上下文中的3d模型文件,并对所述3d模型文件进行解析,提取出关键数据,包括:
19、通过选取页面中的canvas元素,并调用其getcontext'webgl'来获取与图形硬件交互的接口,确定3d模型文件的模型格式;
20、通过xmlhttprequest或fetch api根据从预设的服务器获取模型文件;
21、对所述模型文件进行解析,根据所述模型格式的规则,提取出顶点数据和面数据作为所述3d模型文件;
22、将所述顶点数据转换为预设格式的文件;
23、将所述面数据加载的纹理图像与所述顶点数据关联起来,得到所述关键数据。
24、优选地,对预先构建的渲染着色器进行初始化,进行代码编译,构建渲染程序,包括:
25、使用requestanimationframe函数来创建一个持续的动画循环,在每一帧中执行渲染操作;
26、在渲染循环内部,使用clearcolor函数设置清除颜色缓冲区的颜色,然后使用clear方法清除颜色缓冲区和深度缓冲区;
27、编写负责处理顶点的位置属性以及颜色属性的顶点着色器,编写负责计算每个像素的颜色的片元着色器;
28、将所述顶点着色器以及所述片元着色器组合成所述渲染程序。
29、优选地,将所述渲染数据输入到所述渲染程序中进行图形绘制,包括:
30、通过createbuffer函数或bufferdata函数创建并填充缓冲区;
31、使用bindbuffer函数绑定缓冲区,通过enablevertexattribarray函数启用顶点属性数组;
32、通过vertexattribpointer函数从缓冲区中获取顶点属性数据;
33、使用drawarrays函数或drawelements函数根据所述渲染数据进行图形的绘制。
34、本专利技术实施例还提供一种虚拟现实选座装置,所述装置包括:
35、指令获取模块,用于获取用户的选座查询指令;
36、查询模块,用于根据所述选座查询指令查询当前的座位状态信息;
37、解析模块,用于根据所述座位状态信息获取webgl上下文,读取所述webgl上下文中的3d模型文件,并对所述3d模型文件进行解析,提取出关键数据;
38、加载模块,用于对所述关键数据进行加载处理,构建确定渲染数据;
39、编译模块,用于对预先构建的渲染着色器进行初始化,进行代码编译,构建渲染程序;
40、渲染模块,用于将所述渲染数据输入到所述渲染程序中进行图形绘制,输出渲染画面给用户。
41、优选地,所述装置还包括数据同步模块,用于:
42、通过websocket技术获取所述用户反馈的选座操纵指令,更新座位库中的座位信息;或,
43、通过轮询机制获取所述用户反馈的选座操纵指令,更新座位库中的座位信息。
44、优选地,所述指令获取模块用于:
45、根据前端配置的vue.js的组件化开发模式提供指令和事件处理获取用户的交互操作;
46、根据所述交互操作确定选座查询指令;
47、所述交互操作包括点击座位、拖拽视图或选择航班。
48、优选地,所述查询模块用于:
49、通过restful api与前端进行通信,并根据所述选座查询指令在预设的关系型数据库或nosql数据库中查询当前的座位状态信息。
50、优选地,所述解析模块用于:
51、通过选取页面中的canvas元素,并调用其getcontext'webgl'来获取与图形硬件交互的接口,确定3d模型文件的模型格式;
52、通过xmlhttprequest或fetch api根据从预设的服务器获取模型文件;
53、对所述模型文件进行解析,根据所述模型格式的规则,提取出顶点数据和面数据作为所述3d模型文件;
54、将所述顶点数据转换为预设格式的文件;
55、将所述面数据加载的纹理图像与所述顶点数据关联起来,得到所述关键数据。
56、优选地,所述编译模块用于:
...
【技术保护点】
1.一种虚拟现实选座方法,其特征在于,所述方法包括:
2.根据权利要求1所述的虚拟现实选座方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的虚拟现实选座方法,其特征在于,获取用户的选座查询指令,包括:
4.根据权利要求1所述的虚拟现实选座方法,其特征在于,根据所述选座查询指令查询当前的座位状态信息,包括:
5.根据权利要求1所述的虚拟现实选座方法,其特征在于,根据所述座位状态信息获取WebGL上下文,读取所述WebGL上下文中的3D模型文件,并对所述3D模型文件进行解析,提取出关键数据,包括:
6.根据权利要求1所述的虚拟现实选座方法,其特征在于,对预先构建的渲染着色器进行初始化,进行代码编译,构建渲染程序,包括:
7.根据权利要求1所述的虚拟现实选座方法,其特征在于,将所述渲染数据输入到所述渲染程序中进行图形绘制,包括:
8.一种虚拟现实选座装置,其特征在于,所述装置包括:
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的虚拟现实选座方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的虚拟现实选座方法。
...
【技术特征摘要】
1.一种虚拟现实选座方法,其特征在于,所述方法包括:
2.根据权利要求1所述的虚拟现实选座方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的虚拟现实选座方法,其特征在于,获取用户的选座查询指令,包括:
4.根据权利要求1所述的虚拟现实选座方法,其特征在于,根据所述选座查询指令查询当前的座位状态信息,包括:
5.根据权利要求1所述的虚拟现实选座方法,其特征在于,根据所述座位状态信息获取webgl上下文,读取所述webgl上下文中的3d模型文件,并对所述3d模型文件进行解析,提取出关键数据,包括:
6.根据权利要求1所述的虚拟现实选座方法,其特征在于,对预先构建的渲染着色器进行初...
【专利技术属性】
技术研发人员:冯霄,陈创希,卢春,巫静玲,彭向晖,栗春红,黄良杰,
申请(专利权)人:中国南方航空股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。