unity タイルマップ(1)
はじめに
動きを確認したいサンプルプロジェクトを作りたくなり、背景動かさないとなーということで
そういえばタイルマップエディタできたんだよなーと思い出し、触って見ることに。
環境
Unity2018.2f
手順
とりあえず何も調べずに、GameObject > 2D > TileMap を選択。
すると、Grid とその子に当たる Tilemap というGameObjectが生成された。
見た感じ、Gridがどれだけ繰り返すかというパラメータを持ちそう。
となると、Tilemapの方が表示するSpriteのデータを持ちそうな感じがする。
とはいうものの、TilemapのMaterialのところ見ても、あれテクスチャ設定できるところなさそうなんだけど・・・?
仕方ない、調べるか・・・
調べてみた
Sprite用意するまでは予想してたけど、Tileアセットを用意しないといけないのかー。
Project > Create の Tile を設定。
ここでSpriteのところにTextureをセットする。
一枚のテクスチャで複数のTileをセットする場合は、ここで複数のTileを作らなきゃいけないのかな?
今回はテストなので、テクスチャの設定はSingleのSpriteなので、そのままD&D。
Collider typeってのが気にはなるけど、一旦ほっとこう。
次にこれ必須なのかな?
WIndow > 2D > Tile Palette でTile Palette とやらを作るらしい、
で、ここにさっき作ったTileアセットをD&Dするって書いてあるのでやってみよう。
うん、それっぽくできた。
少し読み進めると、スライスしたSpriteを直接D&Dしてもいいって書いてあるんだけど、
これTileアセットの存在意義って・・・?
複数のテクスチャから自由にタイルを拾ってきて、Tile Palleteを作るための仕様なのかな?
ドローコールがテクスチャ単位なのか、それともTile Pallete単位なのかで変わってきそうだけど。
あとで試してみよう。
実際に並べてみた
さてここまでできたら、実際に並べられるようになるみたい。
先ほど作ったTilemapオブジェクト選択して、Tile Palleteから配置したいTileを選択して、
それをScene Viewでグリグリグリ〜〜〜〜〜〜
おー塗れた塗れた。
けど、なんか塗ったり消したりがいまいち直感的じゃないなぁ。
塗りたいところ塗ろうとしてるのにずれたり、消そうとしているところの一列左選択しないといけなかったり。
これブラシのせいなのかな。それともアンカーやグリッドサイズの問題なんだろうか。
塗った後にCell Size変更すると予想だにしない穴あくしなぁ。
これはもう少し勉強しないとダメだなぁ。
ちなみにGridをOn/Offして比較して見ると
トライアングル数は約200ぐらいの差。まぁこれに関してはこんなもんかなぁとは思うけど
なぜかSetPassとbatch数が2変わるんだよね。
これはこの前置いたボタンとなにか影響あるのかもしれないけど。
それとも、TileMapはデフォルトで2パス?
次は
さて、実際にタイルマップで並べてみたけど、新たに疑問も湧いたわけで。
・ブラシがいくつかパターンあるらしい
・なんか塗られかたや消されかたにどうも違和感
・どうせならちゃんと複数タイルあるテクスチャで試したい。
・ドローコールやバッチはパレット単位?テクスチャ単位?
・CellSizeなどのプロパティについて。
正直、次のところに行きたいんだけど、
中途半端なのもモヤっとするしなぁ。
というわけで、次も多分タイルマップについて。