Verge3D(バージ3D)は、ウェブサイト上で動作するインタラクティブな3D体験を作成するためのリアルタイムレンダラーおよびツールキットである。
概要 Verge3Dは、3Dモデリングツール(現在はBlender、3ds Max、Mayaに対応)で作成したコンテンツを、ウェブブラウザで閲覧可能な形式に変換する。Verge3Dは、以前にBlend4Webフレームワークを開発したのと同じコアエンジニアグループによって作成された。
機能 Verge3DはレンダリングにWebGLを使用する。Three.jsライブラリのコンポーネントを組み込んでおり、アプリケーション開発者に対してそのAPIを公開している。
パズル(Puzzles) アプリケーションの機能はJavaScriptで追加可能で、直接コードを書くか、またはGoogleのBlocklyを基にしたVerge3Dのビジュアルプログラミング環境「Puzzles」を使用する。Puzzlesは主に非プログラマー向けに設計されており、ドラッグ・アンド・ドロップ方式でインタラクティブなシナリオを素早く作成できる。
App Managerとウェブ公開 App Managerは、ローカル開発サーバー上で動作する軽量なウェブベースツールで、Verge3Dプロジェクトの作成・管理・公開を行う。 App Managerに統合されたVerge3D Networkサービスにより、Amazon S3やEC2などのクラウドサービスを使ってVerge3Dアプリケーションを公開できる。
PBR(物理ベースレンダリング) マテリアル作成には、glTF 2.0準拠の物理ベースレンダリングパイプラインが提供されており、標準的なシェーダベースのアプローチと併用可能である。 PBRテクスチャはSubstance Painterなどの外部テクスチャリングソフトウェアで作成でき、Verge3Dは対応するエクスポートプリセットを提供している。 glTF 2.0モデルのほか、3ds MaxおよびMayaの物理マテリアル(Autodesk Arnoldを基準)、BlenderのリアルタイムレンダリングエンジンEeveeのマテリアルにも対応している。
glTFとDCCソフトウェアの統合 Verge3DはBlender、3ds Max、Mayaと直接統合されており、3Dジオメトリ・マテリアル・アニメーションをこれらのソフトウェア内で作成した後、JSONベースのglTF形式でエクスポートできる。Sneak Peek機能により、DCCツールの環境から直接シーンをエクスポートして閲覧可能である。
アセット圧縮 エクスポートファイルはオプションでLZMA圧縮を使用でき、ファイルサイズを最大6分の1に削減できる。
UIとウェブサイトのレイアウト 外部のWYSIWYGエディタで作成したインターフェースレイアウトをPuzzlesと連携させ、ブラウザでレンダリング中の3Dシーンを変更したり、その逆も可能である。
アニメーション スケルタルアニメーション(二足歩行やキャラクターリグのアニメーションを含む)をサポートし、マテリアルパラメータのアニメーションも可能。モデル部位をユーザーがドラッグできるように設定できる。
物理演算 物理演算モジュールを別途リンクすることで、衝突検出、動的オブジェクトの移動、キャラクター・車両のサポート、バネ・ロープ・布のシミュレーションが可能になる。 バージョン2.11以降は、Puzzles(ビジュアルプログラミングシステム)を使ってコードを書かずに簡単な物理シミュレーションを作成・制御できる。
AR/VR バージョン2.10でWebXR対応が追加された。これはウェブブラウザ上でバーチャルリアリティ(VR)や拡張現実(AR)体験を表示するための開発中のオープン技術である。HTC ViveやOculus Riftのようなコントローラー付きヘッドセット、およびGoogle Cardboardのようなコントローラーなしのデバイスに対応する。AR/VR体験はPuzzlesまたはJavaScriptで有効化できる。
ワークフロー Verge3Dのワークフローは、他の主流のWebGLフレームワークとは大きく異なる。新規Verge3Dアプリケーションの開発は、通常3Dオブジェクトのモデリング・テクスチャリング・アニメーションから始まる。これらのモデルを3Dオーサリングツール内で組み立て、シーンファイルをApp Managerから初期化されたVerge3Dプロジェクトの基盤とする。インタラクティブなシナリオはPuzzlesエディタで任意に追加する。開発のどの段階でも、App Managerを使ってウェブブラウザでVerge3Dアプリケーションをプレビューできる。完成したウェブアプリケーションは、Verge3D Network、Facebook、またはユーザーのウェブサイトにデプロイ可能である。
主な使用事例 NASAのジェット推進研究所(Jet Propulsion Laboratory)は、火星探査機InSightランダーのインタラクティブな3D可視化を作成するためにVerge3Dを使用した。 このウェブアプリケーションでは、宇宙船のリアルタイムモデルを探索・操作でき、さまざまな部品を動かしたり太陽電池パネルを展開したりできる。
NASAの古いインタラクティブウェブアプリケーション「Experience Curiosity」は、Blend4WebからVerge3Dへ移植された。このアプリケーションでは、ローバーの操作、カメラやロボットアームの制御、Mars Science Laboratoryミッションの主要イベントの再現が可能である。
関連項目 WebGL JavaScriptライブラリ
脚注
外部リンク www.soft8soft.com