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のエッジが生じてしまうこの現象は不具合かと思われますが、暫定的にこのように対処することで回避することが可能です。