私は非常に単純な3D物理シミュレータをJavaで書く必要があります。キューブと球はお互いに衝突します。私はそのようなことは一度もしていない、どこから始めるべきか?それがどのように行われたかに関するすべての文書?再利用できるライブラリはどれですか?3D物理シミュレーションエンジンの書き込み/使用はどこから始めるのですか?
答えて
Physics for Game Programmers By Grant Palmer(ないジャワ)
Phys2D(Javaコード)
あなたがそれを行う方法を開始したいと思うなら、始める最も良い方法はペンとペーパーです。あなたのアプリの焦点を定義することを始めてください(重力、衝突などのようなエンティティ球、立方体などのルール、オブジェクトの階層を決定するなど)
これを行う方法を知っていて、 SwingはJavaでUIを作成するための良いオプションです。
また、ここで見てみましょう:http://www.myphysicslab.com/
どのように最初の物理的なオブジェクトのクラスを定義するでしょうか?
次に、これらの物理的オブジェクトを配置するユニバース(クラス)を作成します。これは、位置、速度、質量、およびおそらくサブクラスの形状、弾性などを持ちます。 funのような音:)
あなたがシミュレーションする必要があるのは球/円と立方体だけです。必要なのはベクトル計算です。
たとえば、単純なプールゲームをシミュレートするには、各ボール(球)には位置、3次元線速度、3次元線形加速ベクトルがあります。あなたのシミュレーションには、ボールごとに常に更新される小さなフレームが多数含まれています。 2つ以上のボールが衝突する場合は、単にベクトルを合計し、すべてのボールの新しい速度を計算します。たとえばボールが壁に当たった場合、ボールのサインを裏返して跳ね返すことが必要です。
これを最初からやり直したい場合は、自分の物理エンジンをコーディングして、これを達成するには、数学の裏返しを知る必要があります。あなたがかなり良い数学的背景を持っていれば、頭を悩ますでしょう。さもなければ、急な学習曲線が先にあります。
あなたは物事が行われる方法に関する情報を収集するために、このコミュニティのフォーラムに開始することができます:あなたがあなた自身をコーディングしない場合 gamedev.net
は勿論あなたがOgreのようなオープンソースのエンジンを使用することができます。
bulletphysicsをご覧ください。 bulletphysics.comはフォーラムまたはcheck out the project on Sourceforgeです。
NeHeのレッスン39は良い出発点ですが、それはC++ですが、理論はかなり理解しやすいです。
素晴らしい物理学ライブラリはjmephysics(http://www.jmonkeyengine.com/jmeforum/index.php?topic=6459)です。非常に使いやすく、ODE()とjmonkeyengine(http://www.jmonkeyengine.com)の上に座ってシーングラフ(http://en.wikipedia.org/wiki/Scene_graph)を提供しています。これは非常に単純な3Dアプリケーション以外にも必要なものです。
私はしばらくそれを使用していませんでしたが、2007年後半からリリースされていないので、コミュニティの現在の活動状況は不明です。
- 1. .NET 3D、どこから始めるのですか?
- 2. スパークの使用s3から読み込み、s3から書き込むことはできますか?
- 3. ファイルへの書き込みはどこから来ますか?
- 4. array1からの書き込みarray2からの書き込み
- 5. Facebookのアプリケーションはどこから始めるべきですか?
- 6. スレッドを使用してソケットから複数の読み込み/書き込みを処理するには?
- 7. 物理アドレスlinuxに書き込むことができます
- 8. Androidオーディオプログラミングはどこから始めるべきですか?
- 9. C - カーネルモジュールから物理メモリに書き込む
- 10. 物理エンジンのONイベントの書き込み
- 11. どの方向から辞書を読み始めるのですか?
- 12. ファイルのカスタム開始からカスタムバイト数への書き込み
- 13. テクノロジーガマット - どこから始めるのか?
- 14. マングースのモデルから埋め込み文書のみを抽出することはできますか?
- 15. ソートの練習は、どこから始めるのですか?
- 16. モバイルアプリケーションの開発はどこから始めるのですか?
- 17. レジスタからの読み込みUnity 3d
- 18. Python 3とHadoopはどこから始めるのですか?
- 19. バイナリ検索ツリーはどこから始めるのですか?
- 20. JSONはどこから始めるのですか? (クローズ)
- 21. ウェブボットはどこから始めるのですか?
- 22. SQLはどこから始めるのですか?
- 23. Javaスクリプトコードはどこから始めるのですか?
- 24. 畳み込みオートエンコーダーを使用した2Dから3Dへ
- 25. cakephp:どこに配置するのですか:: app_controllerに書き込み::書き込み?
- 26. このデータの解析はどこから始めますか?
- 27. このデータベースの設計はどこから始めますか?
- 28. どこからnginxでURL書き換えを開始するのですか?
- 29. どこから始めるか
- 30. これらの非同期読み込みメソッドのどれが最適ですか?ドキュメント書き込み?
物理学ではありません。重力や弾力などはありません。初心者としては楽しいが、限られている。 – PhiLho
これらのほとんどは、各フレームに取り込まれる追加のベクトルです。一度あなたは重力、coRなどを追加することはあまりにも簡単ではない簡単な作業をしている –