popoi
May 25, 2020 08:02:58
題名の通り、RBDシミュレーションで破片がじたばたする動きをなんとか修正したいです。
geometryWrangleなどを用いてvelocityを0.9倍したらvの値は問題なくなるものの、wについて回転の動きがどうにもなりません。
hipを添付いたしますので、ご確認いただければ幸いです。
sho
May 28, 2020 23:33:49
あまり”バシッ”っとした答えじゃないのですが僕がよく使う方法です。
1. Bounceを下げる。
2. Massをclampする。
小さいmassがあると不安定になり、暴れやすいです。あと、DragとかでNaNsを起こす原因にもなります。
3. RBD Packed ObjectのCollision Paddingを下げる。
細いもしくは小さい破片でCollisioDataが裏返ると不安定になりやすいです。
4. Sleepingを早める。
RBD Packed ObjectのLinear ThresholdとAngular Thresholdを上げる。
Bullet SolverのSleeping Timeを下げる。
早く固まるので破壊系に有効です。あまりThresholdを上げると空中で止まってしまうのでシーンに合わせて調整する必要があります。
あと、このシーンではあまり関係無いかもしれませんが、nameポイントアトリビュートが無いよってBulletSolverが警告しています。
これだとSolverが勝手にnameを作るので、複雑なシーンになった時にランダムにnameがついてハマります。
nameポイントアトリビュートはあった方が良いと思います。