マリオのゲームにあるようなブロックを作るには?

最近UE5を始めたのですが、マリオのようなブロックを作ることがどうしてもできません。
空中にあるブロックを叩いたら壊れるようにしたいのですが、
どの様な設定をすればいいのでしょうか?

試しにフラクチャ設定したブロックを空中に配置してみたものの、
すぐに落下して壊れてしまいます。
Enable Gravityの設定をオフにしても効果はないようです。

Simulate Physicsをオフにすれば、空中にとどまりますが
当たり判定がなくなるので、ブロックを叩けなくなります。
空中に配置した別のオブジェクトを親にしてみたり、
無理やり透明なオブジェクトを下に配置して、落下しないようにしてみたり
破片を別オブジェクトで作り、破片一つ一つをアニメーションしようとしたり(時間がかかりすぎて断念)しましたが、全て上手くいきませんでした。

あと空中にあるブロックを叩いて壊す的な動画をyoutubeで探したり、
chatGPTで聞いてもみましたが、全く解決せず途方に暮れています。

そもそもフラクチャで設定したオブジェクトを空中に配置するのは無理なのでしょうか?
もしそうなら、どの様な方法で作ればいいのでしょうか?教えて下さい。
ちなみに、バージョンは5.0.3です。

これ恐らく5.1だとEnableGravity切れば空中に浮かせられますね。

手元でやってみたのですが5.0.3だと仰るように落ちてきて5.1.1だと空中に浮いたままでした。よろしければご自身でも確認ください。

5.0.3ではSet Simulate Physicsを使う事でどうにか出来ないかと思いましたがどうもゲーム開始後にSet Simulate Physicsを受け付けてくれないみたいで難しそうです。

5.1.1ではEnableGravityを切れば空中には浮きますが、破片も重力の影響を受けないので重量を受けないまま空の彼方に飛んでいきます。これもまた破壊される直前等にSet Enable Gravityを使う事でどうにか出来ないかと思いましたが私には出来ませんでした。

ただ一応空中に浮くには浮くのでこの挙動でも良ければ5.1にすることで最低限ブロックを浮かす事が出来ないという問題が解決するかもしれません。

GeometryCollectionActorのObjectTypeをSleepingにすれば、SimulatePhysicsのまま空中に留まります

あとは任意のタイミングで Set Dynamic State を使って起こせば落下します

1 Like