アンリアルエンジンでタイルマップの当たり判定が効かない時に確認すること

アンリアルエンジンで開発し始めた頃は、タイルマップの当たり判定が効かないという問題がに遭遇することが多いです。

この問題を解決するために以下のポイントを確認してみてください。


タイルセットの設定を確認する

最初に確認すべきは、使用しているタイルセットの設定です。

タイルセットではタイルごとに当たりを設定することができます。

タイルセットの上部のメニューの「タイルの衝突(Colliding Tiles)」を選択すると、当たり判定が設定されているブロックが半透明の水色で塗りつぶされて表示されます。

タイルセットに当たり判定が設定されていない場合は、上部メニューの「Add Box」などで当たり判定を追加しましょう。


プレイヤーの当たり判定を確認する

タイルマップの当たり判定が効かない場合、プレイヤーの当たり判定も確認する必要があります。

プレイヤーの当たり判定が正しく設定されているか、当たり判定の大きさや形状が適切かを確認しましょう。


タイルマップのレイヤーの当たり判定が有効になっているか確認する

タイプマップのレイヤーにはレイヤーごとに当たり判定を有効にするかどうかの設定があります。

当たり判定をつけたいタイルマップのレイヤーのLayer Collidesの設定が有効になっているか確認しましょう。


キャラクターとタイルマップが同一平面上に配置されているか確認する

アンリアルエンジンで2Dゲームを作成する場合、内部的には3D空間上にキャラクターや背景を描画、それらを2Dに見えるように描画しています。

2Dゲームの当たり判定を有効にするには、キャラクターと背景を3D上で同一平面上に配置する必要があります。

アウトライナーからキャラクターとタイルマップのプロパティを確認し、「トランスフォーム」の「位置」を確認してそれぞれが同一軸に配置されているか確認しましょう。

XYZ軸のうち絵を表示している面の位置がずれていた場合は、該当の軸の値が同じになるように設定します。


タイルマップの「Collision Thickness」の値が小さすぎる

映像表現を工夫する為などの場合、キャラクターとタイルマップを描画する面をずらしたい事があります。
その場合はタイルマップのCollision Thicknessの範囲内であれば当たり判定を有効にできます。
Collision Thicknessの値が小さすぎて異なる平面上の当たり判定が効かない可能性があるので、Collision Thicknessの値を大きくするなど調整しましょう。


以上のポイントを確認することで、アンリアルエンジンでタイルマップの当たり判定が効かない問題を解決できる可能性があります。

問題が解決しない場合は、コミュニティやフォーラムでの情報交換や、エンジンのバージョンアップなども検討してみてください。 

コメント

このブログの人気の投稿

Unreal Engineでマウスカーソルを表示させる方法を解説

Unreal Engineでアクタとの当たり判定を行う(Event ActorBeginOverlapイベントを追加する)方法について解説

Unreal EngineのBlueprintでアセットを読み込んでレベルに配置する方法