問題タブ [game-physics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
608 参照

simulation - ゲームプログラミングのための材料科学

相互作用するさまざまな材料の動作をプログラミングするための優れたリソースを知っている人はいますか?

ゲームプログラミングの物理リソースは通常、衝突検出、運動量、インターティアなどをカバーしていますが、それらは一種の理想化された「マテリアル」を扱っているようです。私は、たとえば、より塑性的に変形する発射体の打撃金属と、破片になりがちな1つの打撃木材、または粉々になるガラスの動作をシミュレートすることに興味があります。

ゲーム/シミュレーションの観点からこれを扱っている本やオンラインリソースはありますか?

0 投票する
5 に答える
108908 参照

c++ - オイラー角を方向ベクトルに変換するには?

ピッチ角、ロール角、ヨー角があります。これらを方向ベクトルに変換するにはどうすればよいですか?

これのクォータニオンおよび/または行列表現を見せていただければ、特にクールです!

0 投票する
3 に答える
3295 参照

game-physics - 直交基底からのクォータニオン

速度ベクトルに沿って移動している発射体オブジェクトがあります。オブジェクトが常に速度ベクトルの方向を向いていることを確認する必要があります。さらに、行列ではなくクォータニオンを使用してオブジェクトの回転を表現しています。

最初のステップは直交基底を見つけることであることを私は知っています:

基底を回転クォータニオンに変換するにはどうすればよいですか?

解決

注:答えを提供してくれたNoel Hughesの功績を称えたいと思いますが、私自身の経験から明らかにしたいと思います。擬似コードは次のとおりです。

クォータニオンの最後の要素はスカラー部分であり、最初の3つの要素は虚数部分です。また、上記の擬似コードは、「モデル空間」内のオブジェクトが正のx軸を指していることを前提としています。私の場合、オブジェクトは実際には正のy軸を下に向けていました。この場合、次の変更を行いました。

0 投票する
2 に答える
927 参照

xna - Farseer Physics XNAGeom'トリッピング'

http://farseerphysics.codeplex.com/Thread/View.aspx?ThreadId=72364に似た問題があります

長方形のプレーヤーgeomがあり、多くの長方形のタイルgeomが隣り合っています。

時折、プレイヤーのgeomがそれらの間を横切っているとき、彼はタイルのgeomの角にクリップしているように見え、その結果、回転します。

慣性モーメントを無限大に切り替えて回転を妨げている場合でも、プレーヤーのジオメトリはエッジをクリップするときに「ホップ」します。

これは、geomsのトリップ画像のスクリーンショットですhttp://notspike.com/PrototypeG/trip.png

これに対する修正はありますか?Farseerフォーラムを試しましたが、かなり非アクティブなようです

プレーヤーにサークルジオメトリを使用したビデオへのリンクは次のとおりです

http://www.notspike.com/PrototypeG/trip.avi

0 投票する
1 に答える
334 参照

video - 物理モデル、オーディオ、ゲームレンダリング、フレーム表示、入力を同期する方法

アプリケーションが「予測」フレームまたはサウンドを準備しないと仮定して、アプリケーションで十分に同期された物理モデル、オーディオ、ビデオ、サウンド、および入力の印象をユーザーに与えるために使用する、適切な処理シーケンスおよび/またはスレッドモデルは何ですか?

編集

私の質問は、「ネットワークゲーム」の概念ではなく、スタンドアロンマシンのみを想定しています。

0 投票する
2 に答える
1841 参照

artificial-intelligence - 投射物の動きの公式を解読する助けが必要

発射物の動きでターゲットを攻撃する方法を理解するために、少しAIを実装する必要があります。

私はこれをウィキペディアで見つけました:

座標を打つために必要な角度

これは私が必要としているもののように見えます。特に、ゼロの高さより上から発射体を発射するという追加の問題があるためです。しかし、私の数学のスキルはあまり良くないので、それはすべて私にはまったくナンセンスのように見え、それをコードに変換する方法がわかりません。

誰かがこれを基本的な演算子(+-*%)と関数(sin、cos、sqrtなど)で理解できるものに分解できれば、本当にありがたいです。

0 投票する
4 に答える
4900 参照

graphics - 2Dで3D空間をシミュレートする

私は最初のゲームのコーディングを始めており、シンプルな2Dスプライトゲームを作りたいと思っています。しかし、私は3D空間と物理学をシミュレートしたいと思っており、基本を教えてくれるチュートリアル/ガイド/アルゴリズムを探しています...しかし、これまでのところ運がありません。

何かお勧めはありますか?本?私はプログラミング言語を気にしません。ほとんどの言語でアルゴリズムを読むことができるので、どの言語でもかまいません。最初は、3D->2D問題の既存のソリューションを理解したいだけです。

ありがとう!

編集:私は今のところ、3D空間を2Dに投影することほど物理学を調べていません

これは私が主題に関して見つけた最高の記事です:http ://www.create-games.com/article.asp?id = 2138

別の素晴らしい記事:http://pixwiki.bafsoft.com/mags/5/articles/circle/sincos.htm

0 投票する
2 に答える
2335 参照

game-physics - 弾丸の物理学:凹型の移動形状

Bullet physics SDKを使用して凹型の移動形状を作成しようとしていますが、その方法が見つかりません。

これを達成する方法について何か考えがありますか?

0 投票する
2 に答える
463 参照

java - 磁気シミュレーション

m ピクセルの 2D サーフェスに p 個のノードがあるとします。ノードが互いに引き付けられて、離れているほど引き付け力が強くなるようにします。しかし、2 つのノード間の距離、たとえば d(A,B) が、たとえば k などのしきい値よりも小さい場合、それらは反発し始めます。ノードの座標を時間の経過とともに更新する方法について、誰かが私にいくつかのコードを始めてもらえますか。

アトラクションを開始する以下のコードに少し似たものがありますが、アドバイスを探しています。(PSこれを行うために既存のライブラリを使用することはできません)。

0 投票する
3 に答える
4402 参照

xna - Farseer または Box2D? トップダウン シューティング物理の実装

トップダウン シューターに適しているのはどれですか?

Box2D の方が高速であると聞いたことがありますが、XNA に対する広範なコミュニティ サポートが不足していることにも気付きました (理由はわかりませんが、むしろフラッシュに使用されているようです)。

ただし、Farseer は XNA 用に構築されており、XNA に適合し、かなりうまく機能しているようです。私の意見では、Farseer の利点は、API がクリーンで使いやすいことです (また、私のゲームエンジンの構造に完全に適合します)。ただし、使用するといくつかの欠点があるのではないかと心配しています(弾丸と高速ボディ?数がクラッシュするのではなく奇妙ですか?)

全体として、どちらが XNA/PC 開発により適しているかを指摘していただければ幸いです。

これが必要な理由:

  • これは、1 つのトップダウン シューティング ゲームだけで使用されるのではなく、ゲーム フレームワークとの統合を目的としています。
  • トップダウン シューティング ゲームでさえ、より良い衝突と現実的な物理学を備えた環境ではより魅力的になります。たとえば、ボックスを移動してカバーに入ることができますか?
  • ピクセル パーフェクトな方法で衝突を手動で制御するにはコストがかかりすぎます (最適化する時間はありません。また、高度な衝突検出アルゴリズムを備えた高性能物理エンジンが存在する場合は必要ありません)。非現実に。

私は今、あなたの意見で答えるに値しますか? Box2D の代わりに Farseer を使用して間違った手順を行ったのでしょうか? (返事を待っている間に仕事を始めなければなりませんでした。)

前もって感謝します