8

仮想現実環境で実際のオブジェクト (パイプ、道路など) をシミュレートする GIS ベースのアプリケーションを開発しています。現在、3D レンダリングにはESRI ArcGISパッケージのArcSceneを使用していますが、将来的には独自の 3D 環境に置き換える予定です。

質問: 上記のアプリケーションでリアルタイム 3D レンダリングを行う最良の方法は何ですか? 私はこの分野での経験がなく、本当に混乱しています。利用可能な 3D レンダリング エンジンのいずれかを使用する必要がありますか? 答えが「はい」の場合、(コストに関係なく) どのパラメーターを考慮する必要がありますか? この分野での経験や提案はありますか?

状況と必需品:

  1. アプリケーションの開発には C# .NET 環境を使用します。
  2. 表示する 3D オブジェクトが大量にある
  3. 3D オブジェクトは異なる CAD ファイルにグループ化されます
  4. 最終的な 3D シーンとのやり取りが不可欠です (例: 1 つの 3D オブジェクトを選択)
  5. 1 つのレイヤーおよび/またはオブジェクトの透明度のロード、アンロード、オン、オフ、および設定が必要です。
  6. 広範なモデル (800 ヘクタール以上の領域) の高いディテール (道路から 1 本のネジのような非常に細かいオブジェクトまで) のリアルタイム レンダリングにおける高性能
  7. シェーディングの問題を進める必要はありません (現時点では)
  8. テクスチャを適用する必要があります

レンダリング エンジン: 検索の結果、次の 3D レンダリング ソリューションが見つかりました。

  1. CadFaster|Engine : 「CadFaster|Engine は、技術アプリケーション向けのユニークで最もスケーラブルな 3D レンダリング ソリューションです。通常の CAD アプリケーションよりも 10 倍以上高速です。このエンジンには、特許取得済みの 3D データ セットとジオメトリのリアルタイム同期メカニズムが含まれています。マスター アプリケーションへの自動統合を可能にします。CadFaster|Engine には、3D パフォーマンスを向上させる特許取得済みのリアルタイム ポリゴン リダクションも含まれています。」DevMaster から引用

  2. Quest3D : 「Quest3D を使用して、ソフトウェア、Web、およびシミュレーターを作成します。Quest3D は、アーキテクチャの視覚化、製品の視覚化、デジタル エンターテイメント、コンピューター支援トレーニング、およびハイエンドの VR アプリケーションに最適なソリューションです。」Quest3Dの紹介より引用

  3. OpenSceneGraph : 「OpenSceneGraph は、オープン ソースの高性能 3D グラフィックス ツールキットであり、ビジュアル シミュレーション、ゲーム、バーチャル リアリティ、科学的視覚化、モデリングなどの分野のアプリケーション開発者によって使用されます。標準 C++ および OpenGL で完全に記述されています ....OpenSceneGraph は、現在、世界をリードするシーン グラフ テクノロジとして十分に確立されており、vis-sim、宇宙、科学、石油ガス、ゲーム、仮想現実の各業界で広く使用されています。主な言語: C/C++ 言語ラッパー: C#, ...." OSGホームページより引用。

  4. また、 DevMasterおよび3DLinksには、ほぼ完全に利用可能なエンジンのリストがあります。

4

6 に答える 6

6

使用するエンジンに関係なく、理解すべき重要な概念がいくつかあります。

非常に多くのオブジェクトを扱っているため、主なものは詳細レベル (LoD) です。オブジェクトにリアルな LoD が関連付けられていることを確認してください。たとえば、シーン全体を表示するときに、ねじの詳細モデルをわざわざレンダリングする必要はありません。また、ネジに近づいても十分に離れている場合は、詳細度の低いバージョンのネジでも十分にレンダリングできます。

また、Virtual Earth のようなトリックを実行して、データをタイル化することもできます (これは LoD に関連しています)。最後に、カリングは非常に重要になりますが、おそらく、すでに言及したエンジンのいずれかを扱っているでしょう。

GIS を扱っている場合は、AGI のInsight3Dを調べてください。まだ開発の初期段階ですが、多くの優れたテクノロジに支えられており、大量のオブジェクト、カリング、LoD などを処理するように設計されています。ビデオをテクスチャとして埋め込む方法さえあります。

編集:

あなたが述べたようにC#を扱っているなら、私は本当にInsight3Dを見てみたいと思います。3D GIS エンジンです。ゲームエンジンではありません。これはシーングラフ ベースであるため、他のエンジンのようにフレームごとのレンダリングについて心配する必要はありません。

