問題タブ [bulletphysics]
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.
c++ - CでC++ APIを使用していますか?
ある日、昔ながらの C 言語でビデオ ゲームを書き始めることにしました。
それはとても楽しく、3 か月後 (仕事から少し離れていることもあります)、物理エンジンが必要であることに気付きました。
Bullet 物理エンジンを使用することにしました。これは、私が必要としているものの中で最も優れているものの 1 つと思われるためです。
その後、Bullet には実際には C API がなく、完全な C++ API しかないことがわかりました。その C API は維持されていません。
のろいの一日の後、私は自分のプロジェクトを C++ に「変換」しました。これは、すべてのヒープ割り当てを型キャストし、malloc と free の代わりに new と delete を使用し、「extern "C" でいくつかの定義をまとめた」という大胆な声明です。 { ... }'.
そうすれば私を撃つ人もいるでしょうが、この物理エンジンのような C++ API しか持たないパフォーマンス タスクを C で使用する方法は他にありませんでした。
だから今、私はg ++でコンパイルしていますが、まだほとんど「C」コードを書いています。コードが純粋ではなくなったので、少し満足できなくなりました。
C++ を使用すると奇妙なエラー メッセージが表示されますが、g++ パーサーが嫌いな言語については特に何も感じていません。オブジェクト同士をうまく跳ね返すことができるようになったという事実は別として、私のペット プロジェクトの小ささと純粋さの一部は今では見捨てられています。
私は正しいことをしたかどうか疑問に思っています。「ほとんどの」C コードに C++ コンパイラを使用することを心配せずに続行する必要がありますか? パフォーマンスの低下や過度の保守作業を行わずに、C でこの API を使用する他の方法はありますか?
bullet - ゴースト オブジェクト - 弾丸物理学
Bulletphysics で単純なゴースト オブジェクトを実装しようとしています。これがゴースト オブジェクトの作成方法です。
そして、これは衝突を見つけようとする方法です:
しかし、すべてのワールド オブジェクトがゴースト オブジェクトと衝突しているという応答が常に得られます。
機能的な単純なゴーストオブジェクトを取得するのを手伝ってくれる人はいますか?
ありがとう
floating-point - Bullet3D を 2D にのみ使用すると、Z 軸に浮動小数点数値エラーが発生する可能性がありますか?
bullet3D を 2D のみのモードで使用することは可能だと思いますが、気になるのは浮動小数点の精度エラーです。Z 軸のすべての値と操作が 0 の場合、Z 値は他の軸の操作の影響を受ける可能性があります。これが積み重なると、間違った結果になる可能性があります。
しかし、私はまだ bullet3d を使用していません。2D のみのモードで bullet3d を使用した経験がある場合は、ご意見をお聞かせください。
c++ - Bullet Physics Libraryを使用して衝突を設定するにはどうすればよいですか?
opengl / sfmlゲームで衝突を設定する際に、少し「遅延」が発生しました。助けを求めるだけで、それほどエラーにはなりません。Bullet Physics (これはAPIリファレンスです)を使用していて、さまざまな関数とクラスを調べています。それから私はライブラリにデモが含まれていることに気づきました、それでそれらを見ている間私はそれらを完全に理解していません。
私がすでにopenglのモデルにGLMを使用し、2D目的とウィンドウにsfmlを使用しているので、彼らが私に使用することを推奨するメインライブラリはCollisionInterfaceDemoです。
誰かが私のゲームで衝突を実装する方法を知っているかどうか疑問に思っています。
physics - リアルな二本足スケルトンの物理シミュレーション
弾丸物理学または同様の物理エンジンを利用して、2 本足の人間のような体のリアルなスケルトン シミュレーションを作成したいと考えています。つまり、2 つの「脚」の上に丸い塊でできた「ボディ」のシミュレーションを作成します。各脚は 3 つのジョイントを介して接続された 3 つのソリッド ピースで構成されており、各ジョイントにはある程度の自由度と限られた可動範囲があります。人間の腰、膝、足首と同様の各方向。
私は現実的なモデルを目指しているので、すべての関節が正しくバランスが取れている場合にのみ「立ち」、そうでない場合は落下します。
既存のチュートリアルやリソースへの指示、提案、またはポインタは大歓迎です! これは、ゼロから行う非常に多くの作業のように見えます...
c++ - 2 つのメッシュ間に傾斜面を生成するための衝突検出手法
ゲームSEと数学SEの両方でこの質問をしましたが、反応はあまり心強いものではありませんでした。それで、もう少しひねりを加えて、もう一度尋ねました。
meshで定義された地形があります。また、地形全体に散在する他の多くの多角形面があり、それらは地形の上、下、または地形を切り開いている可能性があります。これらの顔はプラットフォームと考えることができます。
以下のスクリーンショットは、私の言いたいことを明確にするはずです。滑らかに見えますが、実際にはすべてのメッシュが小さな要素 (数 > 10k) を組み合わせて構成されているため、滑らかに見えます。明らかに切り離された領域はプラットフォームです。
私の質問は、プラットフォームと他のプラットフォーム/地形を接続する平面をどのように生成できますか? 一連の傾斜面を生成するルールは次のとおりです。
- どちらの方向が最初に地形/隣接するプラットフォームに衝突するかに応じて、それらは上または下に移動する可能性があります.
- 平面の生成規則は、平面がプラットフォームの端から始まり、z 軸に対して 45 度上下に一定の長さ移動すると、z 軸に対して 0 度移動するというものです。 、繰り返します。したがって、飛行機のいくつかのポイントで障害物にぶつかるまで、一連の断片的な飛行機になります。
- アルゴリズムは、平面の生成と平面の生成のみに焦点を当てる必要があります。レンダラー (opengl など) に結び付けたくないので、自分でレンダリングできます。
要するに、実際には一連の階段や段ボール紙のようなものであり、特定のメッシュと接触するまで、空間のある点から上下につながる一連の「平面」を生成したいと考えています。
物理シミュレーションでよくある衝突検出の問題のようですね。この問題を解決するために使用できるゲーム/物理ライブラリはありますか?
私はアニメーションを行っていないので、フレームごとの更新とそれらすべてのものは私には関係ないことに注意してください。これが、 bulletのような既存のゲーム物理ライブラリの使用をためらう理由です。私に関連するのは、既存のライブラリを使用して、上記のルールに従ってこれらの接続面を生成する方法です。
java - Java/Android 弾丸オブジェクト フロー
誰かが私を正しい方向に向けることができるのだろうか.
弾丸のようなオブジェクトを静的な位置から画面上の任意の領域にアニメーション化できるようにしたいと考えています。
単純な水平および垂直の動きには問題ありません。つまり、x +/- 1 または y +/- 1 です。しかし、弾丸のようなオブジェクトに関しては、どの程度でも移動/アニメーション化できるため、アニメーションを滑らかに見せる方法がよくわかりません。たとえば、18、45、または 33 度の角度では、y+1、x+1、y+1..... のようなアルゴリズムでは、アニメーションが非常にスムーズになりません。
前もって感謝します
Ps たぶん、すでにいくつかのドキュメントが公開されているのではないでしょうか?
アップデート
返信してくれたみんなに感謝します。
これは、あなたのコメントに基づいてこれまでに作成したコードです。
描画はうまく機能しますが、2 つの問題があります。
1.描画はかなり遅くてびくびくしています...このJavaの例のようなものと比較してhttp://www.youtube.com/watch?v=-g5CyPQlIo4
2.クリックが Y = 0 に近い位置にある場合、ENDY / FRAME の値が 1 より小さいため、切り上げが 0 になり、弾丸が画面の上部を横切って移動することを意味します。 Y の時折の増分。
@ SyntaxT3rr0rあなたの権利、それはおそらく最善の方法です。しかし、このようなものを実装するためのドキュメントを知っていますか?
返信してくれたすべての人にもう一度感謝します
opengl-es - webgl用のアプリケーションを開発しているすべてのopenglライブラリを使用できるようにするための最も効果的な方法は何ですか?
物理シミュレーションアプリケーションでC++のbulletphysicsなどの物理ライブラリを使用する必要があります。webglとjavascriptを使用しなければならないという制限があります。私はグーグルでemscriptenを使用しているのを見ましたが、一部のライブラリはjavascriptに移植されていますが、コードがCPUとメモリを使いすぎて効果がないと言う人もいます。また、c ++でコードを開発し、それをjavascriptに移植する方法を探しました。emscriptenを見つけましたが、非効率のために諦めました。また、マンドリールを見つけましたが、それは無料ではなく、最初の計画では無料の方法が必要です。この時点で、webglを介して必要なopenglライブラリを最も効果的な方法でどのように使用できるかを尋ねたいと思います。ありがとう
c++ - BulletPhysicsEngineの静的ライブラリのインストールの問題
ねえ、私は弾丸2.78をダウンロードし、次の手順を実行しました。
解凍してこのチュートリアルを見つけました
チュートリアルの写真で、INSTALL LIBSのようにチェックされたものがいくつかあることがわかったのに、チェックしなかったので、可能な限りすべてをチェックすることになりました。
新しく生成されたBULLET_PHYSICS.vcxprojにアクセスし、デバッグおよびリリースでビルドしました
msvn / BulletBuild / libのlibフォルダーにたくさんの新しいライブラリがあるのを見ましたが、それらには何もしませんでした
実際のプロジェクトを設定するために、チュートリアルの残りの手順を正確に実行しました
コードの最後の行をビルドしようとしました:FAIL
.libsとpdbsのみがlibフォルダーに表示され、チュートリアルではemについて言及されていなかったため、dllが必要かどうか疑問に思いました。
ライブラリを再構築する私の唯一の経験は、ダウンロードに含まれるmsvnファイルをビルドし、結果のダイナミックlibファイルとdllファイルを使用することによるSFMLを介したものです。ただし、チュートリアルの手順は大きく異なります。(誰かがこれがどのように機能するかを私に説明できればそれは素晴らしいでしょう)
私は指示に正確に何度も従いましたが、何が欠けているのかわかりません。mainのコード行をコメントアウトし、インクルードを保持するとビルドは機能しますが、保持すると次のようになります。
どこかにリンクの問題があることは知っていますが、指示に正確に従ったので、修正方法がわかりません。追加されたプロジェクトのプロパティを見ると、それが想定されている方法ではない場合、追加の依存関係は表示されません...しかし、そもそもライブラリを使用するこの方法を理解していないので、知識があります役立つだろう。