PhysicalMaterialのRestitutionを0にした場合の形状による衝突の違いについて2点質問させていただきます。
<br/>
①形状がSphereとBoxのオブジェクトを壁に衝突させた場合、Sphereは壁にピッタリ止まり、Boxは壁から跳ね返るような挙動になりました。
Restitutionを0にしているため、BoxもSphere同様に壁にピッタリ止まる想定だったのですが、どういった理由で跳ね返っているのでしょうか?
また、Boxを壁から跳ね返らないようにする方法はありますでしょうか?
<br/>
②形状がBoxのオブジェクトを壁に密着した状態で角速度を与えた場合、壁から跳ね返るような挙動となります。
こちらについても①同様、どういった理由で跳ね返っているのでしょうか?
また、Boxを壁から跳ね返らないようにする方法はありますでしょうか?
<br/>
お世話になっております。
①② 少なくとも部分的に同根の現象のように見受けられますが、容易に反発を無効化することはできないようです。
物理シミュレーションが Chaos に置き換わる前のことではありますが、同様の挙動について過去に By Design とされています。
https://issues.unrealengine.com/issue/UE-36975
この挙動に関して回転運動が重要な役割を果たしているようで、慣性テンソル(コンポーネントの InertiaTensorScale)を大きく取ることで ① における Box の反発を抑制することはできます(副作用が大きいので解決法としてはおそらく適しませんが)。
衝突が 面 vs 頂点 で生じる関係上 Sphere では重心を通る力がのみが発生するのに対し、Box では回転力が生じるという違いがあります。
Box を立方体にし、45度の Yaw 回転を設定、重力を無効にすることで反発がかなり小さくなるという現象も確認できます。
衝突による速度の変化については FPBDCollisionSolver.::SolveVelocity で計算されるようです。
変更についての具体的なご案内は致しかねますが、こちらを調べて頂くことで挙動を調整することは可能かもしれません。
よろしくお願いいたします。
お世話になっております。
返信遅くなり申し訳ありません。
調査いただきありがとうございました。
容易に反発を無効化できないということで承知いたしました。
パラメータ及び処理については調査を行い、自身のプロジェクトに適用できるか調査しようかと思います。