
Google、AI生成のThree.jsを3D/AR/WebXRに変換する「Three-Live」公開
Three.jsWebXR3DGoogleオープンソース
Googleのオープンソースブログが11月3日、「Three-Live」を公開した。LLMが書いた Three.js コードをサンドボックス内で実行し、メモリ上で glTF 2.0(GLB)と USDZ に変換するライブラリとコンパイラ。Web/Android/iOS に対応し、Apache 2.0 のデベロッパープレビュー版(v1.0.0)として提供される。
何が発表されたか
Three-Live は、AIが生成した Three.js コードを標準的な3D/ARアセットに変換するオープンソースライブラリとオンデバイスコンパイラ。Apache 2.0 ライセンスのデベロッパープレビュー(v1.0.0)で、Google は公式サポート製品ではない非公式プロジェクトと位置づけている。
解決しようとしている課題は2点。LLMは3Dシーンの手続き的な Three.js コードを書けるが、そのコードは信頼できないため実行前にサンドボックス化が必要なこと。そしてネイティブのモバイルレンダリングのほうが WebView より性能が出ること。
動作は次のとおり。スクリプトは実行タイムアウトとジオメトリ上限を設けたサンドボックスで走る。Web ではネットワークAPIが取り除かれる。そのうえでシーンをメモリ上でバイナリ glTF 2.0(GLB)と USDZ にシリアライズする。所要時間は通常2〜5ミリ秒。
対応プラットフォーム。
- Web: 依存ゼロの WebGL2 レンダラーと
<three-live>Web コンポーネント。ARハンドオフと WebXR に対応。標準バンドルは gzip 約45KB、ビューア専用ビルドは約23KB。 - Android: Kotlin SDK と JNI ライブラリが Google Filament と Scene Viewer に渡す。
- iOS/macOS: Swift Package と XCFramework が RealityKit と AR Quick Look に渡す。
- CLI: Linux/macOS/Windows のビルド済みバイナリ。
Web以外のランタイムは、Boa ECMAScript エンジンを基にした組み込みRustコンパイラを使う。
開発者への影響
<three-live>要素に Three.js のスクリプトを入れるだけで、オービットコントロールとAR対応つきのインタラクティブな3Dモデルが表示できる。- 既存の glTF モデルを表示するだけならビューア専用ビルドを使える。約23KBという軽さは、商品ページなどに3Dを載せる際の現実的な選択肢になる。
- WebXR セッションでは、併設パッケージの
xr-liveが6DoFのハンドジェスチャ、空間DOM UI、音声/テキストからの3D生成に対応する。 - 導入は npm(
three-live、xr-live)、Crates.io(three-live-compiler)、Swift Package Manager から。デベロッパープレビューであり、バグ報告とプルリクエストを受け付けている段階である点は踏まえておきたい。
