跳转到内容

图片/全景图

相关参考:Scene API / 动态创建内容

Web 插件当前提供两类常用静态图像能力:

  • 普通图片对象
  • 全景图对象

普通图片

创建图片

js
const image = await api.createImage('https://your.domain.com/banner.png');
await api.add(image);

也可以传 ArrayBuffer

js
const response = await fetch('/assets/banner.png');
const buffer = await response.arrayBuffer();

const image = await api.createImage(buffer);
await api.add(image);

设置位置和缩放

js
await api.setPosition(image, 0, 0.5, 0);
await api.setScale(image, 1.2, 1.2, 1.2);

基础事件

图片对象可点击,可以监听:

js
await api.on('click', (event) => {
  console.log(event);
}, image);

全景图

创建全景图

js
const panorama = await api.createPanorama(
  'https://your.domain.com/panorama.jpg',
  64,
);

await api.add(panorama);

第二个参数 segments 用于控制几何细分度,通常不需要太大。默认64。

全景图不支持点击事件

但支持位置、缩放和旋转。

图片和全景图的区别

类型常见用途
图片海报、贴片、UI 化元素、2D 内容
全景图Web3D 背景、沉浸式场景包裹

图片规范

只支持常见图片格式 - jpeg/jpg/png/gif

注意:只支持sRGB颜色空间的图片。一般情况下PS导出都是此配置。

Web3D 背景补充

如果场景编辑器中没有显式配置全景背景,运行时会补一个默认背景容器。因此:

  • 你可以用场景编辑器里的全景图做主背景
  • 也可以在运行时再创建并替换全景对象

推荐做法

  1. UI 型图片优先做成独立对象,方便宿主层控制显隐和点击。
  2. 大图资源优先做 CDN,并确保 CORS 正确。