Slide 1

Slide 1 text

Babylon.js 8.0の アプデ情報を 軽率にキャッチアップ にー兄さん@ninisan_drumath Babylon.js 勉強会 vol.4 オンライン~Babylon.js 8.0 リリース記念~

Slide 2

Slide 2 text

アジェンダ - はじめに - Babylon.js 8.0アプデの全体感 - レンダリング系 - ツール系 - ファイルフォーマット系 - オーディオエンジン - Havok - おわりに

Slide 3

Slide 3 text

はじめに

Slide 4

Slide 4 text

にー兄さん(@ninisan_drumath) ソフトウェアエンジニア “Babylon.jsとWebXR Device APIの宣教師” 株式会社ホロラボ Babylon.js勉強会運営 Iwaken Lab. Microsoft MVP for Developer Technologies

Slide 5

Slide 5 text

本日のお話 - Babylon.js 8.0のリリースをキャッチアップ - 詳細な内容はあまり話せない(時間的に) ゴール: Babylon.jsが好き・興味がある人向けに 8.0の目玉となる機能を抜粋してお届けする

Slide 6

Slide 6 text

Babylon.js 8.0 リリースの全体感

Slide 7

Slide 7 text

Babylon.js 8.0リリース🎉 公式Xでは2025/3/28(日本時間)に アナウンス ブログポストもいくつか - Announcing Babylon.js 8.0 https://blogs.windows.com/windowsdeveloper/2025/03/27/ann ouncing-babylon-js-8-0/ - Introducing Babylon.js 8.0(medium) https://babylonjs.medium.com/introducing-babylon-js-8-0-776 44b31e2f9 - Introducing Babylon.js 8.0(linkedin) https://www.linkedin.com/pulse/introducing-babylonjs-80-b abylon-js-s5zmc/

Slide 8

Slide 8 text

かっこいいPV

Slide 9

Slide 9 text

Babylon.jsのメジャーアップデート - 年に1回メジャーバージョンが アップデート - マイナーバージョンは 定期的に細かくリリース - 8.0のリリース内容は すでに7.xで実装されているもの - つまり急に出てきたわけではない - 大きな変更を与えないようにするため

Slide 10

Slide 10 text

リリース項目(NotebookLMに頼んでみた) ● IBL Shadows ● Area Lights ● Node Render Graph – Alpha ● All New Lightweight Viewer ● WGSL Core Engine Shaders ● NME -> WGSL Support ● Overhauled Audio Engine ● Gaussian Splat Updates ● Havok Character Controller ● Smart Filters ● Environment Improvements ● Node Geometry Editor Updates ● Node Material Editor Debug Node ● Improved Booleans ● Updated glTF Support — KHR_materials_diffuse_transmission ● glTF Exporter Improvements ● More glTF Loader Options ● IES Light Support ● USDZ Export ● GPU Mesh Picking ● GPU Bounding Box ● EXR Texture Support ● WebXR Depth Sensing

Slide 11

Slide 11 text

リリース項目(NotebookLMに頼んでみた) ● IBL Shadows ● Area Lights ● Node Render Graph – Alpha ● All New Lightweight Viewer ● WGSL Core Engine Shaders ● NME -> WGSL Support ● Overhauled Audio Engine ● Gaussian Splat Updates ● Havok Character Controller ● Smart Filters ● Environment Improvements ● Node Geometry Editor Updates ● Node Material Editor Debug Node ● Improved Booleans ● Updated glTF Support — KHR_materials_diffuse_transmission ● glTF Exporter Improvements ● More glTF Loader Options ● IES Light Support ● USDZ Export ● GPU Mesh Picking ● GPU Bounding Box ● EXR Texture Support ● WebXR Depth Sensing 多すぎ

Slide 12

Slide 12 text

アプデ内容をキャッチアップ!

Slide 13

Slide 13 text

主なソース Windows Developer Blog Part1~3まである 観測範囲で話題になっていたり 熱量高く語られていたりするものを ピックアップ https://blogs.windows.com/ windowsdeveloper/2025/03/27/announcing -babylon-js-8-0/

Slide 14

Slide 14 text

レンダリング系

Slide 15

Slide 15 text

IBL Shadows - Image Based Lighting←既存機能 - 環境マップから3Dモデルに影響す るライティングを表現 - IBLが影に対応←New! - Adobe社のMichael氏による貢献 デモ: https://playground.babylonjs.com/#8R 5SSE#665

Slide 16

Slide 16 text

Area Light 2Dのジオメトリを光源として 扱う RectAreaLightクラス とにかくデモが良い https://aka.ms/babylon8Are aLightsDemo

Slide 17

Slide 17 text

WGSL Core Engine Shaders WGSL = WebGPUで使えるシェーダ言語(not GLSL) Babylon.js EngineのシェーダはGLSLで書かれていて WebGPUを使う場合は変換ライブラリで変換していた →ライブラリが3MBくらいあってUXに影響していた GLSL/WGSL両対応することで(変換不要になったので) WebGPU使用時のライブラリサイズが半分に(!!)

