用途:把 Webots 项目部署到浏览器端,支持静态场景导出、动画导出、实时流式观看和 webots.cloud 云端交互部署。机器人设计、物理调参和通用仿真编写不在范围内,基础仿真用法参考 webots-core,Supervisor 编程细节参考 webots-supervisor。
主要能力与用法:
- W3D 场景导出:菜单 File > Export W3D,生成基于 XML 的场景描述,用 webots-view 组件渲染;Skin 与 Pen 节点不支持,需连同纹理等资源一起打包。
- HTML5 动画导出:菜单 File > Export HTML5 Animation,生成内嵌 JSON 动画数据的 HTML 文件,可独立回放,无需本地 Webots;也可用 Supervisor 脚本录制:supervisor.animationStartRecording("output.html") 与 supervisor.animationStopRecording()。
- 实时流式传输:通过偏好设置或命令行 --stream 启动,Webots 作为后端服务器,浏览器经 WebSocket 连接,支持多观众同时观看。命令示例:webots --stream、webots --stream="port=1234"、webots --batch --stream my_world.wbt。
- webots.cloud 发布:源码放 GitHub 仓库,根目录添加 webots.yaml 定义发布元数据;静态发布用于非交互动画资产(.wbt + .html),交互仿真用 Docker 发布。
仓库结构:worlds/ 放 .wbt,controllers/ 放控制器,protos/ 放自定义 PROTO,webots.yaml 置于根目录。Docker 镜像基于官方运行时,如 FROM cyberbotics/webots.cloud:R2025a-ubuntu22.04,并将项目复制到 /usr/local/webots-project/。
架构:交互部署由 Session Server 分配会话、一个或多个 Simulation Server 运行世界实例,浏览器经 WebSocket 路由到活动实例,可通过增加仿真服务器扩容。
限制:W3D 不支持 Skin、Pen 节点;需在 Chromium 与 Gecko/WebKit 浏览器验证渲染、流连接与多客户端访问;具体配置细节见 references/web_deployment_reference.md。