ue4 static meshで動いている場合は当たり判定があるが、動いてない場合は当たり判定が起こらない場合の対処法

ue4で作っているゲームイライラ棒で、pawnとなる球が動いている場合は、当たり判定があるけど、
自身が止まっていて、当たり判定のあるオブジェクトが動いている場合に当たり判定が起きなかったので、
その対処方法を書きます。

まず、static meshで動いているオプジェクトと当たり判定を起こす場合は、
physicsの項目にある、simulate pysicsを有効にしないといけないようです。

自分の場合は、当たり判定をかけたい球のオブジェクトをdefault pawnにしたんですが、
その場合は、Collision ComponentのSimulate pysicsをonにします。

そして、対象となっているstaic meshのcollision complexityをuse complex collision as simple
以外の項目にします。

この項目を選択すると、ue4を実行した時に、simulate physicsが有効になってないよ的な警告
が出たので、これがsimulate physicsを有効にしても、当たり判定が起こらない原因なのかなと思いました。

しかし、今確認しようと、use complex collision as simpleに再設定しなおしても、
なぜか期待通りにcollisionが起きている。

きっとキャッシュだろう。。。

他にもcollision presetの項目が、pawnになっていると、動いているオブジェクトと当たり判定がとれないので、
Collision設定をカスタムでセットしろと書いてあって、customに変更しています。

しかし、今collisionのpresetをpawnに戻しても当たり判定が起きるのは、設定が関係ないのか
それとも、キャッシュなのか?

当たり判定が起こらない場合は、この辺りも変えてみてください。

参考にしたのは、以下などのissueです。
他にもあったけど、消してしまった。

collision not occur when moving ue4などで検索しました。

https://answers.unrealengine.com/questions/213282/static-mesh-loses-collision-when-set-to-movable.html

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です