写点什么

3D/VR 选座技术探索

  • 2020-03-06
  • 本文字数:1277 字

    阅读完需:约 4 分钟

3D/VR 选座技术探索

一、行业现状

实景 VR 目前的行业应用案例逐渐增多,在使用 720°全景相机拍摄,部分厂商基于多实景照片进行多叉数建模,在链家等房产行业获得广泛应。在票务行业,场馆选座的国内外的同类产品中也有试点落地,国外的有 TicketMaster、Stubhub 等,国内尝试落地的有摩天轮,针对大型场馆,目前的实现思路偏向于使用 3D 建模+后渲染输出基于 ECB 的全景照片,下发后用于大前端多端展示。


二、大麦解法

大麦落地全景 VR 主要是为用户的选座决策提供辅助和沉浸式体验,目前综合考虑选座页面用户交互和落地成本,采用大场馆建模+全景渲染和小场馆实景 VR 拍摄节奏。



  1. 落地策略


大场馆-3D 建模+渲染


小场馆-实景 VR


  1. 建模全链路流程


场馆建模经过输出白模、材质纹理贴图等流程进行输出建设,基于经典 3dmax 进行近似建模。



  1. 全链路流程


整体流程按大节点分成:建模/拍摄→生产→选座基础平台→大前端主要环节,建模部分目前使用 3dmax 的常规方案,并调研基于 3D 激光雷达 + SLAM 的量产方案。


三、3D 场馆

  1. 模型纹理加载


针对建模输出的场馆模型,3dmax 导出后容量在 50M~200M 之间,采用 glTF 模型压缩,再配合 LOD 多层次细节纹理,可有效提升基于 three.js 的超大纹理场馆的打开速度。



LOD 效果图展示


四、VR

  1. VR Engine


VR 整体方案选择使用基于 ECB 球体坐标的投影方案,渲染合成 2:1 的全景图片,图片本身经过 moz-jpeg 压缩、智能降噪和超分重建,供 VR Engine 渲染,也为为全景图片展示秒开打下基础。大前端 VR Engine 层面,APP 侧 android/ios 较为成熟,选用 google/apple 自带方案,h5 侧 engine 性能和集成度差异较大,调研了目前市面上常见的几款 engine,最终选择使用 Pannellum 作为首选引擎。支持罗盘指示、全景漫游、全景标注、多清晰度等扩展功能。



  1. VR 视图及优化


透视视图、鱼眼视图、立体视图、建筑视图、潘尼尼观、小行星等。GVR 进行了优化封装,包括但不限于:


a. 镜头失真校正(Lens distortion correction)


b. 空间音频(Spatial audio)


c. 头部跟踪(Head tracking)


d. 3D 校准(3D calibration)


e. 并排渲染(Side-by-side rendering)


f. 立体几何配置(Stereo geometry configuration)


g. 用户输入事件处理(User input event handling)


五、全链路量产

全面落地,需要建模和拍摄的场馆较多,针对 VR 落地应用,需要进行量产操作,按照梳理,核心步骤大致分为以下几步:


  • 拍摄:专业 camera + 大麦 B 端 = 遥控拍照 + 携带座位信息

  • 生产:绑定、fov 倾角计算、压缩、超分重建

  • 选座基础平台: 底图保护-暗水印、流式加密

  • 大前端:三端 VR Engine、渐进式加载、流式加密


六、总结

针对上线的图片,进行了合成优化以及基于 Lanczos/hpx 的图像压缩,以及流式密码加密,以保障用户的秒开和数据安全。3D/VR 的持续建设是智慧场馆重要的一环,也为用户购买决策提供了可视化手段,量产阶段后继续探索基于大场景点云渲染建模和商业化营销能力,以期为用户带来更好的沉浸式体验。


作者简介


阿里文娱无线开发专家 王璟瑶


相关链接


10W 座位的大场馆究竟是怎么画出来的?


10 倍高清不花!大麦端选座SVG 渲染


首次揭秘!看大麦如何掌控超大规模高性能选座抢票


2020-03-06 11:001848

评论

发布
暂无评论
发现更多内容

第6周总结

andy

Rust所有权,可转可借

袁承兴

rust 指针 函数调用 引用 内存管理

架构师训练营第六周作业

R20114

极客大学架构师训练营

用Roslyn做个JIT的AOP

八苦-瞿昙

技术 随笔杂谈 aop 代理 框架

第六周总结

秦宝齐

作业

面向对象编程学习

一叶知秋

架构师第六周作业及总结

傻傻的帅

架构师训练营第六周总结

一剑

CAP原理

chenzt

React与前端开发发展史

Geek_z9ygea

LeetCode题解:15. 三数之和,JavaScript双循环+HashMap,详细注释

Lee Chen

大前端 LeetCode

分布式系统架构学习总结(分布式数据库和NoSQL)

qihuajun

架构师训练营 Week 06 作业

Wancho

你要的《Spring系列源码解读》PDF它来了

z小赵

Java spring

对CAP的理解

朱月俊

架构设计篇之中台战略思想与落地

小诚信驿站

架构设计 刘晓成 中台战略 服务化改造

400GE燎原前夜,智能IP网络的核心路由器巅峰际会

脑极体

java 后端博客系统文章系统——No5

猿灯塔

Java

分布式系统架构作业

qihuajun

2020-07-11-第六周作业

路易斯李李李

用“实例化需求”,让需求澄清更高效

小隐乐乐

Week 6 作业

Shawn

CAP Theorem

dongge

架构师训练营第 6 周作业二

不谈

架构师训练营 Week 06 总结

Wancho

架构师训练营第六周作业

一剑

第六周作业

秦宝齐

学习 极客大学架构师训练营

区块链扩张路径变局:从技术比拼转向生态落地

CECBC

1. react起始 | 2020年前端再入门系列连载

chaozh

大前端 React

记一次Apache的代码导致生产问题

root

Java Apache spring BeanUtils

week6.课后作业

个人练习生niki👍

极客大学架构师训练营

3D/VR 选座技术探索_文化 & 方法_阿里巴巴文娱技术_InfoQ精选文章