【Unity】タイルマップにコライダーを設定する方法

タイルマップ Unity
スポンサーリンク

前書き

TopDown系ゲームを作るときのステージについてはタイルマップを使用することで簡単にステージを作ることができます。自分がよく使っているタイルマップのアセットとしては上記のアセットだったり、ElvGamesが展開しているタイルマップを使用していることが多いです。

今回はタイルマップ系のアセットで使用するタイルマップでのコライダーを設定する方法について紹介していこうと思います。

タイルマップ系アセットを入れるとどうなる?

タイルマップアセットをインポートするとタイルパレットにインポートしたタイルマップアセットが表示されるようになります。この状態で矢印ボタンを押下して指定のタイルマップを選択することでタイルマップの情報を見ることができます。

タイルパレット
GridSelection
タイルマップ情報

そのなかで一部、AnimatedTileというオブジェクトが存在しますが、通常のタイルマップと同じようにSceneに設定することができます。実行すると動きがあるのがアニメーションタイルマップになります。

アニメーションタイルマップ
GridSelection
アニメーションタイルマップ情報

以下の動画を見ていただくと分かるのですが、実行することで松明や真ん中上のマークが動いていることが分かります。

ElvGamesのアセットの場合はすでにタイルパレットにアニメーションタイルマップが設定されていることもありますが、フォルダを見てみるとタイルパレットに設定されていないアニメーションタイルマップが色々あることが分かります。今回はそのアニメーションタイルマップをタイルパレットに設定することと、コライダーを設定する方法について紹介します。

アニメーションタイルマップをタイルパレットに設定する方法

タイルパレット画面を開いた状態でドラッグ&ドロップでタイルパレット画面に指定のアニメーションタイルマップを設定して保存すればOKです。以下の動画で設定する方法を見てみましょう。

動画を見てみるとタイルパレットに設定されていることが分かります。矢印でアニメーションタイルマップを選択するとアニメーションタイルマップの情報が見れることが分かります。あとは通常のタイルマップと同じようにScene上にアニメーションタイルマップを設定することが使用することが可能です。

アニメーションタイルマップにコライダーを設定できない

アニメーションタイルマップを設定することができましたが、この状態でTileMapColliderを設定してみましょう。通常であれば、Colliderの設定がされると黄緑色の線が表示されてColliderが有効になっていることを確認できますが、アニメーションタイルマップのみColliderが設定されていないように見えます。

コライダーの設定

アニメーションタイルマップにコライダーを設定できないのはなぜか?

通常のタイルマップを見てみましょう。そうすると以下のところにColliderTypeがあります。

タイルマップのコライダータイプ

このColliderTypeを設定しないとタイルマップにColliderが発生しません。詳細については以下のUnityDocumentからご確認ください。

Tilemap Collider 2D - Unity マニュアル
Tilemap Collider 2D コンポーネントは、同じゲームオブジェクト上の Tilemap コンポーネント上の タイル の コライダー 形状を生成します。Tilemap コンポーネントにタイルを追加または削除すると、Tilemap...

アニメーションタイルマップにコライダーを設定する方法

タイルマップの設定からアニメーションタイルマップのColliderType見てみましょう。ElvGamesのアセットの場合、アニメーションタイルマップのColliderTypeは”None”になっており、何も設定されていないと思います。ColliderTypeを変更してみましょう。この状態でSceneを見てみるとコライダーが設定できることを分かります。

まとめ

今回はタイルマップにコライダーを設定する方法について紹介しました。

だいたいのタイルマップアセットでは事前にコライダーが設定されていますが、たまたまアニメーションタイルマップではコライダーが設定されていなかったため今回紹介させていただきました。普段は気にする必要がないと思いますが、タイルマップでコライダーが設定できないぞ?っとなった時は今回の設定を見ていただければ直るかもしれません。

コメント

タイトルとURLをコピーしました