Slide 18

Slide 18 text

ツール系

Slide 19

Slide 19 text

Node Render Graph Editor (Alpha版)

Slide 20

Slide 20 text

Node Render Graph (Alpha版) ノードエディタからBlack-Boxだった レンダリングパイプラインの カスタマイズが可能な Frame Graphという機能で カスタマイズは可能だった →視覚的にパイプライン構築可能に コードベースではなくノードベースで

Slide 21

Slide 21 text

Node Render Graph (Alpha版) まだAlpha版なので 製品コードには使わないでとも “One of the most powerful new features” https://nrge.babylonjs.com/

Slide 22

Slide 22 text

All New Lightweight Viewer いわゆるViewer V2 シンプルなHTMLでビューワが作れちゃう コントローラなど付けられて実は高機能 公式サイト: https://babylonjs.com/viewer

Slide 23

Slide 23 text

All New Lightweight Viewer(Configurator)

Slide 24

Slide 24 text

Smart Filter Editor (SFE) ビデオフィルタやテクスチャ操作、 ポスプロなどの用途に使える エディタがあり、 ノードベースで構築 https://sfe.babylonjs.com/ リポジトリは独立しているみたい https://github.com/BabylonJS/SmartFilters

Slide 25

Slide 25 text

ファイルフォーマット系

Slide 26

Slide 26 text

glTF KHR_materials_diffuse_transmission拡張 glTF拡張仕様の1種 葉っぱやロウソクなどから 透けるやわらかい拡散光の表現 デモ: https://aka.ms/babylon8gltfdemo 仕様: https://github.com/KhronosGroup/glTF/blob/main/e xtensions/2.0/Khronos/KHR_materials_diffuse_trans mission/README.md

Slide 27

Slide 27 text

その他glTF関連 - Loader/Exporterのアプデ - オプションが増えたり - ExporterがLOD対応したり - 将来的な展望として glTF Interactivity拡張への対応に言及 - 仕様 :https://github.com/KhronosGroup/glTF/blob/interactivity/extensions/2.0/Khronos/KHR_interactivity/Spe cification.adoc#introduction-general

Slide 28

Slide 28 text

USDZ export USDZのランタイム出力に対応 const data = await BABYLON.USDZExportAsync(scene, {}, m => { return m !== currentSkybox }); BABYLON.Tools.Download(new Blob([data], {type: 'model/vnd.usdz+zip'}), "scene.usdz");

Slide 29

Slide 29 text

Gaussian Splatting 新たなフォーマットとして SPZ、compressed-PLYに対応 SH(球面調和関数)への対応 メモリ容量・CPU/GPU使用率への 最適化 doc: https://doc.babylonjs.com/features/featuresDeep Dive/mesh/gaussianSplatting サン・ピエトロ寺院のデモ事例

Slide 30

Slide 30 text

オーディオエンジン

Slide 31

Slide 31 text

Overhauled Audio Engine 新しくなったAudio Engine V2 - Powerful - web-audio機能をフル活用できる - Modern - クラス名や設計 - Simple-to-Use - 知識レベルによらず使いやすく doc: https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic/

Slide 32

Slide 32 text

Havok

Slide 33

Slide 33 text

Havok Character Controller 6.0の目玉機能であるHavok Character Controllerの実装 FPSゲームのようなものが いい感じに作れそう デモ: https://aka.ms/babylon8havokCCDemo

Slide 34

Slide 34 text

おわりに

Slide 35

Slide 35 text

まとめ・所感 Babylon.js 8.0は3月末リリースされた アプデ項目も多く、強力な機能がいくつもあった - レンダリング - ツール類 - ファイルフォーマット - オーディオ - 物理演算エンジン 特に最近はノードエディタ系に力が入っていそうな印象

Slide 36

Slide 36 text

参考 Announcing Babylon.js 8.0 https://blogs.windows.com/windowsdeveloper/2025/03/27/announcing-babylon-js-8-0/ Part 2 – Babylon.js 8.0: Audio, Gaussian Splat and physics updates https://blogs.windows.com/windowsdeveloper/2025/03/31/part-2-babylon-js-8-0-audio-gaussian-splat-and-physics-upda tes/ Part 3 – Babylon.js 8.0: glTF, USDz, and WebXR advancements https://blogs.windows.com/windowsdeveloper/2025/04/03/part-3-babylon-js-8-0-gltf-usdz-and-webxr-advancements/ Introducing Babylon.js 8.0(medium) https://babylonjs.medium.com/introducing-babylon-js-8-0-77644b31e2f9 Introducing Babylon.js 8.0(linkedin) https://www.linkedin.com/pulse/introducing-babylonjs-80-babylon-js-s5zmc/ Babylon.js 8.0 is Officially Here! https://forum.babylonjs.com/t/babylon-js-8-0-is-officially-here/57452