AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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:001876

评论

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

了不起的 Webpack 构建流程学习指南

Geek_z9ygea

Java 大前端 Web webpack

Gradle快速入门使用指南 - 安装篇

小隐乐乐

maven

系统架构师week 04 - 互联网架构总结

尔东雨田

极客大学架构师训练营

分布式缓存 - 第五周作业

孙志平

十分钟带你彻底搞懂原码、反码、补码

程序员生活志

补码 原码 反码

了不起的 tsconfig.json 学习指南

Geek_z9ygea

typescript 大前端 Web

起底印度禁用59款应用的数据表现

谢锐 | Frozen

移动应用 游戏开发 游戏出海 移动互联网 游戏制作

为什么大家都说SELECT * 效率低

Java小咖秀

MySQL 面试 经验

神经网络攻防:开篇词——你所不知道的神经网络攻防

P小二

神经网络 AIPwn 对抗样本 AI安全 P小二

谁没个焦虑的时段呢?

封不羁

程序员 个人成长 个人感想

数据集永久下架,微软不是第一个,MIT 也不是最后一个

神经星星

AI 计算机视觉 MIT AI 伦理 数据集

MyBatis入门

Simon郎

Java mybatis

面试时被问创建多少个线程合适?你该怎么说?

小谈

面试 线程 JVM springboot SpringCloud

自由职业半年之后,我又滚回职场了...

王磊

程序员 程序人生

阿里大型企业级开发必用微服务:深入浅出SpringBoot2.x

小闫

spring jdk 面试 后端 springboot

微服务网关演进之路

捉虫大师

Java 微服务 dubbo 网关

一文解决MySQL时区相关问题

Simon

MySQL 数据库

大数学家笛卡尔到底是怎么死的? |《隐秘的角落》

赵新龙

数学 隐秘的角落 笛卡尔

集中全世界程序员的力量,可以在三天之内实现一个手机淘宝吗?

非著名程序员

程序员 软件 程序人生 软件工程 人月神话

计算机操作系统基础(十)---存储管理之虚拟内存

书旅

php laravel 线程 操作系统 进程

写给孩子的两本书我读得津津有味

孙苏勇

读书 陪伴 随笔杂谈

锦囊篇|一文摸懂SharedPreferences和MMKV(一)

ClericYi

重学 Java 设计模式:实战状态模式「模拟系统营销活动,状态流程审核发布上线场景」

小傅哥

Java 设计模式 小傅哥 重构 代码规范

Git 的进阶操作

多选参数

git GitHub gitlab

理解Redis的内存回收机制和过期淘汰策略

老胡爱分享

redis LRU

手把手教你看MySQL官方文档

Simon

MySQL

公司短信平台上的两万块钱,瞬间就被刷没了

古时的风筝

短信防刷 接口安全 短信轰炸机

​ “强大基座”再展能力,一朵“云”掀起国产化浪潮

Geek_116789

【自学成才系列二】multipass上ubuntu安装篇

小朱

ubuntu multipass

架构师训练营第五周总结

陈靓-哲露

小师妹学JVM之:JIT中的PrintAssembly续集

程序那些事

JVM jdk8 JDK14 assembly 签约计划第二季

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