UnityのTilemapにおいて、TilemapにTilemapCollider2D・CompositeCollider2Dを付与したとき、次の画像のように予想外のColliderのエッジが生じてしまうことがあります。
詳しい発生条件はわかっていませんが、私は次の環境で再現しました。
- Unity 2017.3.1p4
- Windows
-
2d-techdemosの次のTileを使ったとき
- RuleTileのDungeonTile
- TerrainTileのPBricks
この期待しないColliderのエッジが生じてしまった時の回避策を紹介します。
対象のTilemapの親オブジェクトのGridゲームオブジェクト、そのGridコンポーネントのCellGapの値を調整します。
多くの場合、CellGapは、x,y,zすべて0に設定することが多いと思われますが、次の図のように非常に絶対値の小さな負の値を設定します。
このようにCellGapを設定することで、発生してしまった期待しないCollderのエッジを消すことが可能です。
おそらく、期待しないのColliderのエッジが生じてしまうこの現象は不具合かと思われますが、暫定的にこのように対処することで回避することが可能です。


