Unity 2Dアクションの作り方【装飾・背景】
さて、前回はグラフィックの差し替えを行いました。しかしながら、グラフィックの賑やかしや飾りの付け方、背景についての解説がまだなので、今回はそれらについて解説します。
この記事は本のように順を追って解説しています。この記事は途中のページになります。この記事を見ていて、現在の状況がわからない場合や忘れてしまった事などが出てきたら↓のリンクから目次ページへ飛べますので立ち戻って見てください。
Unity入門【初心者為の使い方講座】【実際にゲームを作って解説】Unity初心者入門講座としてエディタの使い方を解説しています。インストールから基本、プログラミング、チュートリアルとして2Dアクションゲームの作り方を解説しています。また、動画での解説も行っているので未経験の人でもわかりやすいかなと思います。dkrevel.com2022.04.25ページメニュー- <グラフィックを飾ろう>
- <Tilemapをレイヤー分けしよう>
- <背景を作ろう>
<グラフィックを飾ろう>
さて、前回いきなり棒人間からグラフィックがパッと変わってしまったわけですが、タイルマップに地面だけではなく木や草が映っています。
これらの賑やかしを作っていこうと思います。
これはもう一個タイルマップを作成します。
次にTile Paletteに賑やかしのグラフィックを追加します。
自分で描いてもいいですし、アセットストアを利用する手もあります。↑は前回おススメで紹介したアセットを使用しています。
タイルマップとタイプパレットの使い方を忘れた方、わからない方は↓の記事を参考にしてください。
Unity Tilemapの使い方UnityのTilemapの使い方について解説している記事です。Tile Palleteを使用して2D空間にマップチップを並べていく機能です。Tilemap Collider 2Dを使用してマップチップに当たり判定を追加する事ができます。dkrevel.com2019.12.24UnityのTile Paletteの使い方【標準機能】Unityの機能であるTilemapを使用するためのTile Paletteの使い方について解説しています。Tile Paletteについて詳しく知っておくとTilemapを使う際に便利だと思うので、タイルマップを使用する際にご活用ください。dkrevel.com2019.12.20これでステージを作成した時のようにタイルマップを塗ればいいのですが、一つ注意点があります。
必ず地面の方のTilemapを非アクティブにしてから塗る事
です。
Tilemapがシーン上に複数ある場合、Tile Paletteでどっちのタイルマップに塗るのかを選択できます。
が、これ非常に間違いやすく、ゲームオブジェクトを選択しただけで切り替わってしまうので気づかないうちに違うタイルマップを選択してしまうという事がよくあります。
ゲームオブジェクト自体を非アクティブにすればここに表示されないので、塗らないタイルマップは必ず非アクティブにする事で間違いをしないで済みます。
が、ここで問題があって、地面がどうなっているか確認しないと飾りを置く事ができません。
が、地面の方にはTilemap Collider 2Dがセットされているので間違えて塗ってしまうと変な当たり判定が発生してしまいます。
間違えて塗るとやり直し作業が非常に大変になってしまいます。
と、いう事で非常にめんどくさいですが、塗らないタイルマップを逐一非アクティブにするクセをつけると良いと思います。
すごくめんどくさいですが、やり直しが発生するよりかはマシなのでクセをつけていきましょうです。
<Tilemapをレイヤー分けしよう>
さて、飾りつけ用のタイルマップを作成する事ができたらステージと飾り付けの表示順番をちゃんとしてあげなくてはいけません。
Tilemap RendererのインスペクターでSorting Layerを選択して、
Add Sorting Layer…を押してください。
下の+ボタンを押して、新しいレイヤーを追加してます。
飾り付けを前に持ってきたかったらLayerを下の方に、奥に持っていきたかったら上の方にLayerを持ってきましょう。
Tilemap RendererのSorting Layerを目的のものに設定すれば
このように絵が重なってしまう部分が出てきても奥から手前に描画されてちゃんと表示されるようになります。
スポンサーリンク<背景を作ろう>
次は背景を作っていきましょう。
背景の絵を描くのはちょっと難しいのですが、シームレステクスチャというものを描きます。
シームレステクスチャというのは繰り返し表示された時、つなぎ目に違和感が無いテクスチャです。↓のような感じです。
ステージの背景の場合はテクスチャの左側と右側が繋がるように作成します。
お絵かきソフトによってはワンクリックでシームレスにしてくれる機能を持っているソフトもあるので、自分で描く方は「お使いのソフト名 シームレス」などで検索してみるとやり方が出てくると思います。
シームレステクスチャが無理な場合は、↓のように単色の画像だけを伸ばし、前に飾りつけ用のテクスチャを並べるだけでも背景を作ることが可能です。
シームレステクスチャが用意できない場合アセットストアでシームレステクスチャを探しても良いかもしれません。
↑のテクスチャは↓のアセットを使用させて頂いています。
Free Platform Game Assets | 2D Environments | Unity Asset StoreElevate your workflow with the Free Platform Game Assets asset from Bayat Games. Find this & more Environments on the Unity Asset Store.assetstore.unity.comさて、シームレステクスチャを用意できたら設定が必要です。
テクスチャタイプをSpriteに変更して
MeshTypeをFull Rectに変更し、Wrap ModeをRepeatに変更してApplyを押してください。
テクスチャタイプとSpriteの解説は↓の記事で解説しているので詳しく知りたい方はこちらをご覧ください。
詳しく知りたい方向けUnityのスプライトについて【Sprite】Unityのスプライトについて詳細に解説しています。テクスチャタイプをSprite(2D and UI)に指定するとスプライトになり2Dグラフィックオブジェクトとなる為3Dでも扱えます。生成されるポリゴンの設定など様々な事を調整する事ができます。dkrevel.com2019.12.20Unityのテクスチャタイプと設定【標準機能】UnityのTexture Typeについて解説しています。テクスチャタイプが変わると画像の性質が変わるので、使用したい目的に合わせてテクスチャタイプを変更しましょう。テクスチャをうまく扱えるようになると容量を可能な限り減らしたり、より美しい表現ができるようになります。dkrevel.com2019.12.20後はシーン上にスプライトをドラッグすればシーンに追加できます。
すると、↓のようなコンポーネントがついたゲームオブジェクトが作成されます。
↑のDraw ModeをTiledに変更し、出てきたWidthを変更する事でテクスチャの長さを変える事ができます。
はい、これで背景の大きさを自在にする事ができるようになりました。
そして、Tilemapの時と同じようにSorting Layerをクリックし、Add Sorting Layer…を押してください。
今度は背景用のレイヤーを作成します。
これで背景を一番後ろに表示されるようにして、Sprite RendererのSorting Layerを背景用のものに変更したら
はい、だいぶステージが出来上がってきました。
何かうまくいかない事があった場合は↓の記事を参考にしてみてください
Unityでうまくいかないできない場合に確認すること【初心者向け】Unityで詰まった場合に、どこをまず確認すべきかについて解説しています。Unityでうまくいかない、できない事があった場合はまず落ち着いて各種項目を確認していきましょう。dkrevel.com2020.04.07最低限↓の動画の要件を満たしていない質問は受けかねるので、ご理解ください。
また、筆者も間違えることはありますので、何か間違っている点などありましたら、動画コメント欄にでも書いていただけるとありがたいです。
さて、だいぶ形になってきました。もうそろそろ出来上がりそうですが、ちょっと敵のバリエーションが少ないので次回は敵の種類を増やしていこうと思います。
目 次Unity入門【初心者為の使い方講座】【実際にゲームを作って解説】Unity初心者入門講座としてエディタの使い方を解説しています。インストールから基本、プログラミング、チュートリアルとして2Dアクションゲームの作り方を解説しています。また、動画での解説も行っているので未経験の人でもわかりやすいかなと思います。dkrevel.com2022.04.25次の記事Unity 2Dアクションの作り方【飛び道具を持つ敵】Unityの2Dアクションの作り方を初心者の方でもわかりやすいように解説している入門記事です。今回は飛び道具を持つ敵を作成していきます。弾を発射してプレイヤーに当てるところまで解説しています。dkrevel.com2021.03.25