用途:把 Spline.design 编辑器中制作的交互式 3D 场景嵌入网页项目。Spline 是浏览器端 3D 设计工具,场景由 Spline 托管并在运行时加载,基于 WebGL,支持鼠标、滚动、键盘和触摸交互,免费档带水印。
主要能力:提供三种嵌入方式——React/Next.js 用 @splinetool/react-spline,原生 HTML/JS 或其它框架用 @splinetool/runtime,快速嵌入用 iframe。运行时 API 支持 findObjectByName、findObjectById、getAllObjects 查询对象,emitEvent/emitEventReverse 触发事件,addEventListener 监听 mouseDown、mouseHover 等事件,getVariable/setVariable 读写场景变量,并可直接修改对象的 position、rotation、scale。
使用方式:React 需先安装 npm install @splinetool/react-spline @splinetool/runtime,两者须一起安装以避免版本不匹配导致白屏或 TypeError。场景 URL 从编辑器 Export → Code 获取,形如 https://prod.spline.design/YOUR_SCENE_ID/scene.splinecode,每次重新导出会生成新 URL。原生 JS 通过 new Application(canvas) 后调用 load()。
适用场景:首屏 3D 展示、交互式产品查看器、滚动驱动的 3D 动画、数据驱动的 3D 仪表盘。
限制与注意事项:建议每场景不超过 15 万面、灯光不超过 3 盏,导出时启用几何压缩,首屏以下场景懒加载,每页最多一个复杂场景;移动端建议降至 5 万面以下或改用静态图。常见问题包括 CORS(可自托管 .splinecode)、容器高度为 0 导致白屏、加载期间需显示 loading。资料未提供具体收费价格与各平台兼容性细节。