720全景工坊
教程与下载 / 导出与部署 / 进阶与开发者
第 6 篇 · 开发者

进阶与开发者

面向有集成与定制需求的你。本篇汇总全景引擎、iframe 嵌入参数、WebXR/VR、自有域名托管与性能调优,把 720 工坊嵌进任何产品。

阅读约 12 分钟 难度:高级 适用:开发者/集成方

全景渲染引擎

720 全景工坊底层采用成熟的 WebGL 全景渲染引擎渲染等距圆柱全景。理解它有助于你更好地集成与排错:

渲染方式
基于 WebGL / HTML5,将 2:1 等距圆柱图贴合到球面,按视角实时渲染。
热点实现
热点以图片(skin)形式叠加;字体图标按类型回退为默认图片图标。
多分辨率
支持分级/瓦片加载,先清晰缩略再渐进替换高清,兼顾速度与画质。
编辑器画布是 2D HTML 覆盖标记,真实的球面透视、畸变贴图(贴墙/贴地)只在预览页、正式访问页与导出包中由全景引擎呈现。

iframe 嵌入与传感器权限

在线作品与导出包都可通过 iframe 嵌入。要让移动端的陀螺仪、重力感应与 VR 正常工作,allow 权限必须齐全:

属性作用
allow="gyroscope"授权访问陀螺仪,实现设备转动查看全景。
allow="accelerometer"授权加速度计,用于重力感应自动找正。
allow="xr-spatial-tracking"授权 WebXR 空间追踪,VR 模式必需。
allowfullscreen允许进入全屏,提升沉浸感。
若被嵌页面处于跨域 iframe且未声明上述 allow,手机转动无反应、VR 按钮不可点是常见现象——补全权限即可解决。

WebXR 与 VR 全景

引擎支持通过 WebXR 在头显(如 Quest、Vision Pro 浏览器)中打开立体全景:

  • 作品需为完整 360°×180°(或 360°×360° 立体)全景,普通广角图不适合 VR。
  • 访问页面必须为 HTTPS,浏览器才允许调用传感器与 WebXR。
  • 在嵌入 iframe 上声明 xr-spatial-tracking,并提供进入 VR 的入口按钮。

自定义域名与静态托管

导出的 HTML/ZIP 包是纯静态资源,可托管在任意位置,并绑定你自己的域名:

1
选择托管方式
对象存储(OSS/COS/S3)、CDN、Nginx、虚拟主机或 GitHub Pages 均可,只要能提供静态文件。
2
上传整包
保持 index.html、panos/、lib/ 的相对路径不变整体上传。
3
解析并绑定域名
将域名 CNAME/A 记录指向托管地址;生产环境务必配置 HTTPS 证书。

完整嵌入示例

下面是一个响应式、带传感器权限的嵌入片段,可直接放入网站;容器用 padding-bottom 维持 16:9 比例:

<!-- 响应式全景嵌入(16:9) --><div style="position:relative; width:100%; padding-bottom:56.25%; height:0;"> <iframe src="https://你的域名或作品地址" style="position:absolute; inset:0; width:100%; height:100%; border:0;" allow="gyroscope; accelerometer; xr-spatial-tracking" allowfullscreen loading="lazy"></iframe> </div>
页面内多个全景时,加 loading="lazy" 延迟加载可视区外的 iframe,可显著降低首屏压力。

性能调优清单

方向建议
源图体积2:1 全景控制在合理分辨率(如 5760×2880),JPG 质量 80~85。
分级加载优先开启缩略/瓦片渐进加载,先快后清。
懒加载多全景页面用 loading="lazy" 与视口检测。
CDN 加速静态包放对象存储并接 CDN,就近分发大图。
HTTPS全站 HTTPS,既是传感器/VR 前提,也利于 HTTP/2 多路复用。