2022年9月28日

Evergineの新しいメジャーリリースを発表

本日、Evergine 2022.9.28を発表しました。これは、年間2回のメジャーリリースというロードマップに沿った、今年2回目のメジャーリリースです。このメジャーリリースでは、お客様からのフィードバックに基づき、多数の新機能と改善を追加しました。

新着情報

今回のメジャーリリースでは、バグ修正とパフォーマンス向上に注力し、新しい数学ハードウェアアクセラレーションAPIなどの大きな進歩を遂げました。また、新しい3Dテキストエディタ、MRTKコントロールのQuest対応やハンドトラッキングといった生産性向上機能も追加しました。ARCore拡張機能や、ImPlot、ImNodes、ImGuizmoライブラリを含むImGui拡張機能などの新しいツールも開発し、Evergine Studioに追加されました。最後に、ドキュメントのリファレンスもさらに改善しました。これらの変更をぜひお楽しみください。

Evergineはこちらからダウンロードできます:

主なハイライト

新しいパーティクルエディタ

Evergineのパーティクルシステムは、通常メッシュやスプライトでは表現が難しいエフェクトのレンダリングに使用されますが、これまでのバージョンではコードで設定する必要がありました。この新しいメジャーリリースでは、この複雑なパーティクルシステムがサポートするすべてのパラメータを容易に操作できる新しいツールをEvergine Studio内に導入します。

新しいパーティクルシステムエディタと機能についての詳細はこちらをご覧ください。

ARCore統合

このバージョンでモバイル開発者向けに追加された最も興味深い機能の一つが、ARMobile拡張機能内でのARCoreサポートです。これにより、ARCore APIにアクセスして空間内のデバイスの動きを追跡し、カメラ画像上に3Dオブジェクトをレンダリングできるようになります。アプリケーションは、光源推定(ライトエスティメーション)やフェイストラッキング機能にもアクセスできます。

新しいARMobile拡張機能の詳細についてはこちらをご覧ください。

SIMDベースのMath(数値演算)

新しいEvergineバージョンでは、Evergine.Mathematicsライブラリのパフォーマンスが向上しました。NET6上の新しいSIMD API命令サポートを活用し、CPUメーカーが定義するハードウェアアクセラレーション命令を使用できるようになりました。新しいAPIは、ハードウェアがこれらの拡張機能をサポートしているか確認して使用し、サポートしていない場合は下位互換性パスを使用します。x64およびx86アーキテクチャではSSEおよびAVXベクターを、Arm64アーキテクチャではAdvSIMDを使用できます。この結果、Math4x4、Matrix3x3、Quaternion、Vector4演算で3~4倍のパフォーマンス向上を達成しました。

SIMDベースの新しいMath(数値演算)機能の詳細についてはこちらをご覧ください。

MRTK on Quest

複数の3Dコントロールを含む当社のMixed Reality Toolkit(MRTK)は、HoloLens 2での複合現実アプリケーション作成に役立ちますが、今回Meta Questデバイスにも対応したため、このプラットフォーム上で3Dアプリケーションを作成し、MR/VRデバイス間でコードを共有できるようになりました。Questへの展開が高速なため、MRアプリケーションの迅速なプロトタイピングに役立ちます。

Quest ハンドトラッキング対応 

OpenXR 統合にハンドトラッキング機能が追加されました。XR アプリケーションにおけるハンドトラッキングは、ユーザーが自身の手を使って仮想オブジェクトや環境と対話することを可能にします。これは、従来のハンドコントローラーを必要とせずに仮想シーンと対話する新しい方法です。 

Meta Quest デバイス がこの機能から最大の恩恵を受けるでしょう。 

Quest ハンドトラッキング対応の詳細は こちら をご覧ください。

Evergineのハンドトラッキングに関する画像

新しいフォントとテキスト対応 

このメジャーバージョンでは、Evergine Studio 内で 3D テキスト用の新しいアセットタイプとエディターツールを追加しました。この新しい 3D テキストは GPU によってハードウェアアクセラレーションされ、マルチチャンネル符号付き距離フィールド技術を使用して、画面上のサイズに応じたエイリアシング効果を低減します。新しいフォントエディターツールでは、TTF ファイルを使用して新しいフォントと、3D テキストで使用できる UTF-8 または ASCII エンコーディングの文字セットを定義できます。 

新しい 3D テキストとフォントツールの詳細は こちら をご覧ください。

Evergineのフォントに関する画像

ImGui、ImPlot、ImNodes、ImGuizmo 

