はじめに
先日、以下のゲームを制作して、記事を投稿しました
AstroRunというゲームを制作しました UnityRoomさんにアップロードしているため、画像クリックで直接ページに飛んでゲームをプレイすることができます。
このゲームはUnityの1つの機能である「TileMap」というものを勉強したいと思って作りました
その時の備忘録となります。
「AstroRun」について
私は、「スーパーマリオラン」や「TempleRun」などのいわゆるランゲームが結構好きでハマってしまうことがあるんですよね。
ゲームによってはプレイする度にマップが違うため、毎回違う対処を求められる部分とかがあったりして、そういうのが個人的には好きです。
じゃあそれを自分でもやってみようって思ったのが、今回のゲームを作った最大の理由でした。
本記事にて記述している内容
- タイルマップについて基本的な使い方
- 「TilePalette」の設定からエディター上での実際の設置まで
※スクリプトを使用したタイルマップの自動生成に関しましては次回の記事で説明します。
タイルマップとは
タイルマップは簡単にいうと、
2Dゲームでマップを作る時にペイント感覚で簡単に作っちゃおうっていう機能です
Unity2017.2から導入された機能で、スクリプトを書かなくて済むので
アーティストやデザイナーさんでも扱えるものになります
タイルマップの使用方法
パッケージマネージャーから「2D Tilemap Editor」をインストール
タイルマップを使用する上で、必要となるものをインストールしましょう。
もし、Unityのプロジェクト新規作成のテンプレートにて「2D」を選んでいる場合は、
最初からインストールされているはずです
- 「Window」→「Package Manager」を選択
- 「Packages: Unity Registry」を選択し、「2D Tilemap Editor」を検索してインストール
TileMapを使用するオブジェクトの生成
ヒエラルキーを右クリックし、「2D」→「TileMap」にてオブジェクトを生成
そうすることで、TileMapを設置することができる格子状の線が表示されます
TilePaletteの生成
- 「Window」→「2D」→「Tile Palette」を選択してTilePaletteウィンドウを表示させる
- 「CreateNewPalatte」を選択して新しいTilePaletteを作成。(名前は分かりやすいものを付けましょう)
タイルに使用するスプライトの作成
ここまでくれば、後はエディター上で「Tile Palette」を使用して自由にマップを作るだけになります。
ですが….まだタイルとして使用するスプライトをインポートしていないため、それを行う必要があります。
今回は、のっぺりとしたこんな感じの素材を使ってマップチップを作成します。
※ここのスプライトの設定は、使用する素材次第で変更するべきです。
これを、UnityのProjectにインポートし設定を以下の感じに変更します。
- SpriteModeをMultipleに変更
- SpriteEditorを開いて、PixelSizeを128×128にしてスライス
マップの作成
それでは、先ほどのマップチップを使用して実際にエディター上でマップを作成してみましょう。
- TilePaletteに先ほどインポートしたスプライトをドラッグ&ドロップしマップチップを登録
- エディター上で自由に作成!
冒頭にも記載した通り、本当にペイント感覚で塗ることができるので簡単にマップを作成することができます!
当たり判定の追加
このままだと画像を追加しただけですので当たり判定を追加します。
- ヒエラルキーの「TileMap」に「TileMapCollider 2D」を追加する
- ヒエラルキーの「TileMap」に「CompositeCollider 2D」を追加し、「TileMapCollider 2D」の「Used By composite」をチェックする
これで完了ですが、「TileMapCollider 2D」はすべてのタイルチップにコライダーを追加するため無駄が生じてしまいます。
そのため、「CompositeCollider 2D」を使用することでコライダーをまとめることができます。
最後に
以上がタイルマップの大まかな使用方法になります。
次回は、タイルマップの拡張機能の1つであるルールタイル(RuleTile)についての記事を投稿する予定です。
[2021/11/01 追記]
投稿しました:
タイルマップを使用して簡単にマップを作製しよう② ~ルールタイル(RuleTile)を用いたマップの作成~
[2021/11/02 追記]
投稿しました:
タイルマップを使用して簡単にマップを作製しよう③ ~スクリプトから作成する~