2D Game Kit はじめの一歩:ジャンプゲームを作ってみよう

2D Game Kit

2D Game Kit( https://unity3d.com/jp/learn/tutorials/s/2d-game-kit )は、Unity Technologiesが配布しているアセットです。一切、プログラムコードを書かずに、エディターでパラメーターを設定するだけで、2D横スクロールゲームが開発できます。アーティストやデザイナーが使うことを想定したプロジェクトですが、プログラマーにとってもスクリプトや設定方法を見ると参考になります。

この記事では、公式のGetting Startedのドキュメントを元に、セットアップから基本機能の組み込みを行ってみます。

(講義時間の目安:3時間)

目次

前提

  • Unity2017.3以降がインストールされていること
    • ない場合はこちらから、Personalをダウンロードしてインストールしてください
  • Unityの基本操作を理解していること

2D Game Kit を読み込む

Unityで新しいプロジェクトを作成して、そこに2D Game Kitを読み込みましょう。

プロジェクトの作成

Unityを起動して、以下の設定で新しいプロジェクトを作成します。

  • Unityを起動して、Newをクリックします

click-new

  • 以下の要領でプロジェクトを設定して作成します
    • Project nameを2DGKRensyuなど
    • 設定は2D
    • Locationは、日本語や全角文字が含まれていなければそのままで構いません
  • Create projectをクリックすると、新しいプロジェクトが作成されます

このチュートリアルでは、Layout2 by 3

2 by 3

ProjectビューをOne Column Layoutにしています。

one column

アセットを読み込む

Unityが起動したら、Asset Storeから2D Game Kitをダウンロードして、インポートします。

  • WindowメニューからAsset Storeを選択します
  • 検索欄に2D␣Game␣Kitと入力してEnterキーを押します
  • 2D Game Kitを見つけて、名前の部分をクリックします

click 2d game kit

  • アセットのページが表示されたら、ダウンロードをクリックしてダウンロードします
    • Unityにログインしていないと、アセットはダウンロードできません。ログインを要求されたら、Unityアカウントを作成してログインしてください

click download

  • ダウンロードが完了したら、ボタンがインポートに変わりますので、クリックします

import button

  • 以下のような警告が表示されますが、構わないのでインポートをクリックします

confirm import

  • データが展開されるまでしばらく待ちます

wait prepare

  • 展開が完了するとインポートダイアログが開きます。右下のImportボタンをクリックして読み込みます

import button

  • プロジェクトへのインポートが完了するのを待ちます。数分かかりますので、のんびり待っていてください

wait import

  • 読み込みが完了すると、Projectビューに2DGamekitフォルダーが表示されます

2dgk folder

以上で2D Game Kitが使えるようになりました。

サンプルで遊ぶ

サンプルとして作成されたゲームを遊んでみましょう。ゲームのタイトル画面であるTitleシーンを以下の手順で開きます。

  • Projectビューで、2DGamekitフォルダーの左の三角アイコンをクリックして開きます。続けて、Scenesフォルダーを開いたら、Startシーンをダブルクリックします

open start scene

  • Unityの画面上部にある三角形の実行ボタン(play button)をクリックしてゲームを開始します

play button

  • Gameビューにタイトル画面が表示されます。STARTをクリックするとゲームが始まります

game start

game scene

操作方法

デフォルトでは、以下のキーで操作します。

  • Aキー:左に移動
  • Dキー:右に移動
  • Sキー:しゃがむ
  • スペースキー:ジャンプ

少し進むとメッセージが表示されます。

first message

ちょっとした導入と操作説明です。先に進むと今度は以下のようなメッセージが表示されます。

s and space

「足元がスポンジのような奇妙な感じ。Sキーを押しながらSPACEキーを押すとどうなるかな?」

このままゲームを進めることができます。クリアするには少し時間がかかります。時間があれば、迷路の謎を解いて、最後のボスを倒してみてください。

操作方法を変える

Game Kitをいじってみます。まずはキーの割り当てを変更する方法を試してみましょう。PCゲームに慣れていれば、デフォルトのままでも操作できるかも知れませんが、慣れていないと難しく感じます。そこで、以下のように操作を変更します。

  • キー:左移動
  • キー:右移動
  • キー:しゃがむ
  • スペースキー:ジャンプ

実行ボタン(stop run)を押してゲームを停止します。Unityでは、ゲームを動かしながら行った変更は、すべて無効になってしまいます。変更したい時には、必ずゲームを停止させましょう。

  • ProjectビューからPrefabsフォルダーを開いて、Ellenプレハブをクリックして選びます

select ellen prefab

  • Inspectorビューで、Player Inputより上のコンポーネントが開いていると邪魔なので、左の三角アイコンをクリックして閉じます

close component

  • Player Input欄でキーの割り当てを変更します
  • Horizontalの左の三角をクリックして設定を開きます

open horizontal

  • Positive欄には、右移動で使いたいキーを設定します。クリックするとキーの一覧が表示されますので、Rキーを数回押して、Right Arrowが出てきたら選びます

select right arrow

  • Negative欄には、左移動で使いたいキーを設定します。Right Arrowを設定したのと同じ方法で、今度はLキーを押して、Left Arrowを選択します

select left arrow

  • しゃがみは、Vertical欄のNegative欄です。同様に操作をして、Down Arrowを設定してください(このゲームでは上操作はないのでPositive欄の設定は不要です。以下では統一感を出すためにUp Arrowを設定します)

set down arrow

以上で設定完了です。実行して、操作をしてみてください。矢印キーで移動操作ができるようになります。ジャンプは先ほどと変わらずSPACEキーです。変更したい場合は、Jump欄のKeyに使いたいキーを設定してください。

次は、公式ドキュメントのGetting Startedをもとに空白のゾーンから仕掛けを作っていきましょう。

練習

ジャンプや斬撃(Melee Attack)、ショット(Ranged Attack)のキーを好きなキーに割り当ててみましょう。

表示がおかしいとき

左向きのショットが表示されなかったり、斬撃が以下のように白くなっている場合、グラフィックの設定が必要です。

  • EditメニューからGraphics Emulation -> No Emulationを選択してください

WebGLなどにしていた場合、これで直ります。

新しいゾーンを作成する

Creating a New Sceneを元に、新しいゾーンを作成していきます。 2D Game Kit をインポートすると、開発のためのKit Toolsメニューなどが追加されます。これらを使って、主人公Ellenと小さな足場、HP表示、操作に必要な設定が済まされた最小限のゾーンを新規作成できます。

それでは、新しいゾーンを作成してみましょう。

  • Kit ToolsメニューからCreate New Scene…を選びます

  • New Scene Name欄に面の名前(例えばMyZone1)を入力して、Createボタンをクリックします

設定した名前のシーンがProjectビューに作成されます。

これをビルド設定に加えます。

  • FileメニューからBuild Settings…を選択します

  • ProjectビューのMyZone1をドラッグして、Scenes In Build欄にドロップして加えます

  • 以上できたら、ProjectビューのMyZone1シーンをダブルクリックして開きます

以上で、Ellen足場だけのシンプルなシーンが読み込まれます。

実行して、Ellenを操作してみてください。一通り操作することができます。足場から転落すると、ずっと落ち続けていきます。まだ何の仕掛けもしていないからです。

ステージを作ってみましょう。

ステージを作成する

公式ドキュメントの Painting a Level を参考に作業を進めます。

2D Game Kitは、Unity2017.2から導入されたタイルマップ(Tilemap)機能を利用して、足場の作成ができます。

  • WindowメニューからTile Paletteを選択します

  • 最初に表示されるのは、自分でパターンを選んで置くモードです。これでもレベルデザインはできますが、Tilemap paletteの真価を発揮するためにモードを切り替えます

  • 左上のコンボボックスをクリックして、TilesetGamekitに切り替えます

  • タイルが以下のように2種類だけのものに変わります

これがScriptable Tileシステムという凄いモードで、予め仕込んである地形の形状に応じて、自動的に足場のチップを組み替えてくれます。それでは地形を作成してみましょう。

地形を作成する

  • Tile Paletteで、どちらか一方のタイルをクリックして選びます

  • Tile Palette上部のツールが筆アイコンに切り替わりました

  • Sceneビュー上で操作することで、足場を設定できます

パターンを一切切り替えていないのに、上面や下の面が塗り分けられ、同じパターンが続かないように自動的にランダムなパターンを選んでくれています!

2つしかパレットはありませんが、これだけで自然な足場を簡単に作ることができるのです。

地形を消す

地形を消したい場合は、消しゴムアイコン()を選択して、消したい場所をクリックやドラッグするか、あるいはShiftキーを押しながらクリックやドラッグで消すことができます。

矩形塗りや塗りつぶし(あまりオススメしない)

以下のツールを選ぶとドラッグで選択した矩形範囲を塗りつぶします。ただ、現時点では処理速度が遅くて動きが不安定なので必要がなければ使わない方がよいです。使う場合は、範囲を選択したらその状態でしばらくマウスを止めて、塗りが確定するのを待ってから次の操作をするという感じです。

以下の塗りつぶしツールは、何もないところを選ぶとUnityがフリーズしてしまうので、現時点では使わない方がよいです!

これだけ知っていれば、自由に足場を作ることができます。ジャンプ移動が楽しそうなステージを作って、遊んでみてください。

補足

ゲーム中にF12キーを押すと、攻撃機能の有効・無効を切り替えるスイッチを表示できます。

最初は、Melee Attack(斬撃)とRange Attack(ショット)の両方ともチェックが入っていて使えます。不要な場合は、チェックを外すことでキーを押しても反応しなくなります。

ジャンプゲームを作ってみよう

ここから公式ドキュメントから離れます。公式ドキュメント通りに進めたい場合は、 Adding a Moving Platform から進めてください。

足場が作れるようになったので、落ちたらダメージを受けるようにしましょう。ゲームキットには、落ちるとダメージを受ける酸の水溜まりがあります。これをステージの下に設置しましょう。

  • Tilemap Paletteは閉じて構いません
  • Projectビューから、2DGamekit -> Prefabs -> Environmentのフォルダー左の三角アイコンをクリックして開きます

AcidSpikesトゲです。まずはAcidを選択して、ゲームの地面に敷き詰めましょう。

  • ProjectビューのAcidをドラッグして、Sceneビューの最下段にしたい辺りでドロップして配置します

  • Acidはステージ(Level)のオブジェクトなので、—- LevelArt —-の下にドラッグ&ドロップで移動させて、プロジェクトを奇麗に保ちましょう

酸の範囲は、Water Areaコンポーネントで調整することができます。ステージの下全体を酸が覆うように調整しましょう。

  • Sceneビューでステージ全体が表示されるように引き絵にします

  • Acidをステージの中央ぐらいになるように移動させます
  • InspectorビューからWater Areaコンポーネントを探して、Size欄のXYの値を大きくして、どこから落ちても大丈夫なサイズと位置に調整します

調整できたら、実行して遊んでみてください。酸に転落するとライフが減って、スタート位置に戻るようになります。また5回ミスするとゲームオーバーになります。

酸に落ちた時に地面の下が見えないように、画面外を足場で囲むなどするとよいでしょう。以下のようなステージにしてみました。

ステージクリアを作ってみよう

次のようなことを作ってみます。

  • ステージの右端にスイッチを仕込んで、それを踏んだらクリアします
  • クリアしたら以下を実行します
    • CLEAR!!という文字を表示
    • プレイヤーの操作を停止
    • CLEAR!!を一定時間表示したら消す
    • Ellenのライフを回復させて、スタート地点に戻す

実現方法を調べる

まずは同じようなことをしている場面をサンプルゲームで探します。Zone2の鍵を取ったところが参考になりそうです。

この場面を調べてみます。

  • Projectビューから2DGamekit -> Scenesフォルダー内にあるZone2シーンを開きます
  • 発動するのは鍵なので、HierarchyからKeyオブジェクトを選択します
  • Inspectorビューの重要部分を以下に示します

Director TriggerInteract On Trigger 2Dがこの演出のために使われているコンポーネントです。

Director Triggerは、対象となるオブジェクトが触れた時に、タイムラインの再生の開始とそれに伴う処理を呼び出して、タイムラインの再生が終わった時に実行したい処理を設定することができるコンポーネントです。

Interact On Trigger 2Dも同様に、対象となるオブジェクトが触れた時の処理を設定しますが、こちらは触れた時離れた時に実行したいイベントを設定できます。

サンプルでは以下のような処理をしています。

  • Director Trigger
    • EllenがKeyに触れた時
      • カメラの演出の再生を開始
      • Ellenの操作を無効にする
    • カメラの演出が終わった時
      • Ellenの操作を復帰
  • Interact On Trigger 2D
    • EllenがKeyに触れた時
      • Keyを拾ったのを表すオブジェクトを有効化
      • Keyの表示を消す
    • EllenがKeyから離れた時
      • Keyのオブジェクトを無効化
      • Keyを拾った情報を保存

以上からやりたいことを整理すると以下のようになります。

  • CLEAR!!という文字が表示されて、しばらくしたら消えるアニメーションをTimelineで作成
  • CLEAR!!を表示して消すTimelineを再生 -> Director TriggerOn Director Play
  • Ellenの操作の無効化 -> Director TriggerOn Director Play
  • シーンの切り替え -> Director TriggerOn Director Finish

ということでDirector Triggerコンポーネントのみで実現できそうです。それでは作成していきます。

CLEAR!!の作成

まずはCLEAR!!という文字を作成して、それをTimelineでアニメーションさせる部分を作りましょう。

CLEAR!!の文字を作る

CLEAR!!の文字をTextMesh Proで作ります。TextMesh Proとは、Unityで奇麗な文字を描画してくれる定番アセットで、2D Game Kitには最初から組み込まれています(Unity自体に最初から組み込まれていいレベルのアセットです)。

  • HierarchyビューのCreateからUI -> Canvasを選択します

  • 作成したCanvas—- UI —-の下に移動させて、Hierarchyを整理しておきます(やらなくても動作に影響はありませんが、マナー的な感じで)

  • HierarchyビューからCanvasをクリックして選択しておきます
  • InspectorビューのCanvas Scalerコンポーネントで以下を設定します
    • UI Scale ModeScale With Screen Sizeにして、画面サイズに応じてスケールを調整するようにします
    • Reference Resolution基準としたいデバイスの解像度を設定します。ここではiPhoneSEを基準にして、その解像度を設定しました
    • Screen Match ModeExpandにします。縦横比が異なった場合の調整方法で、Expandにすると画面から出ないように調整してくれます

  • HierarchyビューのCanvas右クリックして、UI -> TextMeshPro – Textを選択します

  • InspectorビューのTEXT INPUT BOXCLEAR!!に書き換えます

これで画面の中央付近にCLEAR!!と表示されます。

これだと寂しいので調整を加えます。

  • InspectorビューからFONT SETTINGS欄を以下のように修正します
    • Font AssetをRajdhani-Bold SDF(他のでも構いません)
    • Alignmentを中央揃えに設定
    • Wrapping & Overflow欄をDisabledとOverflowに設定(折り返しが不要な場合、この設定をしておくと便利)

これで基本設定ができたので、あとはフォントの大きさや色を自由に調整してください。Color Gradientにチェックを入れると、文字にグラデーションも設定できます。

とりあえずこんな感じにしてみました。

Timelineで演出を作成する

表示したい文字ができたので、表示して、しばらく待ってから、消える、という演出を作ります。このような演出にはTimelineが便利です。

  • Projectビューの何もない場所を右クリックして、Create -> Folderを選んで新しいフォルダーを作ります

  • フォルダー名をTimelinesにします

  • 作成したTimelinesフォルダーを右クリックして、Create -> Timelineを選択します

  • 名前をClear Timelineにしておきます

タイムラインは、演出方法を定義するアセットと、それらのアセットをHierarchyのオブジェクトに結びつけるインスタンスの2つをセットにして運用します。アセットの方は、今作成したClear Timelineです。インスタンスは、Clear TimelineをHierarchyに配置すれば自動的に作成されます。

  • ProjectビューからClear Timelineをドラッグして、Hierarchyビューの何もないところにドロップします

  • HierarchyビューにClear Timelineが生成されるので、—- UI —-の下にドラッグ&ドロップで移動しておきます

  • Inspectorビューから、Play On Awakeのチェックを外して、シーン開始と同時にアニメーションしないようにします

演出を作成するために、タイムラインのデータを作成します。

  • HierarchyビューからClear Timelineを選択しておきます

  • WindowメニューからTimelineを選択します

  • Timelineウィンドウが表示されたら、右上の鍵アイコンをクリックしてロックをしておきます。こうしておくことで、Clear Timeline以外を選択した時でも、Clear Timelineについて編集し続けることができます

  • CLEAR!!の文字の表示と非表示を演出したいので、AddボタンからActivation Trackを追加します

  • オブジェクトの有効・無効を切り替えてくれるActivation Trackが追加されました。ここにCLEAR!!のテキストを割り当てます

  • HierarchyビューからCanvasの子供のTextMeshPro Textをドラッグして、TimelineエディターのNoneの部分にドロップします

これで、このタイムラインを実行開始すると、CLEAR!!が表示されるようになりました。以下で動作を確認してみてください。

  • Unityを実行します
  • CLEAR!!の文字は消えているはずです
  • Timelineエディターで再生ボタンを押します

ボタンを押すとタイムラインの再生が始まって、CLEAR!!が画面に表示されます。Activationの無効化をしていないので、タイムラインが終わっても表示されっぱなしですが、これは後で調整します。

文字を簡単にアニメーションさせてみましょう。

  • TimelineエディターのAddをクリックして、今度はAnimation Trackを追加します

Animation Trackは、指定のオブジェクトのパラメーターを時間経過に沿って変化させることができるトラックです。Animationという名前ですが、あらゆる公開パラメーターを変化させることができるので応用範囲が広いトラックです。

  • HierarchyビューからCanvasの子供のTextMeshPro Textをドラッグして、Animation TrackNoneの部分にドロップします

  • ポップアップが表示されるので、Create Animation on TextMeshPro Textを選択します

これでアニメーションを付けることができます。Create Animator on TextMeshPro Textを選択したので、アニメーションはタイムラインアセットに保存されます。

アニメーション付けをする時は、以下のようにTimelineエディターとGameビューが同時に見れるようにしておくと便利です。

  • Animation Track録画ボタンをクリックして、アニメーションを記録する状態にします

  • HierarchyビューからCanvasの子供のTextMeshPro Textを選択します

  • InspectorビューでFont Size0にしてEnterキーを押します

これで、最初のフレームにキーフレームが打たれて、文字サイズが0からアニメーションが開始するようになりました。

0.5秒で文字が大きくなるようにしてみましょう。デフォルトでは60フレームで1秒間が経過する設定になっているので(Clear Timelineアセットの設定)、30フレームに移動します。

  • Timelineエディターの上部にある数値のボックスを30に書き換えてEnterキーを押します。再生位置が30フレーム目に移動します

  • InspectorビューからFont Sizeを表示したいサイズにします(例では200)

これで文字が拡大して表示される演出ができました。フレームを戻して、再生ボタンを押して動きを確認してみてください。

注意!

TextMesh Proは時々、文字が表示されなくなるバグが発生します。文字が見えなくなった場合は、一度Unityを再生したり、文字を書き換えたりして、変化させるなどして、文字が表示されるようにしてください。

3秒経ったら消すようにします。150フレームで縮小開始、180フレームでFont Sizeを0にしましょう。

  • フレームを150に変更して、Enterキーを押します

  • HierarchyビューでCanvasの子供のTextMeshPro Textを選択します

  • InspectorビューからFont Sizeを設定します。ここのFont Size200なのですが、同じ値ではアニメーションが設定されません。そこで、一度別の値、例えば0にしてEnterキーを押してアニメーションを設定してから、改めて200に戻してEnterキーで設定します

  • フレームを180にしてEnterキーを押します

  • InspectorビューでFont Size0に設定して、Enterキーを押します

これでアニメーションの作成完了です。録画ボタンをクリックして、アニメーションの設定を停止します。

フレームを戻して再生をすると、できあがったアニメーションを確認できます。

現在は300フレーム、つまり5秒間のアニメーションですが、3秒にしましょう。

  • Activateの右端にマウスカーソルを合わせて、左右矢印アイコンになったらドラッグして、179フレームのところまで縮めます

以上で、文字のアニメーション完成です!文字のサイズや色、透明度などを調整して、好みの演出を加えてみてください。

このままだと、CLEAR!!が表示されっぱなしになりますので、Font Size0にしておきます。

  • HierarchyビューからCanvasの子供のTextMeshPro Textを選択します

  • Font Size0にします

 

注意!!

本当は、TextMeshPro Textオブジェクトを無効にしておいて、Activation Trackで有効と無効を切り替えるのがセオリーです。ところが、手元の環境で確かめたところ、実行中にTextMeshPro Textを有効にしてもCLEAR!!が表示されない不具合が発生したため、Font Size0にしておくことで表示しないようにしました。この方法の場合、Activation Trackは不要ですが、不具合が直った時に本来の手法に戻せるように手順を残しておきました。

 

ゴールの設置

材料ができたので、ゴールを設置します。ゴールはReusableBoxで判定します。

  • Projectビューから2DGamekit -> Prefabs -> Interactablesの左の三角アイコンをクリックして開きます

  • ProjectビューからReusableSwitchをドラッグして、Sceneビューのゴールの位置に配置します

  • 上下逆なので、InspectorビューのRotationZ0にしてもとに戻します

  • ちょうどよさそうな位置に移動させます

仕掛けを設定する

ReusableSwitchに仕掛けを設定します。先に調べた通り、Director TriggerコンポーネントがTimelineを制御する機能を持っていますので、それを追加して、イベントを設定していきます。

  • HierarchyビューからReusableSwitchをクリックして選択します

  • Inspectorビューの下のAdd Componentをクリックして、検索欄にdirと入力すると、Director Triggerが見つかるので、選択して追加します

  • 対処となるオブジェクトと振る舞いを設定します
    • HierarchyビューからEllenをドラッグして、InspectorビューのTriggering Game Object欄にドロップ
    • HierarchyビューからClear Timelineをドラッグして、InspectorビューのDirector欄にドロップ
    • InspectorビューのTrigger TypeEverytimeに変更して、毎回発生するようにする

これで、EllenReusableSwitchに触れると、Clear Timelineの再生が始まるようになります。一度動きを確認してみるとよいでしょう。

Timelineを再生する時にEllenの操作を無効にしてみましょう。

  • HierarchyビューでReusableSwitchが選択されていることを確認します

  • InspectorビューのOn Director Play()欄の右下の+をクリックします

  • Ellenの操作を解除したいので、HierarchyビューからEllenをドラッグして、On Directory Play()欄に追加された場所のNoneの欄にドロップします

  • InspectorビューのNo Functionとある欄をクリックすると、メニューが表示されます

  • PlayerInput -> ReleaseControl (bool)を選択します

  • チェック欄が追加されるので、チェックを入れます。これは、操作を無効にするのと同時に、キー入力の情報をクリアするという意味です。とりあえずチェックしておくとよいでしょう

これでクリアするとEllenが操作できなくなります。スイッチと連動した処理が実装できたことを試してみてください。

最後に、スタート地点に戻す処理を加えます。シーンを移動させるには、Scene Controller Wrapperというスクリプトを配置しておく必要があります。Ellenに持たせておきましょう。

  • HierarchyビューからEllenを選択します

  • Inspectorビューの一番下にあるAdd Componentボタンをクリックしてメニューを出します

  • 検索欄にscと入力すると、Scene Controller Wrapperが見つかるので、選択して追加します

このスクリプトをReusableSwitchのイベントで呼び出すように設定します。

  • HierarchyビューからReusableSwitchをクリックして選択します

  • InspectorビューのOn Director Finish()欄の右下にある+をクリックして、欄を追加します

  • HierarchyビューからEllenをドラッグして、Inspectorビューに今追加した欄のNoneの箇所にドロップします

  • Inspectorビューで設定した欄の右上のNo Functionとある欄をクリックして一覧を表示します

  • SceneControllerWrapper -> RestartZone (bool)の順に選択します

  • チェック欄が表示されるのでチェックを入れます。これにより、ゾーンをリスタートすると同時に、パラメーターを初期化してくれるようになるので、HPが回復します

以上で完成です。実行して遊んでみてください。クリアすると、Ellenの操作ができなくなり、CLEAR!!が表示されて、CLEAR!!の文字が消えると、スタート地点に戻ります。ミスをしている状態でクリアするとHPが回復します。

 

BGMを再生する

 

無音なのも寂しいので、BGMを鳴らしてみましょう。BackgroundMusicPlayerプレハブが用意されていて、シーンに配置しておくと開始と同時にBGMを再生しつつ、環境音も流してくれます。

  • Projectビューから2DGamekit -> Prefabs -> Audioフォルダーを開きます

  • BackgroundMusicPlayerをドラッグして、Hierarchyビューの—- GameUtilities —-の下にドロップします

以上できたら、BGMが再生されるようになります。

BGMを変更したい場合は、Hierarchyビューに配置したBackgroundMusicPlayerを選択して、Inspectorビューを見てください。

Music Audio Clipとある欄に音源データをドラッグ&ドロップすれば、その曲に変更することができます。

Unityでは、MP3OGGWAVファイルを鳴らすことができます。

まとめ

コードを一切書かずに、ゲームっぽいものが出来上がりました。これを土台にして、例えば背景を書き換えたり、主人公のキャラクターのグラフィックを差し替えたり、タイルマップのデータの作り方を調べるなど、ゲームで利用するグラフィックの勉強に使うことが考えられます。

プログラマーであればソースコードを開いてみてください。面白いテクニックがあちこちで使われています。

TilemapTimelineなども簡単に触れてみました。それぞれ、有用な機能ですので気に入ったら調べてみてください。Tilemapのルールは、Projectビューの2DGamekit -> Art -> TileMapPalettes -> Tilesetフォルダー内の〇〇Rulesです。確認してみると面白いと思います。

タイトル画面に戻せないの?

クリアしたり、ゲームオーバーになったらタイトル画面に戻ればいいのに、と思うのですが、現バージョンではその辺の処理は考えられていないようです。もしかしたらどこかにあるかも知れませんが、サンプルゲームでもできませんし、ざっとプロジェクト内を眺めた限りはそれらしい機能は見つけられませんでした。

スコアなどの実装も現状では自分でスクリプトを書かないと難しそうです。まだ新しいアセットのため、あれ?っということが出来なかったりします。とりあえず、サンプルゲームと同様の迷路を探索するタイプのゲームを作ってみることをおススメします。

 

参考URL

Print Friendly, PDF & Email

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です