realvirtual.io WEB (Pro)
realvirtual.io WEB 导出需要 realvirtual.io Professional。浏览器查看器本身是开源的 (AGPL-3.0),可在 github.com/game4automation/realvirtual-WEB 获取。

概述
realvirtual.io WEB 是一个基于浏览器的 3D HMI 和数字孪生查看器。它加载从 Unity 导出的 GLB 文件,并直接在浏览器中运行交互式传输仿真、驱动动画、传感器碰撞和 LogicStep 排序 — 无需安装。
一个链接。任何设备。实时数字孪生。
Unity Editor 提供了创作工具,将您的数字孪生导出为包含所有 3D 几何、组件元数据、信号绑定、运动学定义和驱动参数的单个 GLB 文件。浏览器查看器读取此元数据并重建完整的交互式仿真。
双平台策略
| 用途 | CAD 导入、行为建模、虚拟调试 | 基于浏览器的 3D HMI、监控、协作 |
|---|---|---|
| 技术 | Unity Engine, C#, Unity Industry | Three.js, TypeScript, React |
| 部署 | 桌面应用程序、XR 头戴设备、移动设备 | 任何现代浏览器 |
| PLC 连接 | 原生协议驱动 | WebSocket / MQTT 网关 |
| 目标用户 | 自动化工程师、仿真专家 | 操作员、服务技师、销售、客户 |
GLB 文件是两平台之间的桥梁。
快速入门
前置条件 — UnityGLTF 包。 GLB 导出基于开源的 UnityGLTF 包 (Khronos Group)。自 realvirtual 6.3.5 起,Tools > realvirtual > Export 下的 realvirtual WEB 入口始终可用:如果 UnityGLTF 尚未安装,选择它会提供一键安装。Unity 重新编译后,realvirtual WEB 窗口将打开,GLB 导出变为可用。您也可以通过 Window > Package Manager > Add package from git URL 使用 https://github.com/KhronosGroup/UnityGLTF.git 手动安装。
1. 打开 WebViewer 工具
通过 Tools > realvirtual > Export > WebViewer Tools 打开。该窗口有五个标签页,涵盖完整的导出到发布工作流程。
2. 导出您的场景

在 Export 标签页中,您有三个选项:
- Export Selected to WebViewer — 导出当前选中的 GameObject 及其子对象
- Export Scene to WebViewer — 导出当前场景中的所有根级 GameObject
- Export Selected as... — 打开文件保存对话框以选择任何输出路径
导出的 GLB 文件被放置在 WebViewer 的 public/models/ 文件夹中,包含:
- 所有 3D 几何(网格、材质、纹理)
- 所有 realvirtual 组件数据(drives、sensors、transport surfaces、sources、sinks、grippers、logic steps)
- 信号绑定(PLCInput/PLCOutput 连接)
- 运动学层次和轴配置
- 用于可见性控制的组定义
- 相机预设
3. 在浏览器中预览

通过点击 Start Dev Server 启动本地开发服务器。浏览器将自动在 http://localhost:5173 打开。从模型选择器中选择您导出的模型。
您也可以从此标签页直接打开 WebViewer 和 Models 文件夹。
4. 发布

Publish 标签页提供到 Bunny CDN (web.realvirtual.io) 的集成部署。配置您的 Bunny CDN 凭证(Storage Key、Account API Key、Pull Zone ID),设置演示名称,然后点击 Publish Scene 或 Publish Selected。
发布选项:
- Publish Selected — 导出并上传选中的 GameObject
- Publish Scene — 导出并上传整个场景
- Publish Last Export — 上传先前导出的 GLB 文件而不重新导出
Bunny CDN 发布是集成的一键式解决方案。您也可以手动部署到任何 Web 服务器或云平台 — 导出生成了标准的 dist/ 文件夹(通过 npm run build),可以上传到任何静态托管服务:您自己的 Web 服务器、AWS S3、Azure Blob Storage、Netlify、Vercel 或任何内部基础设施。GLB 文件和构建好的查看器是完全自包含的。
5. 私有项目

Private 标签页管理客户特定的部署:
- 创建具有自动生成的安全 URL(128 位熵值)的新私有项目
- 每个项目有自己的 GLB 模型、设置和可选插件
- Export Scene 直接到项目的 models 文件夹
- 发布到一个不可猜测的 URL:
web.realvirtual.io/{code}/ - 复制安全链接以分享给客户
私有项目非常适合不应公开访问的客户特定数字孪生。
6. 管理部署

