嵌入查看器
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 | 动画以暂停状态开始 | 关闭 |
ministats | CPU/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 端点。