問題タブ [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.
rotation - Bullet Physics で btRigidBody の位置/向きをオンザフライで変更する
物理法則に違反していることはわかっていますが、ゲーム内の物体の位置と向きを瞬時に変更する実際的な理由がしばしばありますが、ほとんどの物理シミュレーション ライブラリではそれが許可されていないため、Bullet Physics もそうではありません。
ですから、これに関する提案やコメントをいただければ幸いです。
ちなみに瞬間移動が必要なテレポーテーションが思い浮かびます。また、よりエキゾチックなアプリケーションは慣性である可能性があります。たとえば、加速度計を搭載したポータブル デバイスを傾けたり回転させたりすると、オブジェクトはユーザーに対して静止しているように見えます。拡張現実は安っぽく聞こえるべきではありません。
performance - Bullet Physics の速度を設定する
物理学の精度ではなく、速度のためにBulletエンジンを構成する方法は? たとえば、物体がより速く静止するように、摩擦を増やすことは可能ですか?
現在、次の速度最適化のみを行うことができます。
physics - 物理ウォーキング (from A New Zero)
この動画を見てビックリして、自然と自分もやってみたいと思いました。http://www.youtube.com/watch?v=P_DeZUg9HiY
彼がどのようにしてキャラクターを歩かせたのか、誰か知っている人はいますか? ビデオの 1:15 をご覧ください。彼が脚で使用している弾丸の物理制約はどのようなものだと思いますか? 彼はある種の泉を作っていますか?
java - jBullet-6DOFConstraint激しい振動
シンプルなマルチサイクリンダースネークボディを作りました。各ボディ間に6DOFConstraintがあり、回転の上限と下限を増減して角度を変更することで角度を制御します。
水平軸を中心とした回転は問題なく機能しますが、垂直軸を中心に回転するときに約1.05radの角度に達すると、2つの物体が激しく振動します。
画面キャプチャはここにあります。その説明では、私が行っていることを詳しく説明しています。
http://www.youtube.com/watch?v=OQu-YyxLvbw
次のスクリーンキャプチャは、衝突の問題が発生する可能性を排除するために、制約が設定されたまま直線的に分離されたヘビの「頭」を示しています。
http://www.youtube.com/watch?v=6wso6HDjqXA
私は問題を解決するために次のテクニックを試しましたが、どれもうまくいきませんでした:
- 反発力(弾力性)を非常に低く設定する–同じことが起こります
- 線形減衰と角度減衰の両方を0〜1の値の範囲に設定します
–同じことが発生します - 1.05より大きい角度から開始するように設定します–同じことが起こります。
- 角度を1.05を超えて増やし続けて、落ち着くかどうかを確認します。反対のことが起こり、さらに激しくなります。
- シングルジョイントで試してください–同じことが起こります
- 深い浸透をチェックします–存在しません
- 衝突の問題を除外するために2つのボディを直線的に分離しますが、ジョイントは同じままにします。同じことが発生します。
- 地面の相互作用を取り除くために、ヘビ(頭以外のすべての部分の質量= 0f)を地面に浮かせます-同じことが起こります
- ロック位置にある間、重力をオフにします–動作は1.43radまで遅れます
- jBulletでは小さなアイテムでレンダリングの問題が発生することが知られているため、ヘビのサイズ(スケール)を大きくします。変更はありません。
- 体をカプセルの形に変えてみました–変化なし
opengl-3 - OpenGL 4.0 で Bullet の btIDebugDraw インターフェイスを実装する方法
Bullet には、古い OpenGL の btIDebugDraw インターフェイスの実装があり、デバッグ用に物理ワールドを描画するために使用されます。インターフェイスは次のようになります。
OpenGL 1.1 の実装は、関数呼び出しごとに頂点を GPU に送信する即時モードで動作します。例えば。ここに drawLine() があります
これを OpenGL 4.0 に変換するために、このクラスのメンバーとして定義された頂点配列オブジェクトを使用することを考えています。たとえば、mVAO と VBO もメンバーになります。GLDebugDrawer の ctor で VAO をセットアップし、頂点を生成して VBO に送信し、drawLine() 内でレンダリングします。
しかし、drawLine() が呼び出されるたびに頂点を送信するので、VAO の機能を使用していないように見えますが、代わりに即時モードをかなりひどくシミュレートしています!
頂点がすべての呼び出しで変化する可能性があるこのインターフェイスに線描画関数を実装するより良い方法は何でしょうか?
このコードを後で Android アプリで使用して物理をチェックしたいので、OpenGL 4.0 でインターフェイスを書き直しています。
drawLine() 呼び出しのたびにベクトルに頂点を記録し、Bullet の btIDebugDraw 関数への呼び出しがすべて完了した後に VBO を更新することを考えていました。これで、Bullet が btIDebugDraw 関数を呼び出すときに、頂点のペアを断続的に GPU に送信する必要がなくなります。
これまでのところ、頂点データの管理に関する情報がいくつかあります 。
physics-engine - Bullet Physics ヘッダー : そのようなファイルまたはディレクトリはありません
プロジェクトでヘッダー ファイルを使用しようとすると (以前に .a ファイルとリンクを作成しました)、次のエラーが発生します。
このチュートリアルに従って、ライブラリ .a を作成します。
http://vgamec.blogspot.com.es/2011/09/instalar-bullet-physics-para-codeblocks.html
ライブラリを使用できない理由を知っている人はいますか?
PD 私は Codeblocks 12.11 とコンパイラ GCC バージョン 4.7.1、32 ビットを使用しています。
game-engine - Blenderで重力軸・方向を変える方法
Blender Game Engline でビデオゲームを作成していますが、重力がオブジェクトを引っ張る方向を調整できるようにしたいと考えています。スクリプトでシーンの Z 重力を変更できますが、それは Z 軸に沿って 1 次元です。
X、Y、Z の重力を設定する機能や、原点 (または任意の点) を中心にすべてを同時に回転させる簡単な方法があれば問題ありません。
平面に重力または力場を作用させ、設定された距離で中心を中心に回転させることができれば、システムを構築することもできます (ゲーム世界全体が球体に包まれています)。
基本的に、Pythonスクリプトから、すべての動的オブジェクトに力を自動的に、およびなしで適用できるようにしたいと考えています。これどうやってするの?
bulletphysics - btGeneric6DofSpringConstraint が正しく機能しない
Bullet でスプリングを使用して 2 つのボディ (1 つは静的、もう 1 つは動的) を接続しようとしています。私は btGeneric6DofSpringCONstraint を使用しています。
動的ボディは静的ボディからぶら下がっています。
シミュレーション中に、ダイナミック ボディの質量を変更しています。
ただし、使用する質量に関係なく、ボディは静的なボディから同じ距離でぶら下がっています。
なぜこれが起こっているのか分かりますか?
c++ - Bulletで衝突オブジェクトに色を設定するにはどうすればよいですか?
そこで、素敵なデバッグドロワーを作成しました...そして、すべてのワールドオブジェクトを溺れさせます...今度は、いくつかを特別な色で描画したいと思います(たとえば、弾丸プレーヤー、敵のメッシュ表現)。では、メッシュの色を特定してdynamicsWorld->getDebugDrawer()->debugDrawWorld();
正しく描画するにはどうすればよいでしょうか。btCollisionShapeにもbtCollisionObjectAPI =(に色を設定する方法はありませんか?