ActorとCharacterのHit判定について質問させてください。
やろうとしていること
- イメージとしては流行のバトルロワイアル系FPSの安全エリアのようなシステム
- 円筒状の安全エリアActorが縮小する
- Characterは安全エリアの内側に配置され、安全エリアActorの壁にHitすると死亡
###安全エリアActor
- 円筒状のStaticMeshを持つActor
- StaticMeshは内側向きに法線を持つ
- set Relative Scale 3DをTickで回してスケール(z,x)を縮小する。zは固定値
- CollisionはStaticMeshを使用し、CollisionプリセットはBlockAllDynamic。
- StaticMeshのCollision Complexityは「Use Complex Collision As Simple」
- CharacterがHitするとDestoryイベントを発生させる
- Characterを継承したキャラクター
- 移動は「Add Movement Input」を使用
※「Add Actor Local Offset(sweep Enable)」でも同様の現象が起きた - CollisionはCapsuleCollisionコンポーネントを使用し、CollisionプリセットはPawn
問題事象
安全エリアActorが縮小する際、Characterが静止していると安全エリアと接触してもHit判定されない
※Characterが移動中であればHit判定される
-
縮小中の安全エリアActorに向かってCharacterを移動すると当たる
-
Characterを操作しない(静止する)と通り抜ける
※gif動画ではわかりやすいようDestory処理を外して、Print Stringしています。
ちなみに拡大する立方体のActorで実験してみても、Characterが静止状態のときはBlockされず立方体にめり込んでしまいました…。
よろしくお願い致します。