跳到主要内容

嵌入查看器

Viewer 通过 npm @playcanvas/supersplat-viewer 发布,可放入自有站点、指向任意文件,再用 URL 或 JSON 配置。

安装​

npm install @playcanvas/supersplat-viewer

包将 index.html、index.css、index.js 导出为字符串,可注入构建模板:

import { html, css, js } from '@playcanvas/supersplat-viewer';

// The full markup of the viewer page
console.log(html);

// The viewer's stylesheet
console.log(css);

// The viewer's compiled JS bundle
console.log(js);

编辑器 HTML 导出内部也如此。适合生成专用包、注入设置、更换天空盒或封面,避免运行时从 CDN 加载查看器的开销。

URL 参数​

自行托管构建文件并按实例配置时支持:

参数说明默认值
settings体验设置 JSON URL./settings.json
content.ply、.sog、.meta.json、.lod-meta.json、.compressed.ply URL./scene.compressed.ply
skybox等距柱状天空图 URL无
poster加载时显示的图像 URL无
noui隐藏内置 UI关闭
noanim动画以暂停状态开始关闭
ministatsCPU/GPU 性能图关闭
unified强制统一渲染关闭
aa抗锯齿,统一模式不支持关闭

标志可能随版本变化,当前列表见项目 README。

设置 JSON​

settings 指向 v2 体验设置,与 Studio 保存格式相同。完整结构、默认值及迁移见参考。

包含 v2 全部必需字段的新场景最小完整默认文件如下:

{
"version": 2,
"tonemapping": "linear",
"highPrecisionRendering": false,
"background": {
"color": [0, 0, 0]
},
"postEffectSettings": {
"sharpness": { "enabled": false, "amount": 0 },
"bloom": { "enabled": false, "intensity": 0.1, "blurLevel": 2 },
"grading": { "enabled": false, "brightness": 1, "contrast": 1, "saturation": 1, "tint": [1, 1, 1] },
"vignette": { "enabled": false, "intensity": 0.5, "inner": 0.3, "outer": 0.75, "curvature": 1 },
"fringing": { "enabled": false, "intensity": 0.5 }
},
"cameras": [
{ "initial": { "position": [0, 1, -1], "target": [0, 0, 0], "fov": 75 } }
],
"animTracks": [],
"annotations": [],
"startMode": "default"
}

后期参数、标注、关键帧和色调映射等全部字段见体验设置。

编程发布​

不经过界面发布或更新时,发布 API提供底层 REST 端点。

另请参见​