ikoan unity 開発メモ

Unityに関するアレコレを日々つづっていこうと思います

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などのプロパティについて。

正直、次のところに行きたいんだけど、
中途半端なのもモヤっとするしなぁ。
というわけで、次も多分タイルマップについて。