タグ付けされた質問 「physics」

空間と時間を介したオブジェクトの動きに関連します。加速(推力と重力)、質量、衝突応答、摩擦などの概念を含みます。

2
複数のアトラクタを処理できる物理エンジン?
主に立体重力でプレイするゲームをまとめています。 つまり、現実的に振る舞う複数の惑星/星/月、および重力場における経路のプロットと経路の予測を意味します。 私はBullet、トカマク、ニュートンなどのさまざまな物理エンジンを見てきましたが、それらのフレームワークで基本的に重力エンジンを書き直す必要があるため、どれも適切ではないようです。 互いに引き付け合う複数のボディを処理できる物理エンジンを知っていますか? シーングラフの管理やレンダリングは必要ありません。コアフィジックスだけです。(剛体ダイナミクスと同様に、衝突検出はおまけです)。 私のバックグラウンドは物理学なので、Verlet統合またはRK4(または必要に応じてオイラー統合)を使用するエンジンを作成できますが、既成のソリューションをかなり適応させたいと思います。 [編集]:n-bodyの問題の物理シミュレーションのための優れたリソースがオンラインおよびスタックオーバーフローにあります

4
数百人のプレイヤーによるサーバー側の物理シミュレーション
私は現在、物理をサーバー側でシミュレートしたいシングルプレイヤーの物理指向のゲームに取り組んでいます。これは、ゲームにリーダーボード、永続的なプレーヤーの進行状況などがあり、あらゆる種類の不正行為を防止したいためです。基本的には純粋なクライアントサーバーアーキテクチャであり、クライアントは「ダム」であり、サーバーが表示したいものだけを表示します。 しかし問題は、ゲームがおそらく数百人(おそらく数千人)の人々によって同時に行われることです。何百もの状態を同時に維持する必要がある場合、サーバーの処理能力が失われる可能性が最も高いため、これは私に関係しています。 すべての物理シミュレーションをクライアント側に移動しても問題はありませんが、クライアントシミュレーションの結果が有効かどうかを検証する方法が本当に必要です。しかし、私にはその方法がわかりません。 シミュレーションサーバー側をときどき実行して、クライアントがまだ公平に機能しているかどうかを検証することを考えましたが、サーバーにできるだけ負担をかけないようにしたいのです。 物理学は、Glenn FiedlerによるGDC 2011デモとほぼ同じくらい複雑になるでしょう。ただし、常に衝突するリジッドボディが1つのシーンに含まれ、すべてが同時に表示されます。 Web上のほとんどのリソース(ここでも、Glenn Fiedlersサイトは素晴らしいものです)が小規模なネットワーク化された物理学(Haloのような30プレイヤーのFPSなど)について話すので、私はこの特定のケースへの回答を得るのに苦労しています。 この件に関するアドバイス、ウェブサイト、論文などは非常にありがたいです。 私が回答したい質問の要約: クライアントサーバーモデルはどの程度実現可能ですか?サーバーの処理能力に関する懸念は正当で根拠がありますか? サーバー上のクライアントによって実行される物理シミュレーションを確実に検証することは可能ですか?もしそうなら、どうですか?

2
2つの衝突する物体の侵入を解決する方法
シンプルな3Dゲーム物理エンジンを実装しました。私はすでに適切な衝突検出を行っていますが、今は衝突応答の部分を理解しようとしています。衝突後の速度を計算するために、インパルスベースの方法を使用しています。これはかなりうまく機能しますが、ボディが相互貫通し続けるのを完全に防ぐわけではありません。そのため、ペネトレーションを解決するための追加のコードがあります。現在、私はボディを接触法線に沿って浸透深さの半分だけ移動します-最初のボディは接触法線の方向に、2番目のボディは反対方向に移動します。 これはほとんどの場合問題ありませんが、いくつかの望ましくない影響があります。たとえば、狭い廊下とその中を移動するオブジェクトを想像してみてください。オブジェクトが廊下の壁の1つにぶつかると、透過解像度によって反対側の壁に移動し、次のフレームで最初の壁に戻ります。効果は、オブジェクトが壁の間で本当に速く振動しているようなものであり、きれいではありません。 だから私の質問は、侵入を解決するより良い方法があるかどうかです?おそらくボディを動かさずに、(インパルス計算に加えて)どういうわけか速度を調整して、ボディが互いに近づくのを止め、ペネトレーションが次の数フレームで解決するようにします。私はここで推測しています。何か案は?

