前書き
前回、TopDown Engineを購入して初めて動かす方法について記事を書きましたが、今回はある程度Demoを触ったうえでこれからオリジナル要素を加えていく方法について紹介していこうと思います。
前回の記事は以下になります。
どのDemoを使うか?
前回、いろいろなDemoを紹介しましたが”1″からゲームを作りたい場合は「MinimalScene2D」や「MinimalScene3D」を基にするのがいいと思います。
これらのSceneはステージとプレイヤーだけのシンプルな構成になっているため、最初から自分で作り込みたい人に向いています。
- MinimalScene2D
- MinimalScene3D
ただし今回は、Demoを使ってTopDown Engineに慣れることを目的とするため、「MinimalScene2D」ではなく「KoalaDungeon」を使い、キャラクターの差し替えや動作変更を試していきます。
- KoalaDungeon
KoalaDungeonにオリジナル要素を追加してみる
では早速、KoalaDungeonを元にオリジナル要素を追加していきましょう。
操作キャラクターを変更する
まず最初に、KoalaDungeonの操作キャラクターであるKoalaを、別のキャラクターに変更してみましょう。キャラクターを変更するには、「LevelManager」オブジェクトにある「LevelManager」コンポーネントの「PlayerPrefabs」になります。
初期設定ではKoalaが設定されていますが、今回はGrasslandsHornsRedに差し替えてみます。
(GrasslandsHornsBlue/Green/Yellowもありますが、WASDで動かせるのはRedだけなので注意しましょう)
LevelManagerはヒエラルキー上にあるので、まずこちらを確認します。

以下の場所にGrasslandsHornsRedがあるので、

PlayerPrefabsにGrasslandsHornsRedをアタッチします。

この状態で実行すると、キャラクターがKoalaからGrasslandsHornsRedに変わっていることがわかりますね。プレイヤーキャラクターを変えたい場合は、PlayerPrefabsを変更するだけで大丈夫です(ちょっと見つけづらいですが)
そのときの実行した動画が以下になります。
どうして武器を拾っても装備してくれないのか?
動画中の0:05~でライフルや剣を拾っていますが、右上のWeaponアイコンに武器が表示されず、キャラクターも装備していません。これを解決するため、KoalaオブジェクトとGrasslandsHornsRedオブジェクトのコンポーネントを比較してみましょう。

違いはいくつかありますが、今回注目すべきは「Character Inventory」コンポーネントです。GrasslandsHornsRed_Inventoryという新しいキャラクターを作成し、「Character Inventory」コンポーネントを追加してみましょう。

「Character Inventory」コンポーネントを追加した時の動画が以下になります。取得した武器を装備できていることが分かりますね。
GrasslandsHornsRedが持っていた元々の武器はどこに行ったのか?
武器を拾えるようになりましたが、今度はGrasslandsHornsRedがもともと持っていた剣が使えなくなってしまいました。これはKoalaとGrasslandsHornsRedで初期状態が違うためです。
- Koala:最初は武器を持っていない
- GrasslandsHornsRed:最初から武器を持っている
初期武器の設定は「Character Handle Weapon」コンポーネントのInitial Weaponで行っています。
以下はGrasslandsHornsRedのCharacter Handle Weaponですが「GrasslandsHornsRedSword1」という武器を持っている状態です。

この「GrasslandsHornsRedSword1」という武器はWeaponクラスで設定したオブジェクトであり「InventoryWeapon」クラスと紐づけした武器ではないというところが重要になります。
つまり
- InventoryWeaponに紐づけがない武器はInventoryに格納されない
- よって新しい武器に交換したところ元々あった武器は消えてしまった
という動きになります。
なかなか武器の作り方が分からないと何を言っているんだ?っという状況かもしれませんが、TopDown Engineのシステムを使ってアイテムを正しく作らないと消えてしまうと思っていただければ大丈夫です。
詳しくは以下の記事も参考にどうぞ
敵キャラクターの見た目を変更してみる
次に敵キャラクターの見た目を変えていきましょう。今回はKoalaDungeonの左下にいるNinjaSwordMaster(1)の見た目を変更していこうと思います。

キャラクターの見た目を変更する方法は以下にあるのでもしやり方が分からない方は以下の記事を参考に確認してみてください。
今回はNinjaSwordMasterのNinjaModelを「MinimalScene2D」などで使われているMinimalCharacterに差し替えます。
MinimalCharacterにはAnimatorがないので、
- NinjaModelのAnimatorを無効化
- MinimalCharacterのSpriteRendererを設定
これでGame画面上ではMinimalCharacterが敵として表示されます。


Game画面上にMinimalCharacterの状態で表示されると思います。

この状態で実行してみると以下のようになります。MinimalCharacterがプレイヤーを追いかけて攻撃するようになりました。今回はAnimatorを非活性にしているためアニメーションはありませんが同じようにAnimatorを変更してあげれば上手くアニメーションをしてくれます。
いままで学んだ要素をMinimalScene2Dに組み込んでみよう
今回は
- プレイヤーを変更すること
- 敵キャラクターの見た目を変更すること
の2点を説明しましたがこの2点の変更をMinimalScene2Dに適用してみましょう。
とりあえずざっと敵キャラクターをたくさん作ってプレイヤーをGrasslandsHornsRedにしてみました。

その時の動画が以下になります。ちょっとした変化ですがオリジナル感のあるアクションゲームになっているかなと思います。今回のキャラクターもTopDown EngineのDemoにあるキャラクターを使っていますがほかのキャラクター(UnityAssetにあるやつとか)を使うことで十分アクションゲームになるかと思います。
まとめ
TopDown Engineを購入したものの
「まず何をすればいいのか?」
という疑問を持つ方は多いと思います。
- Demoを使っていろいろ試してみる
- 学んだ内容をMinimalScene2Dに組み込んでみる
- また新しい要素をDemoで学ぶ
このサイクルを繰り返すことで自然と理解が深まり自分だけのゲームが作れるようになるはずです。TopDown Engineはいろいろできる反面、調べることもたくさんあるのでいろいろ試して実際にできるのか動かしてみましょう!
次回はDemoを使ってクリア条件の設定をやってみたいと思います。興味がある方はぜひご確認ください。
コメント