blog heroalche.studio

消える床の作り方

著者:

Yamamoto

投稿日 2023.11.07更新日 2023.11.07

こんにちは!
この記事ではゲームでよく見る、プレイヤーが床に乗った時に一定時間で消える床について紹介していきます。
AlcheのXでも一度紹介しているので、ぜひ見てみてください。


■消える床を作る

1.床を作る

まず、BlueprintクラスのActorを作成します。今回、名前をBP_DisappearingFloorにしました。
作成出来たらBP_DisappearingFloorを開きます。

BP DisappearingFloor 02

左上の追加から、BoxCollisionとStaticMeshを追加します。

StaticMeshでは、自分が使う好きなStaticMeshを選択してください。今回はデフォルトであるSM_ChamferCubeを使用し、床っぽく大きさを変えていきます。

BoxCollisionも床と同じくらいの大きさにします。Collisionとは衝突を検知する領域です。 例えば敵に攻撃が当たったかの検出や、アイテムに触れると取得できる仕組みなど、様々な所で使われています。

今回はこれを使ってプレイヤーが床に乗ったことを検知し、床が消えるようにします。

2.消える処理

次に床が消える処理を書いていきます。

BP_DisappearingFloorのビューポートを開いている状態で、詳細にあるOnComponentBeginOverlap(Box)を選択します。これでCollisionがアクターとの衝突を検知したときに処理を走らせることができます。

今回はプレイヤーが乗った時のみにしたいため、Collisionと重なったアクターがGetPlayerCharacterの時に消えるようにします。

ただ床が消えるだけでは面白みがないので、SetMaterialでマテリアル変化させます。これによりDelayでプレイヤーが床に乗ったことを検知した0.5秒後に、元々青色の床が白色に変わります。

今回は白色に変化させましたが、お好きな色な色や柄に変えてください。

最後にDelayからアクターを消すDestroyActorに繋げば消える床の完成です!