
新しいEvergineランタイムのサポート

Evergineの新しい安定版リリースに伴い、エンジンの機能が拡張され、より多様なファイル形式のインポートと操作が可能になりました。
このアップデートの一環として、新しいEvergine.Runtimesライブラリと、新しいサンプルプロジェクト「Evergine Runtime Lab」が追加されました。
このバージョンには、以下のNuGetパッケージが含まれています:
- Evergine.Runtimes.OBJ
- Evergine.Runtimes.USD
- Evergine.Runtimes.IFC
- Evergine.Runtimes.CAD
このリリースの目標は、OBJやUSDなどの新しい3Dモデル形式の統合を容易にすること、そしてIFCやCADのような産業および建築デザインに特化した形式の統合を容易にすることです。
Evergine.Runtimes.OBJ
これまで、EvergineはGLB形式とSTL形式をサポートしていました。
新しいEvergine.Runtimes.OBJライブラリの追加により、業界で最も広く使用されている3D形式の一つであるOBJのサポートが追加され、エンジンの読み込み機能が拡張されました。

Evergine.Runtimes.OBJの主な機能
- 単純なジオメトリ(三角形と四角形)のサポート。
- 基本およびPBRマテリアルとの互換性。
- PNG、JPG、BMP形式のテクスチャのサポート。
- 点群との互換性。
Evergine.Runtimes.USD

とは?
Universal Scene Description (USD)は、Pixarによって開発された、複雑な3Dシーンを記述、交換、操作するためのオープンフォーマットおよび技術です。
これは単なるファイル形式ではなく、大規模プロジェクトで3Dコンテンツを管理するためのモジュール式でスケーラブルなフレームワークでもあります。
USDの主な特徴
- 統一され相互接続されたシーン: 共通のシーン表現を提供し、異なるソースからのデータ統合を容易にします。
- 効率性とスケーラビリティ: パフォーマンスを犠牲にすることなく、非常に大規模なシーンを処理するように設計されています。
- 柔軟性と拡張性: モデル、テクスチャ、ライティング、アニメーションなど、幅広い3Dデータに対応します。
- 相互運用性: Maya、Houdini、Blenderをはじめ、業界で広く使われているさまざまなツールと互換性があります。
その利点から、「Alliance for OpenUSD」が設立されました。これは、Pixar、Apple、Adobe、NVIDIA、Autodeskなどの企業が、このフォーマットの推進と発展に取り組むイニシアチブです。
現在、USDはこれらの企業のソフトウェアにおける3Dプロジェクトの主要フォーマットとなっており、例えばNVIDIA Omniverseや、Appleの事例では、デバイス向けの拡張現実(AR)コンテンツに使用されています。
業界全体でUSDの採用が進む中、Evergineチームは革新とエンジンの継続的な改善に取り組み続けており、Evergineがこの形式をリアルタイムで読み込めるようにする新しいランタイムを組み込みました。
Evergine.Runtimes.USDの機能
USDファイル読み込みのためのさまざまなAPIを調査した結果、OpenUSDを選択しました。これはPixarによって開発され、Pythonで記述された公式APIです。
Evergine.Runtimes.USDは、CSnakeを使用してusd-core(OpenUSD)モジュールを含むPython環境を生成し、.NET内でのリアルタイムUSDファイル読み込みを可能にします。
Evergine.Runtimes.USDの主な機能
- すべてのUSD形式タイプに対応: .usd、.usdz、.usda、.usdc。
- 単純なジオメトリ(三角形)と複雑なジオメトリ(四角形、Nゴン)に対応。
- 基本およびPBRマテリアルに対応。
- PNG、JPG、BMP形式のテクスチャに対応。
Evergine.Runtimes.IFC
新しいEvergine.Runtimes.IFCライブラリは、IFCモデルをランタイムで動的に読み込むための強力で効率的なソリューションを提供します。
リアルタイム3Dアプリケーション向けに設計されており、Evergineで開発されたプロジェクトにシームレスに統合されます。

