2024年10月9日(現地時間) – オープンソースのリアルタイム3D開発エンジン Open 3D Engine の最新アップデート バージョン 24.09 がリリースされました。
新機能ハイライト
この最新バージョンは、ユーザーからのフィードバックに基づいたパフォーマンスとユーザーエクスペリエンスの向上に重点を置いたものとなっています。
何百ものバグ修正、iOSおよびAndroidデバイスで最大400%という大幅なパフォーマンス向上など、モバイルの強化が盛り込まれています。さらに、パフォーマンスの改善、レンダリング品質をの向上、メモリ使用量の最適化により、全体的な開発者体験が向上しています。また、AR/VRの実装においても大きな進歩を遂げています。
また、このバージョンの中心となっている以上のレンダリングのアップデートに加えて、シミュレーションのユースケースでは、Georeferenceコンポーネント、Gazeboデータの解析機能、ROS2FrameComponentが追加され、シミュレーションのパフォーマンスも向上しています。
主な改良点
- クイックスタート 「Script Only(スクリプトのみ) 」プロジェクト:C++コンパイラを必要とせず、O3DEインストーラバージョンを使用して、スクリプトキャンバスとLuaを使用してプロジェクトを構築できます。
- モバイルおよびAR/VRデバイスでのメモリ使用に関する多くの最適化
- モバイルパフォーマンスの向上:iOS、Android、AR/VR/XRデバイスで最大400%向上
- PhysX 4と5が別々のジェムに分割され、インストーラービルドを使用している場合でも、PhysXバージョンを簡単に切り替えられるようになりました。
- iOS、Android、Linux、Windows用のフルエクスポートサポートとともに、プロジェクトエクスポートUIが追加されました。コマンドラインを使用する必要がなくなりました。
- 使用するアセットに応じて、ヘッドレスサーバーのサイズを最大90%削減するオプションが追加されました。
- モバイル専用のレンダリングパイプラインが追加され、ユーザーは必要に応じて機能を簡単に有効化/無効化できるようになりました。
- デバイスごとに品質設定を制御する機能の追加:CPU、GPU、メモリのデバイス仕様に基づき、デフォルトで3つのパフォーマンスレベル(低、中、高)があります。
- Shader variants(シェーダーバリアント)の追加:設定すると、レンダラーが自動的に、与えられたレンダリングの必要性に対して最もパフォーマンスの高いシェーダーを利用できるようになります。
- エンティティシルエット(Entity Silhouette)機能の追加
- ユーザーが選択したLLM(AIモデル)と連携できるフレームワークの追加。
- CPU使用率が高いときにネットワークのハートビートパケットが送信されるようになり、タイムアウトによるネットワークの切断を回避できるようになりました。
レンダリングの新機能
レンダリングの品質は、特にリソースが限られているモバイルプラットフォームにおいて、ゲームのビジュアル忠実度とパフォーマンスの両方に影響を与える重要な要素です。今回のリリースで、開発チームのひとつは、次の2つの主要な目標に焦点を当てました。
- モバイルプラットフォーム向けに高度に最適化された新しいレンダリングパイプラインを作成すること
- VRコンテンツに大きく役立つ新機能と改善点を追加すること
最終的な結果として、2Dと3Dの両方のゲームにおいて、より効率的で全体的なビジュアル体験の向上が実現されました。
次の動画では、レンダー開発者の一人であるSidharth Moudgil氏が、24.09.0のレンダーアップデートに含まれる改善と強化を紹介しています。
レンダリングに関するアップデートリスト
レンダリングに関するアップデートリストは以下の通りです。
モバイル レンダリング パイプライン
タイル GPU 用に構築された、非常にパフォーマンスの高いモバイルレンダリングパイプラインのサポートが追加されました。
- モバイル向けに最適化された BRDF:モバイル向けに最適化された新しい BRDF と、解析的な Env IBL 近似のサポートが追加されました。
- シンプルスポットライトに Gobo (テクスチャ投影) のサポートの追加。
- デカールの CPU カリングの追加。
- シンプルなスポットライトのシャドウサポートが追加。
- 新しいパラメータ、デカールカラーとデカール カラーファクターの追加:これらのパラメータは、最終的に計算されたデカールカラーを調整するのに役立ちます。
- シンプル ポイントライト、シンプルスポット ライト、デカールのシェーダーオプションが追加されました。
- シンプル ポイントライトとシンプル パンクチュアル ライトの CPU カリングのサポートが追加されました。
- モバイルパイプライン内での遅延フォグ(deferred fog)のサポートが追加されました。
- 指数(exponential)および指数2乗(exponential squared)フォグモードのサポートが追加されました。
- 指向性ライト シャドウの PCF フィルタリング内のシェーダー オプションのサポートが追加されました。
- モバイル レンダリング パイプラインにシルエット(Silhouette)サポートが追加されました。
- モバイル レンダリング パイプラインにパーティクル(particles)サポートが追加されました。
- モバイルパイプライン内でのpostFXエフェクトのサポートが追加されました。
- モバイル レンダリング パイプラインのさまざまな half float の最適化。
- さまざまなモバイル デバイスのレンダースケールサポートと関連する修正が追加されました。
レンダリングの追加/改善
すべてのレンダリング パイプラインのさまざまなレンダリングの改善と、Atom 全般の改善は以下の通りです。
- エンジンのRHIおよびRPIレイヤーにおけるマルチGPUサポートのための初期段階の基礎構築:この作業の多くには、Multi-GPU オブジェクトの初期配管や、デバイス間でリソースを転送する際の基本的な GPU-GPU 同期の初期サポートが含まれます。
- シルエット(Silhouette)機能:メッシュに適用すると、アウトラインと塗りつぶされたシルエットをさまざまなモード (常時、X 線、表示、なし) で描画するシルエット マテリアル タイプのサポートが追加されました。
- BasePBR、StandardPBR、EnhancedPBR マテリアル タイプとマテリアル キャンバスに頂点カラーのサポートが追加されました。
- 3 つの新しいトーン マッピング モード (AcesFitted、AcesFilmic、Filmic) が追加されました。モバイル レンダリング パイプラインのデフォルトは Filmic モードです。
- グラフィック品質の 4 つのレベル (低、中、高、非常に高) の Android および iOS レジストリ設定が追加。
- DX12 および Vulkan RHI バックエンド内のジオメトリシェーダーのサポートが追加されました。
- DX12 および Vulkan RHI バックエンド内の交差(intersection)シェーダーのサポートが追加されました。
- ビューフラストラム(view frustum)外のシャドウカリング:表示されないすべてのシャドウの不要な作業をスキップすることでパフォーマンスが向上します。これは、処理を必要とするライトの量を制限するために、CPU でライトをカリングすることで実現されます。
- r_antiAliasing – CVar r_antiAliasing を介してアンチエイリアシング モードを切り替えるサポートが追加されました。
- 照明チャンネルのサポートの追加:この機能により、ライトの種類と照明可能なオブジェクトごとに 3 つのチャンネルが導入されます。同じチャンネル内のオブジェクトとライトはグループ化され、その結果、グループ内のライトは同じグループ内のオブジェクトに影響を与えます。デフォルトの動作は、すべてのライトとオブジェクトがチャンネル 0 にあるため、照明を操作する現在の方法は変更されませんが、アーティストがどのオブジェクトにどのライトを当てるかを柔軟に制御できるオプションがさらに提供されます。
- temporal anti aliasing (TAA)と同様に、ContrastAdaptiveSharpeningパスの有効/無効を設定。
- テクスチャサンプリング関数にカスタマイズされたデリバティブ(derivatives)を渡すことを可能にするサポートの追加。
- GPU モデルのデバイス属性が追加:これにより、グラフィック品質層に対してより優れたデバイス フィルタリングを提供できるようになります。
- メッシュインスタンス化が有効な場合、メッシュシェーダーオプションごとのサポートが追加されました。これにより、メッシュインスタンシングが有効なシーンに最適化されたシェーダーバリアントを構築できるようになりました。
- 低レベルの同期を助けるために、Vulkan RHI内でTimeline Semaphoreのサポートが追加されました。
- NULLレンダラー用のゲーム ランチャーのネイティブ ウィンドウの作成を無効にする機能が追加されました。
VR/OpenXR の改善
- OpenXR 互換デバイスの I/O は、アクション (I/O) とスペース (ワールド変換アンカー) を管理するための新しいデータ駆動型 API (Lua および C++) によって全面的に改良されました。
- [Android + OpenXR] ProjectManager に統合された新しい Android プロジェクト ジェネレーター UI:Android でプロジェクトをコンパイルしてデプロイするために必要なすべてのファイルの生成を容易にします。オプションで、Meta Quest ファミリのデバイス用に Android プロジェクトを生成することもできます。デバイス上での開発者の反復時間が、約 1 分 30 秒から 10 秒未満に改善されました。
Atom メモリの最適化
- ロードされたアセットに関する情報をダンプするためのサポートが追加されました。
- さまざまな Metal RHI 関連のメモリ最適化。
- ModelAssets が所有する BufferAssets を解放するためのサポートが追加されました。これにより、メッシュ関連のメモリが GPU に転送されると、CPU 上でそのメモリを解放できるようになります。
- RayTracing バッファのリング バッファ サポート。
また、今後数週間にわたり、これらの主要機能のいくつかについて技術的な詳細が解説されるとのことです。
ダウンロード
O3DEは、モジュール式のオープンソースでクロスプラットフォームな3Dエンジンです。
商用での使用料や義務はなく、Apache 2.0ライセンスで利用可能です。
O3DE最新版のダウンロードはこちらから
Unlocking New Levels of Performance: A Deep Dive into Our Latest Rendering Updates
コメント