今回も引き続きレベルデザインを行います。
前回は、Unityのタイルマップ機能を使用して、ステージの地形を作成しました。
このステージに、草木やトラップ、コインを配置してレベルを装飾していきましょう!
草木の追加
レベルの見栄えを良くする要素に、草と木があります。これは3Dゲームのレベルデザインでも同じで、草木を追加するだけで格段とクオリティがアップします。
草木は「Assets > BayatGames > Free Platform Game Assets > Environments > Environments > png > All > 1x」のものを使用しました。
背景と同様にPrefabを作成して、シーンビューにドラッグ&ドロップして配置します。
位置を微調整したい場合は、左から二番目の移動ツール(ショートカットキー:M)や、インスペクターでPositionの値を変更します。
草木追加後の画像です。見栄えが格段と良くなりましたね!
草木の配置後、空のゲームオブジェクトを作成・Environmentsに名前変更し、プレファブを子オブジェクトにして整理しました。
敵キャラの追加
アクションゲームですから、敵キャラは必要不可欠です。プログラムを組まないと動作はしませんが、イメージを掴むために配置していきます。
敵キャラは「Assets > BayatGames > Free Platform Game Assets > Enemies > Enemies > png > 128×128 > Mace」を使用しました。
この敵は、プレイヤーが近づくと上から落ちてきて攻撃するようにプログラムを組む予定です。
敵キャラも使い回したいので、Prefabを作成します。そして、シーンビューにドラッグ&ドロップして配置します。
敵キャラの配置後、空のゲームオブジェクトを作成・Enemiesに名前変更し、プレファブを子オブジェクトにして整理しました。
トラップの追加
ゲームにはある程度難易度が必要です。簡単にクリアできてしまうと、クリアしたときの達成感を味わえないからです。
しかし、難易度が高すぎても逆効果です。なぜなら、クリアできずに途中でプレイを放棄してしまう可能性が高まるからです。
以上の理由から、トラップは多すぎず少なすぎず配置することをおすすめします。
せっかくなら、プレイヤーにはクリアしてもらいたいですよね!
トラップは「Assets > BayatGames > Free Platform Game Assets > Enemies > Enemies > png > 128×128」のものを使用しました。
先ほどと同様の手順でトラップを配置・整理しました。
コインの追加
ゴールを目指す形式のアクションゲームは通常、複数のゴールへの道があります。そうすることで、プレイヤーに独自のルートを開拓する、やりこみ要素を与えることができます。
コインは、その「やりこみ要素」をより面白くするアイテムです。
コインがあることで、プレイヤーは難しいルートを攻略する意欲が湧きます。
コインは「Assets > BayatGames > Free Platform Game Assets > Coin Animation > png > 2x」のものを使用します。
アニメーションに対応している素材なので、コインはアニメーションさせるようにしましょう。
image 1を選択した後、Shiftキーを押しながらimage 16を選択します。そうすることで、image 1~image 16の画像が複数選択できます。
複数選択した状態で、シーンビューにドラッグアンドドロップします。すると、アニメーションの保存先を決めるダイアログが出てきます。
保存先は任意で構いませんが、分かりやすいように「Animations」フォルダを作成後、「Coin Animation」という名前で保存しました。
そうしましたら、今までと手順は同じです。
コインのサイズは大きかったので、InspectorのScaleの値を0.4に設定しました。
Prefabを作成後、配置・整理しました。
加えて、プレファブの名前が「image 1」と分かりにくかったので、「Coin」という名前に変更しました。
ゴールの追加
いよいよ最後の装飾物となります。
アセットの中に、宝箱の素材がありました。そのため、この宝箱を開けたらゲームクリアというルールにすることを想定して配置していきます。
ゴールは「Assets > BayatGames > Free Platform Game Assets > Chests > Chest > png > Separate > 1x > 1-1x」を使用しました。
将来的には、プレイヤーが宝箱に触れたら開くアニメーションさせる予定です。しかし、Animator機能を使用する必要がありますので、現段階では静止画にします。
Prefab化してから配置します。名前は分かりやすいように「Goal」としました。
これで、レベルデザインは完了とします。解説は例としてデザインしたものです。皆様が好きなようにレベルを構築してみてください!
使用アセット一覧
「Unityで2Dアクションゲームの作り方を解説」で紹介・使用するアセットは全て無料のものです。
以下は、現在使用中のアセットです。
次回について
次回はプレイヤーを追加するとともに、Sprite画像の設定方法を解説します。