3
Farseerを使用した物理のタイリング
Farseer Physics Engineに問題があります。タイル化された環境では、オブジェクトが他のオブジェクトのコーナーと完全に位置合わせされていても、ときどき相互作用することがあります。 私は、マーチングスクエアなどを使用して、1つの大きなオブジェクトを計算して作成することを提案している人々について読みました。ただし、摩擦や反発力の違いなど、各タイルに異なる物理的品質を持たせたいので、これはオプションではありません。 私の質問は、正確にそれを引き起こしているのは何ですか、それは浮動小数点精度の問題か何かですか?そして、物理エンジン全体を壊さずにそれを修正する方法はありますか?

3
落下速度と加速速度を計算する方法は?
私はあなたが宇宙船を制御し、クラッシュせずに着陸する必要がある着陸船ゲームを作ることを考えています。エンジンの稼働時間に関連して落下または加速の速度を計算する簡単な式は何ですか?
9 physics 

3
2Dソフトボディ物理エンジン?
こんにちは。最近SFMLグラフィックライブラリを学びました。それを使用するために、非剛体2D物理システムを使用または作成したいと考えています。3つの質問があります。 Box2d の剛体の定義は次のとおりです。 非常に強い物質の塊で、塊の任意の2ビットの物質間の距離は完全に一定です。 そして、これは、弾性、変形可能、破壊可能、および再接続ボディを作成したいので、まさに私が望まないものです。1.単純な2D物理エンジンはありますが、これらの種類の特性はありますか?できれば無料ですか、オープンソースですか? 2. box2dを使用できず、リジッドボディに基づいている場合でも、box2dを使用して作成できますか? 3.最後に、このような単純な物理エンジンがある場合、単に経験と物理計算の知識を強化するために、とにかく新しいエンジンを作成するプロセスに進む必要がありますか?既存のエンジンのコードを変更したり、非常にユニークな物理学でゲームを作成したりするのに役立つと思います。 ありがとう!
9 c++  physics 

5
プラットフォーマーゲームでスイングを簡単に実装するにはどうすればよいですか?
プレイヤーがロープを使ってスイングできるゲームを開発していて(スパイダーマンやバイオニックコマンドーのように)、この動作の実装に問題があります。誰かが私にこれを行う方法を手伝ってくれる?物理学の公式などを意味します。これまで、私は3つのアイデアを考え出しました。1つは春を使用していますが、それは多くの時間を消費し、時々びくびくしています。他の2つは次のステップを計算しようとしています(1つはポテンシャルエネルギーの計算によるもので、もう1つはトルクの計算によるものです)。両方とも、俳優がスイングしようとするたびにほとんどクラッシュします。 トルクを計算するために私が書いたコードは次のとおりです。 float dx = Runner->getPosition().x - ancher.x; float dy = Runner->getPosition().y - ancher.y; float t0 = atan2(dy,dx); //my current angle float k = ((dy) *vx - (dx) * vy) / (dx * dx+dy * dy); //previus angular velocity k -= gravity * cos(t0) *dt; // new angular velocity (gravity …

