UnityのTilemapをプレイモード中に編集する

実行中に編集したいTilemapが一つだけなら以下の方法でもできます。

  1. プレイモード中にタイルマップを編集する。
  2. プレイモード終了前に目的のTilemapコンポーネントをインスペクタから右クリックして「Copy Component」する。
  3. プレイモード終了後、コピーしたコンポーネントを元のTilemapオブジェクトに「Paste Component」すればプレイモード中に編集した内容を残せる。

ただ複数のTilemapを編集出来ないし、ちょっと面倒ではある。それにコライダーを一回OnOffしないと反映されてないっぽい気もする。

Editor拡張で何とかする。

プレイモード終了時にタイルマップのデータをキャッシュしてエディタに戻る時にキャッシュしたデータをセットする。

Editorフォルダを作ってその中に以下のスクリプトをコピーする。

Editorフォルダ以下でないとビルドしたときにエラーが出る。

[Window]から開けます。

タイルデータの取得方法を探すのに苦戦した。