地面と衝突する火の玉を作ろうとしています。
パーティクルシステムで火の玉を演出し、
プロジェクタイルムーブメントで落下させ、
スフィアコリジョンで地面との衝突をさせる構造です。
コンポーネントの構造を上のようにすると地面と衝突するのに対し、
下の画像のようにすると地面をすり抜けてしまいます。
なぜこのような結果になるのか教えていただけますでしょうか。
よろしくお願いします。
動作環境:Unreal Engine 5.0.2
使用OS:windows10
地面と衝突する火の玉を作ろうとしています。
パーティクルシステムで火の玉を演出し、
プロジェクタイルムーブメントで落下させ、
スフィアコリジョンで地面との衝突をさせる構造です。
コンポーネントの構造を上のようにすると地面と衝突するのに対し、
下の画像のようにすると地面をすり抜けてしまいます。
なぜこのような結果になるのか教えていただけますでしょうか。
よろしくお願いします。
動作環境:Unreal Engine 5.0.2
使用OS:windows10
ProjectileMovementはSweepによる移動を行う際、RootComponentのCollisionを参照します
SceneComponentはCollisionを持たないため、移動の際にCollision判定が行われず、Collisionを無視して通過する、という結果になります
なるほど!ProjectileMovementはRootComponentに作用するんですね。
回答ありがとうございました。
Sweepというものがよくわからないのですが、SweepがTrueの間はCollisionにより
Blockに設定されている物と衝突し、Falseの間はBlockに設定されている物もすり抜ける
という認識で正しいでしょうか?
Sweepは移動時に移動経路のCollisionをチェックし、CollisionがBlockの場合、貫通せずHitする位置で停止させます
Overlapの場合はOverlapEventにHitResultが渡されます
Sweepしない場合は指定の位置まで直接移動し、その後Collision判定が行われます
Blockに設定されている場合は、そのCollision判定で押し出しが発生します
回答ありがとうございます。
Sweepについて理解できました。