問題タブ [rigid-bodies]

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 投票する
1 に答える
497 参照

unity3d - 衝突をチェックできない - Unity

現在、Unity ゲーム エンジンを使用して、格闘ゲームの AI デモを開発しています。OnTriggerEnter拳や蹴りを検出するを書きました。ただし、キャラクターが移動した場合にのみアクションを検出します。試しrigidboy.WakeUp()てみrigidbody.AddForce( new Vector3(0,0,0) )ましたが、問題は解決しませんでした。

問題は次のようなものです:

たとえば、他のキャラクターを蹴ると、キャラクターの足がコライダーに入り、コライダーから出ますがOnTriggerEnter、キャラクターを動かすまで呼び出されません。

どうすればこの問題を解決できますか?

これが私のコードです:

PSまた、RaycastHitを試しましたが、うまくいきませんでした...

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

unity3d - Unity で発射体を撃つと常に null 例外が返される

私は現在、unity3D を使用してゲーム プロジェクトに取り組んでおり、この奇妙なエラーに遭遇しました。

発射物をインスタンス化して前方に発射しようとしています。ここに私の更新コードがあります:

スクリプトを再生しようとすると、shotProj.AddForce(frontDir)でNullReferenceException: Object reference not set to an instance of an object というエラー が発生します。

「chosenProj」ゲームオブジェクトを確認し、発射体モデルを割り当てましたが、まだこのエラーが発生します。Unity を使って 1 か月が経ちましたが、発射体は前方に飛ばず、とても馬鹿げています。

理由はありますか?

THX b4

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

character - Unity 4 のキャラクター メッシュ コライダーが整列していません - キャラクターが通り抜けます。ソース unity アセット リンクを含む画像添付

こんにちは Peeps (最初の投稿 yay)。

私はユニティについて学び始めたばかりで、まださまざまなチュートリアルを行っており、C# とともにインターフェイスを学習しています。

Unity 4 を実行しており、Unity ストアから無料のアセットをダウンロードしました: https://www.assetstore.unity3d.com/#/content/3174

問題。Unity で Plane を作成しました。キャラクターに行き、コライダーを作成し、ヒューマノイドとしてインポートしました。次に、剛体を追加しました =キャラクターが平面 を突き抜けた後、メッシュ コライダーを追加し、キャラクターのメッシュをコライダーにアタッチしました。メッシュがキャラクターに正しく位置合わせされていない =キャラクターが平面から落ちた。 次に、ボックスコライダーとカプセルコライダーを試してみましたが、うまくいきました。これらを取り付けると、文字が抜け落ちません。 次に、キャラクターコントローラーを試してみました = キャラクターは通り抜けませんでした。

このテスト キャラクターの正確なメッシュを取得したいので、敵が彼に当たったときに実際のヒットが発生します。

ストアから他の無料キャラクターをいくつか試しましたが、どれも同じ問題を抱えています。誰かがこれを修正する方法を教えてもらえますか? 私は何か完全に間違ったことをしている、ステップを逃した、または単に道に迷ったようです。

取得した問題の画像へのリンクは次のとおりです。 ここに画像の説明を入力 ここに画像の説明を入力

0 投票する
0 に答える
393 参照

geometry - Box2d でのポリゴンの三角形分割

三角形の扇形のようなポリゴン シェイプの作成に興味がありますが、どこから始めればよいかわかりません

http://en.wikipedia.org/wiki/Triangle_fan http://boxcar2d.com/

これは複数のフィクスチャを備えた 1 つのボディですか? または複数のボディが単一のボディに接続されていますか? 衝撃で切れる可能性があるからです。ありがとう

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

c# - Unity での高速衝突

現在、さまざまな速度のボートの C# シミュレーションを書いています。私の剛体コライダーでは、低速では問題なく動作しますが、ボートが高速になると、他のコライダーを直進し始めます。

私が試してみました:

  • 物理法則の変更
  • 剛体ルールの編集
  • DontGoThroughThingsコードを使用しても

