0

私は 3D プログラミングを行ったことがなく、3D 航空機衝突シミュレーションに取り組んでいます。私は Java でそれを行うつもりですが、C++ はおそらくこの種のことでより一般的であることは知っていますが、私はそれを経験したことがなく、時間枠も限られています。

エンジンやラッパーを推奨できる人はいますか? Java3Dがあるのは知っていますが、今は少し古くなっていませんか?JMonkey Engine も見たことがありますが、これはゲーム用ですが、シミュレーション ソフトウェアには問題ないのでしょうか?

ありがとう!

4

2 に答える 2

7

これに対する本当に有用な答えを得る前に、忠実度の要件を固める必要があります。いくつかの観察:

Java 3D -2008年以降、あまり活発に開発されていないようです(ただし、JOGLを使用するように移植されているようです)。必要なことを実行する場合は、先に進んで使用しますが、すぐに新しい機能が追加されることを期待しないでください(自分で作成する場合を除く)。主にシーングラフマネージャであるため、表示に役立つ場合がありますが、物理シミュレーション機能はありません。

JOGL-これはJava用のOpenGLバインディングです。最新の安定バージョンも約4年前のものですが、新しいOpenGL機能を利用するために開発が行われている兆候があります。

jBullet-これはゲーム用の物理エンジンです。これは基本的に、C ++BulletPhysicsエンジンのJavaポートです。

jMonkey-これはゲームエンジンであり、レンダリングエンジン(Java 3D)と物理エンジン(jBullet)の両方を1つのパッケージにまとめたものです。

私の要点に戻ります。ゲームエンジンで要件を満たすことができる場合は、jMonkeyのようなものを使用してもかまいません。それを取り除きたい場合は、JOGLとjBulletを使用してください。

欠点は、ゲームに使用されるほとんどの物理エンジンが、衝突検出や拘束された動きほど空気力学を処理しないことです。jBullet用のフライトシミュレーターの拡張機能がいくつかあるようですが、その品質についてはお勧めできません...それらもゲーム用であると思われます。

エンジニアリング分析などの目的で構造破損シミュレーションの処理を開始する場合は、これらのツールを使用してレンダリングと、それに関連する物理学の少なくとも一部を実行できる可能性があります。しかし、ゲーム用に調整された物理エンジンは、この種の分析にはあまり適していません。そのためには、プロのエンジニアリングパッケージ、または航空学、機械工学、モデリング、シミュレーションのバックグラウンドを持ち、Javaでプログラミングする方法を知っているプロのエンジニアが必要です。

はどうかと言うと

空域内の他の航空機に何が起こるか、航空機の管制官および破片フィールドによって取られた行動。

これらのほとんどは、工学分析に適したものでさえ、物理エンジンには含まれません。いくつかの航空学と機械工学が関係していますが、それは可能なことを制限するだけです。あなたが話しているのは、ストレスの多い状況下での人間の行動を扱っています。これは多くの研究の焦点ですが、プロジェクトのその部分を満たすためにオープンソースまたは商用ソフトウェアとして利用できるものを見つけることはまずありません。

結論として、要件をよりよく理解することができます。事前にその理解がなければ、間違った問題を解決することになります。

于 2012-09-22T03:40:48.000 に答える
0

他の選択肢は次のとおりです。

lwjglウェブサイト)GLバインディングとコントロールとサウンドのサポートを含むゲームライブラリ。

ode4jウェブサイト)3Dゲーム物理ライブラリ。これは、ODE C /C++物理ライブラリのJavaポートです。

于 2013-02-05T10:25:01.587 に答える