跳转到内容

简介

RealityConnect Embed 让您可以将实时、可交互的 RealityTwin 查看器直接放入您自己的 Web 应用中。孪生在 iframe 中渲染,一个轻量级的 JavaScript SDK(@prevu3d/realityconnect-embed)让您的页面对其进行编程式控制——因此您的用户无需离开他们已在使用的工具,即可获得沉浸式的 3D 上下文。


在开始构建之前,有几项设计选择值得了解:

  • 由您的页面控制的裸查看器。 嵌入的孪生是一个没有内置界面的 3D 查看器——没有页眉、侧边栏、菜单或工具栏。您的应用拥有周围的全部外壳,并通过 SDK 驱动孪生。
  • 通过 RealityConnect API 授权。 每个嵌入会话都使用您组织的 OAuth 凭据进行授权——不存在匿名嵌入。您的后端为给定孪生请求一个已签名的、短期有效的嵌入 URL。
  • SDK 加载并对查看器进行插桩。 您的页面将该 URL 交给 SDK,SDK 注入 iframe 并与孪生建立安全的双向通道。
  • 您的页面驱动孪生。 一旦查看器报告就绪,SDK 命令即可用于控制孪生(导航、兴趣点、传送到某个对象、捕获可分享的视图),并订阅嵌入场景的实时状态。
  • 它是 RealityConnect 的可视化层。 RealityConnect API 连接您的系统并授权访问,而 RealityConnect Embed 渲染孪生并将其暴露给您的前端代码。

三个组件协作以使嵌入会话正常工作:

  1. 您的后端使用 Client Credentials 流程向 RealityConnect API 进行身份验证,然后请求 API 为特定孪生创建一个短期有效的嵌入会话。这是您的 OAuth 客户端密钥唯一存在的位置。
  2. 您的前端从后端接收会话值并将其交给 SDK。SDK 注入一个指向已签名嵌入 URL 的 iframe,并与之打开一个安全的 postMessage 通道。
  3. 嵌入的孪生渲染 3D 场景,执行从您的页面发送的命令,并将实时状态(选中的对象、当前相机模式、编码视图等)流式传回。

SDK 为您的页面提供一个带类型的 API,用于驱动场景(相机导航、兴趣点、对象传送、视图分享、截图),并订阅从孪生返回的实时状态。完整的接口——命名空间、动作、observable 和错误码——记录在 SDK README 中。

下表总结了嵌入目前涵盖和不涵盖的内容。新功能会定期添加,因此请将其视为一个快照。

功能在嵌入中?备注
3D 场景渲染完整的 RealityTwin 查看体验。
相机导航模式透视、正交、全景球、第三人称。
兴趣点(查看、创建、编辑)兴趣点的创建、编辑与放置。
对象选择与“传送到”将相机移动到特定的业务对象。
可分享的视图链接将当前相机编码为紧凑字符串,随后在任意页面加载时恢复。
截图将当前视图捕获为 PNG 字节。
实时状态订阅观察选择、悬停、相机模式、兴趣点工具状态等。
内置孪生 UI(菜单、面板、模态框)由您的宿主页面提供所有界面元素。
编辑功能(草稿、测量、区域、RealityPlan Projects、CAD 检查)这些仍保留在完整的 RealityTwin 应用中。
  • 希望在记录旁边提供 3D 上下文的资产管理和检查平台
  • 虚拟漫游和在线学习体验
  • 任何可从嵌入式、可导航的数字孪生中受益的 Web 产品