

Unity3Dにてシーソーの実験をしていたのですが、  
画像のように、右側の重いCubeがシーソーをすり抜けてしまいます。  
使用しているオブジェクトには全てRigidbodyを設定しており、  
Seesawに関しては、X軸回転のみ許可しています。  
UseGravity = ON,OFFどちらでの変化ありませんでした。  
Mass=1.0f  
速度はそれほど早くないとは思いますが、念のために  
Collision Detection は全てContinuousDynamic にしてあります。  
Omori1 Mass=1.0f  
Omori2 Mass=1000.0f  
全てのオブジェクトには、BoxColliderを有効にしてあります。  
※IsTrigger=OFF  
原因と対策を教えていただけましたら幸いです。  
宜しくお願い致します。

[![画像の説明をここに入力](https://i.stack.imgur.com/AqXM1.jpg)](https://i.stack.imgur.com/AqXM1.jpg)


CC BY-SA 4.0
2022-03-27T14:52:00.300
88048
2022-03-29T01:19:50.497
2022-03-27T16:17:04.813
3060
51989
question
c# unity3d
オブジェクトのすり抜けに対するアドバイスお願いいたします。


Unity の物理エンジン（多分 PhysX）の癖でしょうね。以下の対応でましになると思います。

  * シーソーを重くする
  * TimeScale を小さくする（計算負荷が上がり過ぎるのでおすすめしません）

まだプレビュー版で正式リリースされていませんが、物理エンジンを Havok に切り替えることもできるので、そちらに期待してもいいかもしれません。

1kg と 1t の衝突が物理エンジン的に現実的でないのか、Unity 上ではあまり正しい挙動にも見えませんでした。Unity
は「物理シミュレーター」ではなくゲームエンジンなので、物理シミュレーターとして正しい挙動を期待するのも無理な話だと思います。


CC BY-SA 4.0
2022-03-29T01:19:50.497
88082
2022-03-29T01:19:50.497
48297
88048
answer