今年最初のリリースで、低レベル API に ImGui ライブラリのサポートを導入しました。今回のリリースでは、新しい ImGui 拡張機能を作成し、ビヘイビアを使用して高レベル API から簡単に利用できるようにする ImGuiManager を含めました。また、ImGui 上で最も興味深いコンポーネントとウィジェットのライブラリ 3 つに対するサポートも追加しました。 

  • ImGuizmo には、WYSIWYG エディターの迅速なプロトタイピングに役立つ 3D ウィジェットが含まれています。
  • ImPlot は、GPU を使用して基本的なグラフから高度なグラフまでをレンダリングするための完全なライブラリです。
  • ImNodes は、ノードグラフエディターを作成するためのシンプルなインターフェースを提供することを目的としています。

 この新しい拡張機能の詳細は こちら をご覧ください。

ビジュアルな SceneManager 設定 

これまで SceneManager はコードで設定する必要がありましたが、このバージョンでは Studio 内で設定する新しい方法をリリースします。Evergine Studio でエンティティ詳細領域に移動すると、「Scene Managers」という新しいタブが表示されます。そこで、AssetSceneManager、BehaviorManager、ShadowMapManager などの組み込みマネージャーのパラメーターや、Visual Studio で作成したカスタム SceneManager を編集できます。 

モデルの詳細度 (LOD) 

詳細度 (LOD) は、Evergine が遠くのモデルをレンダリングするために必要な GPU 操作の数を削減する技術です。この技術により、Evergine はカメラからの距離に基づいて、エンティティに対してレンダリングするモデルの複雑さを軽減できます。外部の 3D モデリングアプリケーションで LOD レベルを設定することが可能で、モデルをシーンにドラッグ&ドロップすると、Evergine が必要なエンティティとコンポーネントを自動的に作成・設定します。階層ツリー内の表現は、定義された LOD レベルごとに 1 つの子エンティティを持つ親エンティティになります。親エンティティは LODGroup コンポーネントに含まれている必要があり、これによりカメラからの距離に応じてこのモデルを正しくレンダリングするためのすべてのパラメーターを設定できます。各子エンティティは、各レベルを定義するために LODGroup が必要とする情報を持つ LODEntry コンポーネントを持ちます。 

WebXR 実験的テンプレート 

WebXR W3C 提案 は現在草案段階ですが、バージョン 79 以降の Chrome にすでに実装されています。これは現在、PC では Chrome または Firefox を使用して、モバイルおよび Meta Quest プラットフォームでは Chrome ブラウザを使用してサポートされており、chrome://flags でフラグを追加することで有効にできます。 

Evergine で WebXR AR テクノロジー + WebGL の使用を開始するための新しいプロジェクトテンプレートを追加しました。Web プラットフォーム向けのこの興味深い新しい標準を引き続き追跡していきます。 

Windows フォームコントロールへのレンダリング 

この新しいリリースでは、Evergine を Windows フォームウィンドウ全体にレンダリングするだけでなく、カスタムコントロールをレンダリングターゲットとして使用することも可能になりました。これにより、Evergine サーフェスを他の Windows フォームコントロールと組み合わせることができます。 

Evergine をユーザーコントロールとして使用するには、FormsSurface を使用してレンダリングコントロールとして登録するだけです。 

var surface = windowsSystem.CreateSurface(0, 0) as FormsSurface; 

window.SetEvergineControl(surface.NativeControl); 

windowsSystem.RegisterLoopThreadControl(surface.NativeControl); 

window.Show(); 

 

詳細については、UIWindowsSystemDemo をご覧ください。 

その他のドキュメント 

ドキュメントリファレンスサイトの改善を継続し、新たに追加された拡張機能であるImGuiとARMobileに関する情報を追加しました。また、XRPlatformのドキュメントに新機能に関する記述を拡充したほか、オーディオと物理演算(Physics)の扱い方を説明する2つの大きなセクションを新設しました。オーディオはエンジンの中核をなす部分であり、プロジェクトにサウンドやエフェクトを追加するためのワークフロー全体を説明しています。また、新しい物理演算セクションでは、物理エンジンが提供する可能性について詳細に解説しています。

すべての変更点はhttps://docs.evergine.com/でご確認いただけます。

アップグレードガイド

LODをサポートするための変更を行ったため、この種のアセットを必要とするモデルは再エクスポートが必要です。既存のプロジェクトをアップデートする予定がある場合は、このエクスポート処理を強制するために、.evergineフォルダ(Evergineプロジェクトファイルと同じ階層にあります)を削除してください。

今後の予定

今年中にさらにマイナーバージョンをリリースする予定ですが、次のメジャーバージョンは2023年を予定しています。すでに製品でEvergineをご利用いただいている企業様や、これから導入される企業様と緊密に連携して開発を進めてまいります。新しい産業用ファイル形式、新しいプラットフォーム、新しいテクノロジーのサポートに取り組んでいます。そして最後に、企業様がEvergineベースの新しい3D製品を開発できるよう、新しい標準規格をサポートすることでWebプラットフォームの改善を継続します。

私たちがこれを書くのを楽しんだのと同じくらい、皆様にも楽しんでお読みいただければ幸いです。

それでは、良い一日をお過ごしください。

Javier canton
著者
Javier Cantón
Plain Concepts Research