2026年5月26日

可能性の世界:Evergine.Cesium アドオン紹介

はじめに

現代のソフトウェア開発、特に産業およびエンタープライズ分野では、データを現実世界のコンテキストで可視化する必要性が急速に高まっています。大陸全体の資産追跡からスマートシティインフラの管理まで、アプリケーションは地理的な参照枠をますます必要としています。しかし、高性能でインタラクティブな3D地球儀をゼロから構築することは、技術的に大きな挑戦です。

私たちは、開発者の皆様がこの課題に取り組むのを支援できることを嬉しく思います。最新のEvergineリリースの一部として、Evergine.Cesiumアドオンを導入します。私たちの目標は、Evergineエコシステムに惑星規模のレンダリングをもたらす、堅牢で十分に統合されたソリューションを提供することです。

この新しいアドオンにより、詳細なデジタルツイン、プロフェッショナルなトレーニングシミュレーター、インタラクティブなデータ可視化ツールなど、グローバルな視点を必要とするアプリケーションを構築できます。これは、皆様が既に熟知しているC#および.NET環境内でシームレスに動作するように設計された、強力な新機能です。

デジタルアースレンダリングの課題

3D地球儀をアプリケーションに統合することは、簡単な作業ではありません。技術的なハードルは高く多面的であり、多くの場合、専門的な知識が必要です。

第一に、データ量の膨大さです。地形、衛星画像、3D建物を含む地球の高解像度モデルは、簡単にテラバイト単位になります。これほどの情報を一度にメモリにロードすることは現実的ではありません。そのため、堅牢なストリーミングおよび詳細度(LOD)システムが不可欠です。このシステムは、ユーザーが現在見ているデータのみをインテリジェントに取得し、カメラの位置に基づいて品質を動的に調整する必要があります。

第二に、開発者は複雑な座標系変換を処理しなければなりません。特定の現実世界の場所にオブジェクトを正確に配置するには、地理座標(緯度、経度、高度)とエンジンの3Dデカルト座標系との間の変換が必要です。これには、地球の曲率を考慮した高度な数学が含まれ、ユーザーが地球上をパンおよびズームする際に、オブジェクトが正しく固定されたままであることを保証します。

最後に、これらすべてを、安定したレンダリングパフォーマンスを維持しながら達成しなければなりません。新しい地図セクションの絶え間ないロード、アンロード、レンダリングはアプリケーションに大きな負荷をかけ、最適化が不十分なシステムは、すぐに遅く応答性の低いユーザーエクスペリエンスにつながる可能性があります。これらの複合的な課題は、多くの場合、アプリケーションのコア機能から多大な開発リソースを逸らしてしまいます。

Evergine.Cesiumとは?

Evergine.Cesiumは、グローバルレンダリングの課題に対する包括的なソリューションを提供するファーストパーティアドオンです。これは、EvergineアプリケーションとCesiumプラットフォームの豊富なエコシステムとの間の堅牢な架け橋として機能するように設計されています。単なるレンダラーではなく、地理空間データパイプライン全体を処理するフル機能の統合です。

この強力な機能を実現するために、アドオンは洗練されたアーキテクチャを編成します。3D Tiles形式のような3D地理空間コンテンツに固有の複雑な数学とデータ構造を処理する専門的な能力のために、オープンソースのC++ライブラリであるCesium Nativeを活用しています。当社のエンジニアリング努力は、このコア処理をEvergine独自の強力なレンダリングエンジンと深く統合することに焦点を当ててきました。Evergine.Cesiumはインテリジェントな架け橋として機能し、シーングラフへのデータフローを管理し、メモリマネージャーと連携し、最終的に美しいビジュアルをレンダリングします。この相乗的なアプローチは、エンジンの自然な拡張のように感じられる、堅牢で高性能なアドオンを提供し、すべてシンプルでありながら強力なC# APIを通じて公開されます。

コア機能

Evergine.Cesiumは、動的でインタラクティブ、かつデータ駆動型の地理空間アプリケーションを作成するために設計された、豊富な機能セットを提供します。

  • 高性能な地球儀レンダリング: アドオンとEvergineのレンダリングパイプラインとの深い統合により、コア地理空間エンジンからの高速出力が、エンドユーザーにとってスムーズで応答性の高いエクスペリエンスにつながります。
  • シームレスなデータ統合: 厳選されたグローバル3DコンテンツのソースであるCesium ionに直接接続し、世界の地形、高解像度の衛星画像、3D都市モデルに即座にアクセスできます。
  • 3D Tiles標準に準拠: このアドオンは、大規模で異種混合の3D地理空間データセットをストリーミングするために特別に設計されたオープン標準であるOGC 3D Tiles形式を中心に構築されています。
  • 組み込みのジオコーディングサービス: Azure Mapsとの統合サポートにより、ジオコーディング機能を簡単に実装できます。ユーザーは現実世界の住所や場所を検索し、カメラを地球上のその座標に直接フライさせることができます。
  • 動的で正確な太陽光照明: このアドオンには、現実的な照明条件をシミュレートするためのコンポーネントが含まれています。時刻や地球上のカメラ位置に基づいて位置を正確に変化させる動的な太陽を作成でき、シミュレーションにリアリズムの層を追加します。
  • 直感的なワールドナビゲーション: 専用のワールドカメラコントローラーが提供され、球体環境をナビゲートするための直感的な「フライトゥ」体験を提供し、ユーザーがシーンを容易に探索できるようにします。

