コンテンツにスキップ

はじめに

RealityConnect Embedを使うと、インタラクティブでライブなRealityTwinビューアを自社のWebアプリケーションに直接配置できます。ツインはiframe内でレンダリングされ、軽量なJavaScript SDK(@prevu3d/realityconnect-embed)がページからのプログラム制御を可能にします。これにより、ユーザーは既に使用しているツールを離れることなく、没入感のある3Dコンテキストを得られます。


開発を始める前に知っておくべき設計上の選択がいくつかあります。

  • ページが制御する素のビューア。 埋め込まれたツインは組み込みのインターフェースを持たない3Dビューアです。ヘッダー、サイドバー、メニュー、ツールバーはありません。周囲の枠組みはすべてアプリケーションが所有し、SDKを通じてツインを操作します。
  • RealityConnect API経由で認可される。 各embedセッションは組織のOAuth認証情報を使って認可されます。匿名の埋め込みはできません。バックエンドは、指定したツインに対する署名付きで短命のembed URLを要求します。
  • SDKがビューアを読み込み計装する。 ページがそのURLをSDKに渡すと、SDKはiframeを挿入し、ツインとの安全な双方向チャネルを確立します。
  • ページがツインを操作する。 ビューアが準備完了を通知すると、SDKコマンドが利用可能になり、ツインの操作(ナビゲーション、ポイントオブインタレスト、オブジェクトへのテレポート、共有可能なビューのキャプチャ)や、埋め込まれたシーンのライブ状態の購読ができます。
  • RealityConnectの視覚レイヤーである。 RealityConnect APIがシステムを接続してアクセスを認可する一方、RealityConnect Embedはツインをレンダリングし、フロントエンドのコードに公開します。

embedセッションを機能させるために、3つのコンポーネントが連携します。

  1. バックエンドClient CredentialsフローでRealityConnect APIに対して認証し、特定のツイン用に短命のembedセッションを作成するようAPIに要求します。OAuthのクライアントシークレットが存在するのはこの場所だけです。
  2. フロントエンドはバックエンドからセッション値を受け取り、SDKに渡します。SDKは署名付きembed URLを指すiframeを挿入し、それとの安全なpostMessageチャネルを開きます。
  3. 埋め込まれたツインは3Dシーンをレンダリングし、ページから送られたコマンドを実行し、ライブ状態(選択中のオブジェクト、現在のカメラモード、エンコードされたビューなど)をストリームで返します。

SDKは、シーンを操作する(カメラナビゲーション、ポイントオブインタレスト、オブジェクトテレポート、ビュー共有、スクリーンショット)ための型付きAPIと、ツインから返ってくるライブ状態を購読する手段をページに提供します。完全なサーフェス(namespace、アクション、observable、エラーコード)はSDKのREADMEに記載されています。

以下の表は、embedが現在カバーするものとしないものをまとめたものです。新しい機能は定期的に追加されるため、これはあくまでスナップショットとして扱ってください。

機能embedに含まれる?備考
3DシーンのレンダリングはいRealityTwinの完全な閲覧体験。
カメラナビゲーションモードはい透視投影、正投影、フォトスフィア、サードパーソン。
ポイントオブインタレスト(表示・作成・編集)はいポイントオブインタレストの作成、編集、配置。
オブジェクトの選択と「テレポート」はい特定のビジネスオブジェクトへカメラを移動します。
共有可能なビューのリンクはい現在のカメラをコンパクトな文字列としてエンコードし、後で任意のページ読み込み時に復元します。
スクリーンショットはい現在のビューをPNGバイトとしてキャプチャします。
ライブ状態の購読はい選択、ホバー、カメラモード、ポイントオブインタレストのツール状態などを監視します。
組み込みのツインUI(メニュー、パネル、モーダル)いいえすべてのインターフェース要素はホストページが提供します。
編集機能(下書き、測定、ゾーン、RealityPlan Projects、CAD検査)いいえこれらは完全なRealityTwinアプリケーションに残ります。
  • レコードと並べて3Dコンテキストを表示したいアセット管理・検査プラットフォーム
  • バーチャルツアーやeラーニング体験
  • 埋め込み可能でナビゲート可能なデジタルツインの恩恵を受けるあらゆるWeb製品