個人的勉強メモ置き場

プログラミングど素人のメモ置き場

Tilemap個人的メモ

Tilemapについて改めて学んでいるのでメモ

※2d-extras導入済み

参考

www.amazon.co.jp

Tilemapとは

Unity2017.2から導入されているUnity標準の2Dマップを作るのに便利な機能

 

TilePaletteの作成

Windows → 2D → TilePaletteでTile Palette Windowを開く

Create Bew Paletteで新しくパレットを作れる

 

ここにSpriteをドロップすることでTileアセットとして登録される

 

f:id:zykb:20200704173425p:plain

 

Tilemapオブジェクトの生成

ヒエラルキーウィンドウから2D Object → Tilemapで生成

 

パレットのブラシアイコンでタイルを選択するとシーン上に描写することが出来る

キーボードの「]」キー(もしくは「[」キー)を押すとタイルが回転するので便利

 

f:id:zykb:20200704213723g:plain

また、タイル1枚がグリッドの1マスと合わないときはPixels Per Unitの設定を適切なものに変更する必要がある

今回は一つのタイルサイズが16x16なので「16」とする

 

f:id:zykb:20200704214337g:plain

Colliderの設定

 タイルマップにコライダーを与える場合はTilemap Collider 2Dを使用する

f:id:zykb:20200704221540p:plain

Collider Type Sprite

TileアセットからCollider Typeを変更することも可能

None 当たり判定無し

Sprite スプライトの形の当たり判定

Grid 短形の当たり判定

f:id:zykb:20200704221644p:plain


作ったマップの外周のみを当たり判定としたい場合にはComposite Collider 2Dを併用する

f:id:zykb:20200704222201g:plain

 

直接編集することでコライダーのエッジを調整することもできる

SpriteEditor → Custom Physics Shape → 調整後Apply

適用したい部分を領域で囲む。線をクリックすると頂点を増やせる

f:id:zykb:20200704223325g:plain

 

Isometric Tilemapの作成

こんなの

f:id:zykb:20200704171813g:plain

 

奥行きのあるTilemapなのでSpriteの描写順序を制御する

Edit → ProjectSetting → Graphics 

Camera SettingsのTransparency Sort Mode → Custom Axis

X 0 Y 1 Z -0.26  とする

これはY軸が1、Z軸が-0.26より下のものを手前に描写するということ(たぶん)

セルサイズに合わせて変更する必要がある

 

Tile Palette WindowのCan Change Z Positionにチェックを入れたうえでショートカットの「-」「+」でZポジションの上下(上gif参考)