0

私の会社は、テクノロジのデモ用に「一般的な」デモ インフラストラクチャが必要であると判断しました。JOGL または OpenGL を使用してこれを記述し、独自のフレームワークを作成できることを考えると、車輪の再発明はしたくありません。しかし、世の中には非常に多くの 3D gfx エンジンと、非常に多くの OpenGL ラッパーがあります。

基本的に、3D グラフィックスを使用して地形をレンダリングし、単純なモデルを配置します。彼らの要件は、見栄えが良く、クロスプラットフォームであることです。

基本的に、これが従う範囲とパラダイムを自由に決めることができますが、私は次のことを考えていました: - 3D モデルを読み込んでフルスクリーンまたはウィンドウモードでレンダリングできるようにする - カメラを制御して、結果のシーンを「飛ぶ」ことができます。- すべての上にビルボード メッセージを表示/非表示にすることができます。つまり、画面に固定され、常にカメラに面している 2D テキストと画像です。- オブジェクトの表示/非表示、ハイライト カラーの変更 (赤く塗るなど) など、シーンの一部について簡単なことを変更できる。- 必要に応じて、既存のスクリプト言語を作成または使用して、イベント処理と事前にプログラムされたアニメーションを挿入しようとしています。

ユース ケースの例: - 当社の誰かが、いくつかの建物を含む地形の 3D モデルを準備し、基本的にシーンとそのオブジェクトを記述する XML のようなファイルを生成します。- 次に、彼は私のプログラムを使用して地形を飛行し、「関心のある」いくつかのカメラ位置を記録します。- 次に、それらの位置の一部をキーボードのキーや既存の GUI ボタン​​にバインドします。- フローティング テキストをいくつか追加します。- 彼は私のプログラムを使用してデモを行い、彼の 3D モデル ファイルとスクリプト ファイルをロードし、選択したカメラ ポーズの 1 つから次のポーズへと聴衆と一緒に「飛行」を開始できます。カメラの位置...ボタンをクリックすると、地形上のいくつかの建物が赤くハイライトされます...など。

  • OpenGL と JOGL のほか、XNA Game Studio の経験もあります。
  • 可能な限りプラットフォームに依存しないように、Java を使用したいと考えています。

私は何をすべきか?

4

3 に答える 3

1

OpenSceneGraph または Ogre をご覧になることをお勧めします。どちらもクロス プラットフォーム (C++) で、豊富なグラフィック エンジンを備えています。さらに、それらは商用に適したライセンスであり、非常に成熟しており、積極的にメンテナンスされているエンジンです。

OpenSceneGraph は、すぐに使用できる 1 ~ 2 行のコードで複数のモデル形式の読み込みをサポートしており、地形の管理とレンダリングで優れた機能を発揮する OSG ライブラリがいくつかあることを私は知っています。

そうしないと、ビジュアライゼーション機能の開発ではなく、ニッチなエンジンの作成に 95% の時間を費やすことになります。

于 2010-09-22T20:10:00.207 に答える
0

これはJavaではありませんが、それ以外の点では、あなたが説明する内容は、オープンソース仮想地形プロジェクトに非常に近いように聞こえます。より基本的なシーングラフレベルから開始するよりも、開発する追加の機能を追加して使用する方がよい場合があります。

于 2010-09-22T20:15:35.723 に答える
0

Ardor3D または JMonkeyEngine 3 を使用することをお勧めします。Ardor3D は JOGL の優れたサポートを備えており、Collada 形式、地形、高さマップをサポートしており、NASA や GIS アプリケーションで使用されており、ニッチなエンジンではありません。Ardor3D は Android でも動作し、最もクロスプラットフォームな 3D エンジンの 1 つです。

Ardor3D の手続き型地形を示すこのデモを見ることをお勧めします: http://www.youtube.com/watch?v=bkXFkxrYtLY

于 2010-09-25T13:19:26.043 に答える