Manage 标签页显示 Bunny CDN 上所有已发布的部署(公开和私有):
- 文件大小和最后更新时间戳
- Copy Link 分享部署 URL
- Open 在浏览器中预览
- Delete 删除部署
- 使用统计:页面浏览量、唯一访客、带宽和缓存命中率
WebViewer 设置

WebViewerSettings 资源控制 WebViewer 安装的路径:
| Setting | Default | Description |
|---|---|---|
| Web Viewer Path | Assets/realvirtual-WebViewer~ | WebViewer 源文件路径 |
| Private Path | Assets/realvirtual-WebViewer-Private~ | 私有项目文件夹路径 |
这些路径决定了导出的 GLB 文件放置位置以及开发服务器运行位置。
导出内容
导出管道将所有 realvirtual 组件数据使用 rv_extras 扩展嵌入到 GLB 文件中。浏览器查看器读取此元数据以重建仿真。
支持的组件
最常用组件的选择:
| Component | 导出的数据 |
|---|---|
| Drive | 方向、速度、加速度、限制、当前位置 |
| Sensor | AABB 尺寸、信号连接 |
| TransportSurface | 速度、方向、尺寸 |
| Source | 生成间隔、MU 模板引用 |
| Sink | 信号连接 |
| Grip / GripTarget | 夹取位置、拾取/放置配置 |
| LogicStep | 步骤类型、参数、信号条件、层次结构 |
| Group | 可见性分组分配 |
| Kinematic | 关节层次、轴定义 |
| Signals | 带名称和类型的 PLCInput/PLCOutput 绑定 |
完整列表 — 包括驱动行为、机器人学/IK、3D-HMI 标记(WebSensor、WebError 等)和数字孪生链接(AAS、CAD)— 请参见 支持的组件。要在 Unity 中创作浏览器 3D-HMI,请参见 构建 3D-HMI。
导出设置
导出行为通过 AssetManagerSettings 资源 (Packages/io.realvirtual.professional/Runtime/AssetManager/Resources/AssetManagerSettings.asset) 配置:
| Setting | Default | Description |
|---|---|---|
| Export Material Properties | Off | 嵌入完整的着色器属性值(纹理、颜色)。会增加文件大小。 |
| Enable Mesh Deduplication | On | 移除重复网格以减少 GLB 文件大小 |
| Export Thumbnails | On | 生成并嵌入 PNG 预览缩略图 |
| Export Decal Projectors | On | 包含 URP DecalProjector 数据 |
| ScriptableObject Export | On | 将 ScriptableObject 字段序列化到 GLB 中 |
浏览器查看器
导出的 GLB 文件由基于浏览器的查看器加载。有关查看器本身的完整文档,请参见 realvirtual WEB GitHub 仓库。
查看器的关键功能:
- 通过 WebSocket 或 MQTT 连接 PLC 的实时 3D HMI
- 浏览器内 60 Hz 传输仿真
- 基于 Apache ECharts 的 KPI 仪表板
- WebXR 支持 (VR/AR)
- 自定义扩展的插件系统
- 通过 MCP Server 启用 AI
MultiplayerWEB (Beta)

MultiplayerWEB 组件 (Pro) 在 Unity 和浏览器客户端之间启用实时多用户会话。它在 Unity 内部的 7000 端口上运行一个 WebSocket 服务器,将驱动位置、MU 状态和信号值流式传输到所有连接的浏览器查看器。
浏览器客户端通过 WebViewer 中的 Multiuser 面板连接,可以看到共享的头像、相机位置和实时机器状态。角色(Operator/Observer)控制谁可以与仿真交互。
MultiplayerWEB 支持两种连接模式:
- Direct — 浏览器客户端直接连接到 Unity 的 WebSocket 服务器(本地网络)
- Relay — 浏览器客户端通过托管的中继服务器连接(互联网访问,无需端口转发)
MultiplayerWEB 目前处于 Beta 阶段。中继服务器通过 realvirtual 客户门户托管。
另请参阅
- realvirtual WEB on GitHub — 开源浏览器查看器 (AGPL-3.0)
- realvirtual MCP Server — Unity 和 WebViewer 的 AI 代理桥接
- 发布数字孪生 — 其他部署选项(Windows、WebGL、VR)