0

私はこれを修正しようと何度か試みましたが、ここ/フォーラム/グーグルで見つけたものをすべて読んでください。オブジェクトの移動速度よりも低い CCD しきい値マッシュを使用し、オブジェクトの半半径よりもはるかに小さい CCD 半径を使用しました。これが行う唯一のことは、マルチスフィアが継ぎ目に引っかかるようにすることです。ERP/ERP2も0.9/1.0にしてみました。[編集] わかりました。もう少し読んだ後。球体がすでに地面に接触している場合、CCD は機能しません。ERP は、私の理解が正しければ、ジョイントのあるオブジェクトにのみ影響を与えます。

地面は Blender で作成したトリメッシュで、obtainStaticNodeShape を使用して形状を取得します。より小さなポリゴンを取得するためにメッシュをスケーリングしようとしましたが、最小の (ゲームで許容される) サイズでさえ機能しません。[編集] マルチスフィアは 2 つのスフィアを重ね合わせたものであり、Y 軸周りの角運動のみに制限されているため、ローリングはありません。

球体はゆっくりと沈みません。64 サブステップで fixedtimestep を 1/420 に小さくしようとしましたが、より良い結果は得られませんでした。これは、坂道を上り下りする際に最も頻繁に発生します。私の地面は緩やかに傾斜していますが、20% の傾斜で十分に落下するように見えますが、平地でも発生する可能性がありますが、それほど頻繁ではありません.

最初のテストを行ったとき、地面として大きく伸ばした立方体を使用しましたが、うまく機能しました。

だから私の問題は、なぜこれが起こっているのかわからないので、次に何を試すべきかわからないということですか?どなたか解決策やヒントを教えてください。

マルチスフィアのサイズを大きくすることに何か意味はありますか (ゲームでは 25 ~ 30% 以上大きくすることはできません)。衝突マージンを明示的に設定していませんが、これによりスフィアが地面に浮くだけになると思いますか? 地面を静的なオブジェクトからキネマティックに変更するメリットはありますか?

地面より低い場合、球体から真下にレイテストを使用して押し上げてもうまくいきますか? そもそも地面を検出できたのに、なぜ落ちてしまうのでしょうか..?

[編集: 追加情報] フォーラムやスタック オーバーフローで同様の問題がかなりの数発生しています。ほとんどは非常に小さなオブジェクトに関するものです。小さなオブジェクト (>0.2m) は、シミュレーション ステップの数を大幅に増やしたい場合を除き、bullet には適していません。私の最小のオブジェクトは直径 0.9m であるため、私の問題はこのカテゴリには当てはまらないようです?

また、デバッグ描画を行って、グラウンドとして使用するトリメッシュの法線を確認しました。法線にエラーは見つかりません。

また、球体の衝突マージンを増やそうとしましたが、役に立ちませんでした。

さらに、推奨される設定を使用しようとしました: ((btDefaultCollisionConfiguration)world.collisionConfiguration).setPlaneConvexMultipointIterations(3,3); ((btDefaultCollisionConfiguration)world.collisionConfiguration).setConvexConvexMultipointIterations(3, 3); 変わりはない。

ただし、大きなトリメッシュがレイキャスティングでうまく機能しないことについて読みました。私のメッシュは 512x512 ユニットと大きいのですが、これによりオブジェクトがメッシュを通り抜ける可能性があるかどうかはわかりません。

また、球形にはトリメッシュに問題があることも読みましたが、これが私の場合かどうかはわかりませんか? 私が使用している球は、すべての軸で回転がロックされています。

btCapsule も使用してみましたが、同じ結果が得られました。シリンダーの方がうまく機能しますか? [編集] 球体とカプセルが機能しなかったため、代わりに円柱を使用してみました。シリンダーの働きが良くなりました。私はまだそれが一度落ちることがあります。球体/カプセルが非常に速く簡単に通過する場所を通過する前に、クラインダーは多くのけいれんを起こしていました. たぶん、これは下にある問題の手がかりになるでしょうか?円柱はキャラの形には不向きですが..

別の理由として、メッシュ内の三角形の辺が長すぎるか、辺間の比率が大きいことが考えられます。私の球がいつも落ちる斜面にそれらのいくつかを見つけました. これが本当に問題である場合、Blender でメッシュを手動で編集する以外に何かできることはありますか?

ご覧のとおり、これらの質問はたくさんあり、考えられる答えもたくさんありますが、どれが私のケースに対応するのかわかりません。洞察力のある人がいくつかのポインターを提供してくれることは非常に意味があります。ありがとう!

4

0 に答える 0