とは?
Industry Foundation Classes(IFC)は、BIM(ビルディング インフォメーション モデリング)データの交換と共有のための、オープンでベンダーに依存しない標準です。
IFCは、建物情報モデル内のエンティティ、属性、関係を記述する中立的なデータスキーマを定義し、異なるアプリケーションが相互運用可能な方法でデータをインポートおよびエクスポートできるようにします。
IFCの主な特徴
- 相互運用性: BIMワークフロー内の共通言語として機能し、ある段階や分野で生成された情報を、データの損失や曖昧さなしに他の関係者やツールが利用できるようにします。
- コラボレーション: 建築家、エンジニア、施工者がライブモデル上で作業し、変更がビュー、図面、予算に自動的に反映されることを可能にします。
- 標準化: BIMがプロセスを定義するのに対し、IFCはシステム間で情報を構造化し転送する技術標準を提供します。IFCがなければ、BIMモデルのコラボレーション範囲と一貫性は大幅に制限されます。
IFC標準のこれらの特性を考慮すると、BIM方法論におけるその役割は、プロジェクトのライフサイクル全体を通じて、関与するさまざまな分野間の相互運用性とコラボレーションを確保するために不可欠です。
現在、IFCは主要な建築・エンジニアリングソフトウェアで広く使用されており、例えばRevitやArchiCADなどでは、モデルと建設データを交換するための共通フォーマットとして機能しています。
ネイティブIFCサポートの追加により、EvergineはBIMワークフローをリアルタイム3D環境に統合するための重要な一歩を踏み出します。
産業用アプリケーション開発のために特別に設計されたエンジンとして、この強化は重要なマイルストーンであり、開発者や業界の専門家が、中間変換やデータ損失なしに、BIMモデルをエンジン内で直接視覚化、操作、探索することを可能にします。
Evergine.Runtimes.IFCの機能
Evergine.Runtimes.IFCの開発中、EvergineチームはIFCファイルの読み取りを標準化するためにさまざまなライブラリを検討しました。
いくつかのオプションを評価した後、チームはXBimGeometryを選択しました。これは、IFCファイルを読み取り処理し、Evergineが解釈可能なジオメトリを持つデータ構造に変換することを可能にするライブラリです。
Evergine.Runtimes.IFCの主な機能
- IFC2x3およびIFC4に対応。
- CADソリッドと3Dメッシュのレンダリング。
- 頂点カラーによるマテリアルのレンダリング。
- 半透明マテリアルのレンダリング。
- スムーズ法線とハード法線の生成。
- マテリアルごとのジオメトリの効率的なバッチ処理。
Evergine.Runtimes.CAD
IFCファイル読み込みライブラリに加えて、新しいローダーEvergine.Runtimes.CADを導入しました。これにより、Evergineで構築されたプロジェクト内でCADファイル(DXFおよびDWG)のリアルタイム読み込みが可能になります。

CAD、DXF、DWGファイルとは?
CADファイルには、エンジニアリングや建築における技術図面やモデルに使用されるベクタージオメトリ、レイヤー、メタデータが含まれています。
- DWGはAutodeskの独自のバイナリ形式であり、完全な図面を高忠実度で保存するために広く使用されています。
- DXF(Drawing Exchange Format)はAutodeskの交換形式で、通常はASCII(バイナリ形式も利用可能)であり、異なるアプリケーション間でデータを共有するために設計されています。
どちらの形式も線分、円弧、テキスト、ブロック、ハッチングなどのエンティティを格納し、設計、製造、技術文書作成で広く利用されています。
Evergine.Runtimes.CADの機能
いくつかの選択肢を分析した後、チームはCADファイルの読み書きのためのC#ライブラリであるACadSharpを選択しました。
ACadSharpは、幅広いDXFおよびDWGのバージョンをサポートし、シンプルなインターフェース、高いパフォーマンス、堅牢性が際立っており、これらはEvergineにおけるCADファイル読み込みを標準化する上で重要な要素です。
Evergine.Runtimes.CADの主な機能
- DXFサポート: R12からR2024までのバージョン(ASCIIおよびバイナリ)。
- DWGサポート: R14からR2024までのバージョン。
- CADドキュメントを構成する主要な2D幾何構造の表現。
サンプル「Evergine Runtime Labs」
各Evergineランタイムの可能性を示すために、Evergine Launcherから直接ダウンロード可能なサンプルプロジェクトEvergine Runtime Labを開発しました。
この例では、Evergineランタイムがサポートするすべての形式の読み込みと可視化を迅速かつ簡単にテストできます。

ドキュメント
これらの各ランタイムの詳細な技術ドキュメントと実装情報については、Evergine公式を参照してください。
まとめ
Evergineでは、製品の継続的な改善に取り組み続けており、多様な3D形式との互換性を拡大しています。
今回のアップデートでは、OBJのようなクラシックな形式、USDのような新しい標準、IFCやCADのような産業および建築設計に特化した形式のサポートを追加しました。
私たちの目標は、3D業界の現在のニーズに合わせたより柔軟で強力かつモダンな環境を提供することで、開発者の作業を容易にすることです。