彼らはあなたが必要とするすべての構造を持っています

  1. 非常に高速なヒット テスト (つまり、どのエンティティを選択したか)。
  2. 条件付きレンダリングを簡単に制御できる Scene-Graph クラス。
  3. 時間は Scene-Graph の一部としてエンジンに統合されます。これは、以前の時点でどのように見えるかを定義し、それを前後に遡ることさえできることを意味します。

私にとって、3D エンジンとゲーム エンジンの違いはかなりあいまいになることがあります。私が見てきた主な違いは、ゲーム エンジンは正確さよりも見栄えを重視することです。たとえば、Unreal エンジンを使用してオフィスをレンダリングしましたが、実際のものとは異なるスケールですべてを作成する必要がありました。それは素晴らしく見えましたが、実際の寸法ではありませんでした. これは、あなたがやっているようにネジに至るまで詳細を扱うときに違いを生むかもしれません.

少し免責事項: 私は AGI で働いていませんが、このエンジンを作成しているエンジニアに個人的に会ったことがあります。彼らは最新の GPU とレンダリング技術を統合しているので、私が使ったエンジンの中で群を抜いて最速でよくできたエンジンの 1 つです。多くの人が高解像度の天文計算に使用する主なアプリケーション ( STK ) で使用されている知識と技術を活用しています。

于 2009-04-19T16:36:53.277 に答える
3

SlimDX SDKはオプションかもしれませんが、下から少し始めたい場合は、基本的に.NETからDirectXにアクセスできるようにする方法です。彼らはまたあなたが始めるためのサンプルのコレクションを持っています。
Ogre ( LGPLの下の3Dエンジンまたはライセンス
garagegames.comのpurcache )にも、選択した言語に応じていくつかのエンジンがあります(「低」価格。ここでは50万ドルのエンジンはありません)

Ogregaragegames.comはどちらも「古い」3Dエンジンを搭載しているため、パフォーマンスを確認できるように、完全なゲームまたはデモのいずれかを見つけることができるはずです。CADアプリケーションの作成に慣れていないため、3Dオブジェクトがあると言った場合、それが静的なものなのか、アプリケーションの実行中に変更される可能性のあるオブジェクトなのかがわかりません。

于 2009-04-18T15:51:04.503 に答える
2

私は OpenSceneGraph を使用してきましたが、グラフを整理するのが苦手な場合、モデルの詳細 (詳細度が高い、オブジェクト数が多い、シーンが散らばっている) を考えると、パフォーマンスが低下する可能性があると思います。シーンを空間的に分割できる必要があります (oct-trees、kd-trees など)。

コストが問題にならない場合は、コンサルティング サービスを提供し、たとえば OSG とまったく同じ 3D グラフィックスの専門知識を必要としないエンジンを販売するベンダーを選ぶことができます。

考慮すべきもう 1 つの問題は、モデルをエンジンにインポートする方法です。ドキュメント化されたファイル形式で作業する場合は、自分で行うことができます。それ以外の場合は、選択したエンジンにモデルを読み取ったりインポートしたりするために、外部ライブラリに依存する必要があります。

モデルが非常に大きい場合、モデルが利用可能なメモリに収まらないため、ページングが可能なものが必要になります (この場合、ページングを OS に依存することは、IMO の最良のアイデアではありません)。

ここに 3D エンジンのリストがあり、そのうちのいくつかは商用です: http://en.wikipedia.org/wiki/List_of_3D_graphics_APIs

于 2009-04-21T13:00:49.520 に答える
1

Unity 2.5には、Windows 上で動作する IDE が含まれるようになりました。Web ビューアーもあり、(プラグインを使用して) 没入型環境を Web ページで直接表示できます。インディー ライセンスはわずか 200 ドルです。

ところで、GarageGames はTorque3Dと呼ばれる新しい技術のライセンスを取得しました

また、 devmaster.netで高く評価されているC4 Engineもチェックする価値があります。

于 2009-04-18T15:59:23.407 に答える
0

WPF、Windows プレゼンテーション フレームワーク (winfx を参照、avalon を参照) を調べ、最新の開発を詳しく調べる必要があります。このリンクに興味があるかもしれません。また、トリプルとは?

于 2009-04-19T16:18:54.367 に答える
0

http://www.blender.org/にはゲームエンジンが付属しています

于 2009-04-18T14:12:40.497 に答える