
点群アドオン

最新バージョンのEvergineとともに、新たに作成されたPoint Cloud Add-onのご紹介を嬉しく思います。これは、エンジン内で高精細なデジタルツインの作成と統合を効率化するための重要な一歩であり、現実世界をより正確かつ没入感豊かに再現することを可能にします。本記事では、点群とは何か、この豊富なデータを取得する一般的な手法、そして最も重要な点として、新しいアドオンを活用してEvergineプロジェクトでそれらを可視化する方法について詳しく解説します。
点群とは何ですか?
物体や部屋全体のハイテクな3D写真を撮ることを想像してみてください。平面画像をキャプチャする代わりに、この「写真」は空間内の何百万もの小さな点を記録します。その点の集まりが点群と呼ばれます。
点群内の各点は、2つの重要な情報を持っています。
- 位置(Position): 3D空間における正確な位置。これにより、コンピューターは点をどこに描画すべきかを判断します。
- 見た目の情報(属性): これは、表面の色や、レーザー光の反射の強さ(強度)、さらには、それが表すオブジェクトの識別に役立つメタデータ(分類)といった情報です。
点群は、工場のフロアや都市の通りといった現実の構造物をスキャンして作成されるため、デジタルツインの基盤となります。
点群はどのように取得されるのか?
点群が生データであるならば、次の疑問は「現実世界から、これら数百万もの精密な計測データをどのようにキャプチャするのか」ということです。
点群は、物理環境の形状を計測する特殊な3Dスキャニングプロセスを通じて生成されます。最も一般的なアプローチは次の2つです。
- LiDAR(レーザースキャニング)
LiDAR(Light Detection and Ranging)は、通常、建物や地形のような高精度で大規模なマッピングに使用されます。
- プロセス: スキャナーが毎秒数百万ものレーザーパルスを高速で発射し、光が戻ってくるまでの時間を計測します。この「Time of Flight」計測により、対象物表面の正確な距離と位置が瞬時に計算されます。
- 最適な用途: 高精度、広範囲の迅速なキャプチャ、さまざまな照明条件下での動作。
- Structure from Motion (SfM)
SfMは、レーザー光の代わりに視覚データを使用する、写真測量に基づいた低コストで柔軟な手法です。
- プロセス: 標準的なデジタルカメラで、対象物やエリアをさまざまな角度から撮影した、重なり合う多数の2D写真を使用します。専用ソフトウェアがアルゴリズムを用いて、異なる画像間で一致する特徴点を見つけ出し、各点の3D位置を自動的に計算します。
- 最適な用途: 詳細なテクスチャと色データ、小さなオブジェクトのキャプチャ、ドローンやスマートフォンなど、容易に入手可能な機器の使用。
Evergine点群アドオンの機能
Evergine点群アドオンは、点群可視化の最大の課題である「大規模なデータセットを高速かつ効率的にレンダリングすること」に根本から対処するために設計されました。これを実現するために、パフォーマンスを重視した2つの中核機能を実装しています。
コンピュートシェーダーベースの高性能ラスタライゼーション
従来のグラフィックスパイプライン(頂点シェーダーとピクセルシェーダー)を完全にバイパスし、コンピュートシェーダーを用いて点群ラスタライゼーションプロセス全体を書き直しました。
この変更により、レンダリングが大幅に高速化され、点の描画方法をかつてないほど詳細に制御できるようになりました。この制御により、ピクセル単位でのカラーブレンディングといった、視覚品質の向上に不可欠な可視化の改善を容易に実装できます。具体的には、同じスクリーンピクセルに重なり、深度が近い点の色をブレンドします。これにより、点群レンダリングに本質的に伴うエイリアシングとノイズが大幅に軽減され、よりクリーンで安定した画像が得られます。

図1. 点群の典型的なエイリアシングと、新しい手法でレンダリングした場合の結果の比較
プログレッシブレンダリング
標準的な汎用ハードウェアで数百万点規模の点群をロードする場合でもスムーズな体験を保証するため、このアドオンはプログレッシブレンダリングを採用しています。
アプリケーションがフリーズする可能性のある、点群全体を一度にレンダリングしようとする代わりに、アドオンは次のように動作します。
- 段階的にレンダリング: フレームごとに、固定された多数の点をレンダリングします。
- 高速な収束: 全点を完全にレンダリングするまでの合計時間は点群のサイズに依存しますが、初期の高品質な画像は通常1秒以内に収束し、長い遅延としては通常知覚されません。
この技術はユーザビリティと応答性を優先し、デジタルツインデータのインタラクティブ性の高いビューをほぼ瞬時に提供します。
サポートされる形式
Evergine点群アドオンは幅広い互換性を考慮して設計されており、LAS/LAZ、E57、PCDの3つの主要なファイル形式をサポートしています。LASとその圧縮版であるLAZ、そしてE57形式は、3Dスキャニング業界で広く使用されており、ほとんどの商用スキャナーからのデータとのシームレスな統合を保証します。PCD(Point Cloud Data)形式は、スキャナーの生出力としては一般的ではありませんが、より柔軟で高度に最適化された構造を提供するため、他の形式よりもはるかに高速にEvergineへロードできます。
プロジェクトで点群アドオンを使い始める
新しいEvergine点群アドオンを既存のプロジェクトに統合するには、アドオンの追加、レンダーパイプラインの設定、そして最後にデータをロードするという、3つの簡単な手順が必要です。このプロセスの詳細はドキュメントへのリンクに記載されています。
プロジェクトにアドオンを追加する
Evergine Studioを開き、Evergine.PointCloudアドオンをプロジェクトに追加します。アドオンの追加の詳細については、このガイドを参照してください。

アドオンのレンダーパイプラインを設定する
このアドオンはカスタムレンダリングプロセスを使用するため、アプリケーションのライフサイクルの早い段階で初期化する必要があります。
ステップA: シーンの初期化を設定する
メインシーンファイル(通常は MyScene.cs)を開き、必要な初期化コードが追加されていることを確認します。

ステップB: ランタイムを初期化する
次に、MyApplication.cs を開きます。アプリケーションのコンストラクタ内で、アドオンの静的初期化メソッドを呼び出し、コアランタイムサービスを登録する必要があります。

クラウドデータを読み込む
パイプラインの設定が完了したら、点群を読み込む準備が整いました。Evergine Point Cloud Addon は、静的ランタイムメソッドを通じてデータセットの読み込みを簡素化します。サポートされている形式(LAS/LAZ、E57、PCD)の任意の点群を、データへのファイルパスを指定して非同期メソッドを呼び出すことで読み込めます。
![]()
ギャラリー







