Rigidbodyのmassのせいで起こるオブジェクトのすり抜け

遂に夏休みが到来しました!死ね!

というわけで、さっきまで戦っていた敵の概要についてさらっとまとめていきます。

 

オブジェクトの上により重いものを載せると大変なことになる

f:id:TigerOnTheHand:20200808181204p:plain

ここに二つのオブジェクトを用意しました。

どちらにもRigidbodyをつけてあります。

 

 

1.どちらも自由に動く

まずは普通に落としてみます。

...普通だな!

 

次に、上のオブジェクトのmassを100にしてみます。

あーーー!!!!!お客様ーーーーーーーー!!!!!!困りますーーーー!!!!

まあ、多少はね?

(意:まあ、こうなっても納得はできると思う。)

 

 

2.下のオブジェクトだけ固定

今度は、下のオブジェクトだけFreeze Positionにすべてチェックを入れ、動きを固定してみます(回転は固定してない)

ああ、落ちたねぇ...(無慈悲)

固定していない時よりもスムーズに落ちましたね(そりゃそうでしょ)

 

要するに何が言いたいの?

なんか飽きてきてさっきまでyoutube観てたんで、とっとと終わらせます。

rigidbodyつけたオブジェクトの上にmassがより大きいrigidbodyつけたオブジェクトを載せると予期せぬ動きをするかもよって話です。

 

 

...でもmass変更することってあんまなくね?って思ったそこのあなた、

 

massが同じでも若干埋まる

最初に言ってた敵っていうのはこいつのことです。

Freeze Positionにチェックを入れたオブジェクトの上にオブジェクトを載せる場合、

massが同じでも、若干めり込むんです。

(今度は下のオブジェクトは回転も固定)

はい、こんな感じです。

Kinematicにすればいいじゃねえかって思うよね?

でも自分は、Positionだけ固定してシーソーが作りたかったのでわざわざこんなことして沼りました。

ちなみのKinematicにしない場合の解決方法は、下のオブジェクトのmassを上のオブジェクトのmassより大きくすればするほどめり込みが小さくなるので、いい感じに調整してください。