1
基本的なBox2D衝突検出
Cocos2D / Box2Dで衝突をリッスンする方法がわかりません。2つのダイナミックサークルボディがあるとします。1つは非常に小さく、もう1つは比較的大きいです。小さな円が大きな円と衝突するとき、私は何かをしたいです(たとえば、音を出します)。これを行う最良の方法は何ですか? 現在、TestPointメソッドを使用して実験しています。何かのようなもの: if(largeCircleBody->GetFixtureList()->TestPoint(smallCirclePoint)){ // collision happened... // play sound etc }

2
カーブする平面を持つ2.5Dプラットフォーマーの物理
XNAで2.5Dプラットフォーマーを作成しています。これは、(Trineのように)2D平面に沿った移動に制限された3Dモデルを使用しています。 ただし、物事をより巧妙にするために、2D平面自体が湾曲できるようにしたいと考えています。このクロノアのリプレイを考えてみてください(10秒間だけ見る必要があります):プレーヤーは2D平面上にありましたが、平面自体が山の側面を包み込み、プレーヤーが3D空間を効率的に移動できるようにしました-その間、プラットフォーマーの通常の2D平面に拘束されます。 このようなゲームでは、物理学にどのように取り組むべきですか? 2D物理エンジンまたは3D物理エンジンを使用する必要がありますか? この状況を考慮して実際に設計された物理エンジンはありますか? これのために設計されていないものについて:物理エンジンを私と連携させるために必要なハックやトリックは何ですか?
9 xna  3d  physics  2.5d 

2
水に浮かぶオブジェクトのシミュレーション
トップダウンの釣りゲームに取り組んでいます。湖を動き回るボートに関して、いくつかの物理演算と衝突検出を実装したいと思います。メインモーターまたはトローリングモーターのいずれかからの推力、オブジェクトへの風の影響、およびオブジェクトへの水の抗力を実装できるようになりたいと思います。 私は遠い物理エンジンを見てきましたが、物理エンジンを使用した経験がなく、遠いものがこのタイプのものに適しているかどうかはよくわかりません(ほとんどのデモは垂直方向への重力の適用であるようですトップ/ダウンタイプモデル)。 farseerエンジンは適切でしょうか?または別のエンジンの方が適していますか?

6
MMOゲームでGTAのような物理学を備えた車両を使用することは可能ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 8か月前に閉鎖。 現実的な物理学を備えた車両を使ったMMOゲームを見たことがなく、高速を実現できるのはなぜですか?ネットワーク帯域幅の制限が原因ですか? Second Lifeには乗り物がありますが、物理は貧弱で、最高速度は悲惨です。
9 physics  mmo 

1
ゲームに表示される2Dボーンアニメーションを実装する方法を知っているのは誰ですか?
彼らがフラッシュゲームでどのようにボーンアニメーションを実装しているのだろうと思いますhttp://www.foddy.net/athletics.swf 2Dボーンシステムを学ぶために始めることができる学習資料を知っていますか?フレームごとに複数のビットマップを作成してアバターシステムを実装したところです(メープルストーリーと同様)。ただし、ボーンシステムを使用するとアートリソースを節約できるため、いくつかのことを学びたいと思っている人もいます。

2
カバーと距離を考慮して損傷を引き起こす2D爆発を実装する方法は?
箱や他のカバーの後ろに隠れているキャラクターへのダメージを少なくする方法で2D爆発を実装するにはどうすればよいですか?理想的には、損傷はカバーの強度に依存します(たとえば、金属製の壁は木製の箱よりも保護されます)。理想的には、距離とともにダメージも減少します。 Box2D物理エンジンのポート-Farseerを使用します。 ありがとうございました。

4
どのようにして車両をポイントに移動させ、行き過ぎたり振動したりせずに停止しますか?
では、この質問に対する私の回答で説明したような、2Dの位置、速度、角速度、および抗力/摩擦を備えた車両があるとします。それは加速し、可変の量で壊すことができますが、すぐに完全に停止したり、すぐに最高速度に達したりすることはできません。オーバーシュートや振動なしに、特定のポイントに移動して停止させるにはどうすればよいですか? 私は次のようなことを考えていました: 目標位置に向けます。 加速する 1ティック先を見て、「次のティックにブレークを適用した場合、ターゲットをオーバーシュートしますか?」と尋ねます。 オーバーシュートする場合は、ここである程度の間隔をあけてください。 これは解決された問題であり、おそらく私が説明した方法よりも優れた方法があるでしょう。
9 physics  ai 

3
物理シミュレーションと異なる座標系との接続
オブジェクトが「ウィンドウ」を介して2つの物理シミュレーションの間を移動し、ウィンドウプレーンと交差する場合に両方のシミュレーションのオブジェクトと衝突するようにします。 シミュレーションの座標系は同じ原点を持たず、向きが異なる場合があります。シミュレーションをそれ自体にラップする必要はありませんが、プラスになります。 個々のオブジェクトを複製せずにシステムを効率的に接続するにはどうすればよいですか? 編集: 計算は可能な限り正確でなければならないので、オブジェクトが反対側から同時にウィンドウを横切ってもオブジェクトが動かなくなることはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.