新しいコードにより、ボートが衝突できる速度がいくらか増加しましたが、シミュレーションには十分ではありません。

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

c++ - Rigid body Inertia Tensor ワールド座標の計算

DirectX を使用してオブジェクトを描画し、その Math ライブラリを使用して SIMD 計算 (XMMATRIX および XMVECTOR クラス) を利用して、小さな剛体物理シミュレーションを実装しようとしています。

私の質問はInertia Tensorに関するものです。その逆数を使用して角加速度を次のように計算できることを知っています。

そして、その慣性テンソルは、ローカル空間では一定です...そのため、他のメンバーと一緒に RigidBody クラスにその逆を格納しました:

さて、各フレームで、ワールド座標で逆慣性テンソルを計算する必要があります...そして、この時点で私は少し混乱しています...

どうやってやるの?

  1. m_inverseInertiaTensorL を m_worldTransform で乗算する必要がありますか? はいの場合、どのように?1 つ目は XMFLOAT3X3 で、2 つ目は XMFLOAT4X4 です...
  2. オリエンテーションを使用する必要がありますか? どこかで次のようなものを読みました:「inverseWorldInertiaTensor = rot*inverseBodyInertiaTensor*rot.transpose()」ここで、「腐敗」は次のような行列であると思います:

    XMMATRIX 回転 = XMMatrixRotationQuaternion(orientationW);

私は非常に混乱しています...誰かが私を助けることができますか?

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

c# - 団結。偽の船内重力の試み。回転オブジェクトのリジッド ボディの子が滑り続ける

内部重力のある船/宇宙ステーションをシミュレートしようとしています。

これを達成するために、プレーヤーと船のすべてのコンテンツを船の子にしています。船自体にはコライダーがありますが、剛体コンポーネントはありません。アイデアは、船が移動すると、その内容もすべて移動するということです。これまでのところかなり簡単です。

船内の重力をシミュレートするために、プレイヤー コントローラーとすべての剛体のデフォルトの重力がオフになっています。標準の代わりに、各フレームに力が親船の負のアップ ベクトルに沿って適用されます。

この種の作業はうまくいきますが、これを確実にする前に解決しなければならない大きな問題が 1 つあります。すべての剛体は、船の内部を非常にゆっくりと滑ります。

これはおそらく床の更新された位置が重力と組み合わされてある種のせん断力が発生したためであることは承知しています。オブジェクトは常に船の回転に逆らってスライドします。

物理マテリアルから質量へのドラッグなど、すべての物理特性をいじってみました。どれもうまくいきませんでした。RB が動いていても、床が動いているという基本的な事実によるものだと確信しています。床がその一部であるオブジェクトの子です。

ある種のダクトテープではない、これに対する解決策を誰かが持っていますか? すべてをキネマティックにして、特定の外部衝突などが発生したときにのみ「目覚める」ようにすることもできますが、それは非常に面倒になる可能性があります。これが可能な限り汎用的な方法で機能する必要があります。

いくつかのコード:

船の上

また、剛体の動きに船が追従するバージョンも作成しました。直接のペアレンティングはできなかったので、物理プロキシに一致するようにフレームごとに手動でトランスフォームを設定するだけで済みました。これでも上記と同じ効果が得られましたが、最終的には船をどのように動かしたいかということになるでしょう。

0 投票する
0 に答える
347 参照

box2d - 見えない身体?

私のゲームでは、キャラクターが歩くことができる約 20 個のブロックがあります。各ブロックにはボディがあり、キャラクターにもボディがあります。

私のキャラクターが歩くと、何かに遮られることがあります。これが発生した場合、反対側に少し歩いてから戻ることで、目に見えない壁を「削除」できます。

私の知る限り、私は何も悪いことをしていません。ブロック/キャラクターを描画するために使用するコードは次のとおりです。

キャラクター:

ブロック:

ブロック コンストラクター:

キャラクター スプライトは 33x65、ブロック スプライトは 50x50 です。