写点什么

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

评论

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

5G点亮工业革命前,2021需要持续点亮5G

脑极体

从“乌鸡”到5G,不仅仅是谐音梗

脑极体

0期产品训练营第四周作业-学情周报用例

skylar

区分重载和重写,轻松掌握 Java 多态

飞天小牛肉

Java 程序员 面试 后端 2月春节不断更

深入了解gradle和maven的区别

程序那些事

maven Gradle 程序那些事 构建工具

UC01 用户 购买课程

克比

1分钟内的Linux性能分析法

Gopher指北

Linux 后端

话题讨论 | 如何获得令人心动的前端offer

我是哪吒

程序员 面试 大前端 话题讨论 二月春节不断更

极客大学·产品训练营·第三章作业(第四周)

二大爷

极客大学 极客大学产品经理训练营 产品训练营

正确面对倦怠感,提升职场战斗力

boshi

职场成长 七日更

「产品经理训练营」作业 04:知识星球加入星球用例

狷介

产品经理训练营

抽奖小程序-活动发布用例分析及流程图

思亭

日记 2021年2月10日(周三)

Changing Lin

2月春节不断更

【得物技术】走进Web3D的世界(1) 画个立方体吧

得物技术

html html5 js WebGL 得物技术

认识 Java 中的队列:Vector、ArrayList、CopyOnWriteArrayList、SynchronizedList

看山

Java 线程安全

第四周学习心得

Trigger

极客时间 产品经理训练营

【STM32】0.96寸OLED显示屏(7针SPI协议)软件模拟SPI

AXYZdong

硬件 stm32 2月春节不断更

第四章作业

Rui

你真的了解 sync.Mutex吗

Leo叔叔

mutex Go Concurrency Patterns Go 语言

马斯克说狗币牛逼,我说idea插件助你盯盘摸鱼

滑板上的老砒霜

比特币 idea插件 Android开发

产品训练营 - 第四周 - 作业

邹小胖

产品训练营

流媒体传输协议之 RTP(下篇)

阿里云CloudImagine

音视频 流媒体 rtp

话题讨论 | 你是不是一个特别容易被说服的人?

石云升

话题讨论 2月春节不断更

你看那个程序员,每年升职加薪,日赚3千

谙忆

产品经理训练营笔记 - 业务流程与产品文档(二)

.nil?

产品经理训练营

第四周作业

Geek_72d5ab

产品经理 - 第三周作业

LLL777

Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本

JavaPub

Java 面试 hashmap javapub

第四周作业-核销优惠券用例

隋泽

产品经理训练营

5. Python 循环的本质就是一段代码懒得重复写

梦想橡皮擦

Python Python Monad 2月春节不断更 python入门

ZEGO全新语音聊天室方案,2小时复刻 Clubhouse

ZEGO即构

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