表示を超えて: 地球上へのコンテンツ配置

動的なワールドグローブは強力な基盤ですが、その真の価値は、それが独自のデータや作成物のためのキャンバスとなったときに解放されます。結局のところ、デジタルツインは単なる地図ではなく、固有のアセットと情報で満たされた、現実世界環境の生きた表現なのです。

これを認識し、私たちはEvergine.Cesiumに、地理的な精度で独自の3Dモデルを地球上に配置するための、シンプルでコンポーネントベースのワークフローを装備しました。ジオリファレンスとして知られるこのプロセスは、アドオン内の直感的なツールによって処理されます。

開発者にとって、ワークフローはシンプルです。Evergineプロジェクトにインポートされた任意の3Dモデルを、専用コンポーネントを追加することで、正確な現実世界の位置に固定できます。緯度、経度、高度を指定するだけで、Evergine.Cesiumが、地球の湾曲した表面上にオブジェクトを正しく配置し方向付けるために必要な複雑な変換をすべて処理します。

この機能は、幅広いアプリケーションに不可欠です。以下のことが可能になります:

  • 建築ビジュアライゼーションのために、カスタムの建物モデルで都市を埋め尽くす。
  • 高度な物流および交通シミュレーションのために、車両、船舶、航空機のモデルを配置する。
  • リアルタイムデータフィードを視覚化するために、IoTセンサーの位置にアニメーション化された3Dマーカーを表示する。
  • 風力発電所や工場などの産業サイトの詳細なデジタルツインを、より広範な地理的コンテキスト内に構築する。

注意: 効率的にストリーミングする必要がある多数のカスタムアセットについては、それらをカスタム3D Tilesetとして処理し、Cesium ionでホストすることをお勧めします。

このツールセットは、Evergine.Cesiumを単純なワールドビューアーから、リッチでデータ駆動型の地理空間アプリケーションを構築するための真のインタラクティブプラットフォームへと昇華させます。

.NETにおける地理空間開発のゲームチェンジャー

主な利点は、統合されたエンドツーエンドのC#ワークフローの作成です。使い慣れた.NETツールやライブラリの快適さから離れることなく、洗練されたグローバルな可視化アプリケーションを構築、テスト、デプロイできるようになりました。このシームレスな統合により、見事なインタラクティブ3Dグローブと、MAUI、Avalonia、WPFなどの使い慣れたフレームワークを使用して構築された複雑なユーザーインターフェースを組み合わせることができ、データ量の多い産業用およびエンタープライズアプリケーションに最適です。

さらに、このアドオンにより、Evergineの他の機能との強力な相乗効果を生み出すことができます。グローバルに対応したデジタルツインと、Evergineの大規模点群サポートや、3D Tilesからの高解像度フォトグラメトリデータのレンダリングと産業用フォーマットの正確なCADモデルを組み合わせることを想像してみてください。既存の機能セットに世界クラスの地理空間レンダリングを追加することで、Evergine.Cesiumは単に機能を追加するだけでなく、C#でゼロから構築できるまったく新しいカテゴリのアプリケーションを解き放ちます。

はじめに

あなたのプロジェクトに世界を取り込む準備はできましたか? Evergine.Cesiumの統合は、簡単なプロセスになるように設計されています。

まず、Evergineと.NET 10 SDKがインストールされていることを確認してください。次に、Evergine.Cesium NuGetパッケージをEvergineプロジェクトに追加するだけです。

そこから、シーンにマネージャーとしてCesiumCoordinatorを登録することで、システム全体を初期化できます。この中央マネージャーは、データソースへの接続からグローブの外観設定まで、すべてを処理します。以下の例は、Cesium ionトークンを設定し、ベース画像をBing Maps Aerialに設定する典型的なセットアップを示しています。

using Evergine.Cesium;
using Evergine.Framework;
using Evergine.UI;
public class MyScene : Scene
{
    public override void RegisterManagers()
    {
        base.RegisterManagers();
        // The CesiumCoordinator manager requires an entity tagged as "MainCamera" with a Camera3D component.
        var cesium = new CesiumCoordinator()
        {
            AccessToken = "<YOUR_CESIUM_ION_TOKEN>",
            AzureMapsKey = "<YOUR_OPTIONAL_AZURE_MAPS_KEY>",
            EntityManager = this.Managers.EntityManager,
            OverlayProvider = TerrainOverlayProvider.BingAerial,
        };
        this.Managers.AddManager(cesium);
    }
}

このシンプルなセットアップにより、完全にインタラクティブで美しくレンダリングされた3Dグローブがアプリケーションに追加されます。これは、あなたが世界を構築し始めるための完璧な出発点です。

著者
José Antonio Collado Araque
グラフィックスエンジニア - リサーチャー