2023年4月21日(現地時間)- ウェブベースの3Dレンダリングエンジン Babylon.js 6.0 がリリースされました。
Babylon.jsとは
Babylon.jsは、オープンソースの3Dグラフィックスエンジンで、ウェブブラウザー上でリアルタイムのインタラクティブな3Dグラフィックスや2Dグラフィックスを表示するために開発されました。
元々MicrosoftのデベロッパーであるDavid Catuhe氏によって開発され、現在、Babylon.jsはオープンソースプロジェクトとして、世界中の多くのコントリビューターによって継続的に開発・改善が行われています。プロジェクトは、GitHub上で公開されており、誰でもソースコードにアクセスし、新機能の提案やバグ修正などに貢献することができます。
Babylon.jsは、JavaScriptまたはTypeScriptで記述されており、ゲーム開発、データの視覚化、教育目的、その他ウェブ上で3Dコンテンツを提供する様々な用途に使用されます。エンティティ・コンポーネント・システム(ECS)アーキテクチャやPBRマテリアル、アニメーション、ポストプロセスエフェクトなどのような現代の3Dグラフィックス開発に求められる機能を備え、VRやARデバイスとの統合もサポートしています。
機能の確認はこちらから
また、Blender、Maya、3dsmax、Unity(非推奨)では、エクスポータープラグインを使用することで .babylon ファイルを作成できます。
新機能ハイライト
このリリースは、パフォーマンスの向上、レンダリングの強化、多くの新機能を含むメジャーアップデートとなっています。
Havok Physics
世界的に有名なHavokチームが、Babylon.jsに新しいPhysicsの実装を無料で提供しました。
1998年の創業以来、Havokは市場で最も大きなゲームに対応する製品を生み出してきました。Havokは、AAAゲーム開発において最も広く使用されている物理エンジンの1つであり、その最も高度な機能の多くが、Babylon.js 6.0で利用可能となりました。
Havokのノウハウは、Babylon.jsのPhysics APIを全面的に見直すとともに、新しいWASMプラグインを通じてBabylon.jsに導入されました。このプラグインとBabylon.js Physics APIの全面的な見直しにより、新しい物理演算機能と最大20倍速のパフォーマンスを実現しています。
デモはこちらから
Havok Physics の詳細はこちらから:
新しいPhysics APIの詳細はこちらから
パフォーマンス優先モード
パワーとパフォーマンスはBabylon.jsの核であり、バージョン6.0では、最大50倍の高速レンダリングとパフォーマンスを実現する新しいパフォーマンス優先モードによってパフォーマンスが大きく向上しています。
この新しいモードは、Backwards Compatibility Mode、Intermediate Mode、Aggressive Modeのいずれかを選択することで、開発者がエクスペリエンスのパフォーマンスを上げるための新しいコントロールを提供します。これら3つの異なるモードを選択することにより、さまざまなレベルの機能と柔軟性を得ることができます。自分に合ったパフォーマンスを選択することが可能です。
詳しくはこちらから
流体レンダリング
Babylon.js 6.0では、流体をレンダリングができるようになりました。
詳しくはこちらから
Screen Space Reflections v2
スクリーンスペースの反射モデルが完全に更新され、可能な限り高いパフォーマンスレベルで、シーン全体で美しい反射をレンダリングできるようになりました。
詳しくはこちらから
テクスチャーデカール
新しいテクスチャーデカール機能が追加され、マテリアルを扱う際の柔軟性が向上しました。テクスチャーデカールでは、メッシュのUV空間を通してデカールを投影し、オブジェクトのマテリアルのテクスチャーの上に重ね合わせることができます。
詳しくはこちらから
ノードマテリアルレイマーチング
Babylon.jsで最も使用されている機能の1つが、Node Materialです。この高度なマテリアルの種類により、1行のコードも書かずに、複雑でインタラクティブなシェーダーを作成することができます。
Babylon.js 6.0では、これまで以上に強力にするために多くの機能拡張が行われ、レイマーチングを含む、より高度な3Dグラフィックス技術が組み込まれています。
新しいNode Materialの変更を使用したRay Marchingの概念実証は、こちらでご確認ください
以下の画像はは、このBabylon.jsの進化を利用したレイマーチングの独自の実装を披露した、Adobeのデモとなります。
ノードマテリアルの三平面(Tri-Planar)と二平面(Bi-Planar)の投影ノード
Node Materialに2つの新しいノード、Tri-planar と Bi-planar Projectionが追加されました。
新しいTri-planar Projectionノードは、メッシュのUVに関係なく、3Dオブジェクトにテクスチャを投影することができます。これは、3つの別々の2Dテクスチャ投影(各軸に1つずつ)を使用し、それらをブレンドして継ぎ目のないマテリアルを作成するものです。簡単に言うと、メッシュのUVレイアウトを考慮しないテクスチャをメッシュにマッピングする高度な方法です。
Tri-planarノードに加え、Bi-planarノードも追加されました。これは、3つのテクスチャの代わりに2つの2Dテクスチャを使用して、GPUの計算を節約し、最終的にパフォーマンスへの影響を小さくしてシームレスな テクスチャを実現します。
詳しくはこちらから
GUIエディタ v1
Babylon.js 5.0では、GUI Editor Betaが導入され、Babylonシーンの複雑なGUIデザインを、よりシンプルに作成することができるようになりました。Babylon.js 6.0では、GUIエディターは、バージョン1のリリースにより、正式にベータ版から脱却しました。
このバージョンは、安定性の向上とバグフィックスでベータ版をベースにしていますが、最も重要なのは、Babylon.jsプレイグラウンドとの緊密な接続を導入していることです。GUIエディターで変更を加えると、実際のシーンで即座に更新されるのを見ることができます。
Gui Editorの試用はこちらから
詳しくはこちらから
FigmaからBabylon.jsへのコミュニティ拡張機能
ames Simonson氏による、FigmaのGUIデザインをBabylon.jsのシーンに直接エクスポートできる、全く新しいコミュニティ拡張機能が提供されました。
詳しくはこちらから
アクセシビリティ スクリーンリーダー対応
Babylon.jsのコアとなるシーンツリーが、スクリーンリーダーに見えるようになりました。これにより、お気に入りのアクセシビリティ・スクリーンリーダーが、シーン要素やテキストをナレーションして、ユーザーにシーンを説明できるようになりました。
OS/ブラウザのスクリーンリーダーを有効にして、このプレイグラウンドを開くと、自分で試すことができます。
詳しくはこちらから
新しいglTFエクステンションのサポート
新しいglTFエクステンションKHR_materials_iridescenceおよびKHR_animation_pointer glTFエクステンションをサポートしました。
デモを見る( KHR_materials_iridescence / KHR_animation_pointer )
ドキュメントの再編成
Babylonのように機能が豊富で高度なプラットフォームでは、人々がその使い方を学ぶのを助けることが、決定的に重要です。過去1年間、Babylon.js 6.0でBabylon.jsドキュメントの構成を再構築するためにコミュニティの声に耳を傾け、よりアクセスしやすく再構築されました。新しいドキュメントは、Babylon.jsとその機能セットについて最初に学びたい人、Babylon.jsを既存のWebアプリケーションに統合する方法を最初に理解したい人という2つの中心的な学習経路で構成されています。
このドキュメントの再構築は、今年初めに癌との闘いで亡くなった、献身的な教師であり情熱的なBabylon.jsコミュニティのメンバーJohn King氏により行われたとのことです。ご冥福をお祈りします。
ダウンロード
Babylon.js は、Apache License 2.0の下で配布されています。
コメント