本文へスキップ
IFAI

オープンソース

Babylon.js 9.0公開:クラスタ化照明やガウススプラットに対応

公開 拡散指数 43

Web 3Dエンジン「Babylon.js 9.0」が正式リリースされた。WebGPUとWebGL 2で数千の光源を滑らかに描画するクラスタ化照明や、GPUメモリ消費を最大40%削るFrame Graphを導入。さらにノード型パーティクルエディタやAdobe協力による高度なガウススプラットにも対応した。

Babylon.js 9.0公開:クラスタ化照明やガウススプラットに対応
画像:blogs.windows.com

Babylon.js 9.0は、ブラウザ上でネイティブゲーム並みのリッチな3Dグラフィックスを描画できるオープンソースのWeb 3Dエンジンです。

今回のメジャーアップデートでは、Web 3Dの長年の課題だった多数の光源処理と過大なメモリ消費にメスが入りました。

何ができるのか

最大の目玉は「クラスタ化照明(Clustered Lighting)」の実装です。従来の描画方式では、画面内の各ピクセルがシーン上の全光源の影響を逐一計算するため、光源が増えるとすぐに処理落ちしていました。

新方式では画面空間をタイルと深度スライスに細かく分割し、各ピクセルが自身に影響を与える光源のみを判定します。これにより、数百から数千の光源を配置したシーンでも滑らかなフレームレートを維持できるようになりました。WebGPUとWebGL 2の両方に対応しています。

また、面光源が放射テクスチャをサポートしました。ステンドグラスを通した光の投影やLEDディスプレイの反射など、実画像に基づいた正確な発光表現が可能です。

さらに霧や空気中の微粒子を照らし出すボリューム照明も新設されました。WebGPUのコンピュートシェーダーを活用し、WebGL 2へのフォールバックも備えています。

アドビの協力により、ガウススプラット(Gaussian Splatting)対応も大幅に強化されました。.PLY、.splat、.SPZ、.SOGなど主要形式を網羅し、複数アセットの統合配置やグローバルソート、影の投影、個別アニメーションまでこなせます。

キャラクター向けにはアニメーションリターゲティングが加わり、骨格構造や比率が異なるモデル同士でも同一のモーションデータを流用できるようになりました。

仕組みと軽量化

エンジン内部では、バージョン8.0で先行公開されていた「Frame Graph」が正式なv1機能に昇格しました。

レンダリング処理を有向非巡回グラフ(DAG)として管理し、テクスチャの割り当てと再利用を自動最適化します。これにより、特定シーンではGPUメモリ消費量を40%以上削減できたとされています。

エフェクト制作向けには、ノード型パーティクルエディタが新登場しました。画面上のベクトル情報で粒子の動きを操るFlow Mapsや、引き寄せ・反発を生むAttractorsを視覚的につなぎ合わせて構築できます。

Babylon.js 9.0はオープンソースとして即日利用可能で、npmからの導入や、公式のPlaygroundおよびドキュメント上のデモ環境で直接試すことができます。

なぜ重要か

Web 3Dゲーム、バーチャル展示会、建築ビジュアライゼーションを手がける開発者にとって、メモリ不足によるブラウザクラッシュは日常的なリスクでした。GPUメモリを最大40%削減しつつ数千の光源を扱えるようになった恩恵は極めて大きいです。

Three.jsと比べたBabylon.jsの強みは、統合された公式ツール群の豊富さにあります。シェーダーやパーティクル、レンダリングパイプラインをGUIで完結できる環境がさらに強固になりました。リッチな表現をWebで届けたいなら、迷わず移行を検討すべきアップデートといえます。

情報源 (1)

  1. [1]
    blogs.windows.com(新しいタブで開きます)原文blogs.windows.com

毎日のAIピックアップ