Unityの学習方法はたくさんあります。公式のチュートリアルや書籍、ブログ、YouTubeやUdemyなどの動画教材、有料のオンラインスクールなどがあります。
今回は『i-school』というオススメのサイトを紹介させてもらいます。
i-school
https://i-school.memo.wiki
i-schoolはUnityのゲーム制作を学ぶためのサイトで、無料で利用できます。豊富な教材があり、どれを始めればいいか迷うこともあるかもしれません。
Unity初心者の悩み:
ゲーム開発を始めたいけれど、どの教材を選べばいいのか、どうやって始めればいいのかわからない。特に、初心者向けのわかりやすい教材が欲しい。
今回はその中から1つ、『2Dタップシューティング』を学習しましたので、その内容を共有したいと思います。
目次
i-schoolの『2Dタップシューティング』について
ゲーム内容
i-schoolの『2Dタップシューティング』は、プレイヤーは動かず、マウスをクリックすると弾を発射するゲームです。敵は画面上部から現れ、一定数の雑魚が出現するとボスが登場します。プレイヤーの下の拠点に敵が当たるとライフが減り、ライフがゼロになるとゲームオーバーになります。ボスを倒すとゲームクリアです。
拡張編の学習時間
基本編,発展編に比べ工数が少ないため、数時間で終わりました。
学習の振り返り
各手順を振り返る
拡張1~4
特殊バレットが使用可能になったらアニメーション演出を行うようにします。
選択中のバレットの画像を少し暗くします。
if文の省略
if文が1行である場合に限り{}を省略して書くことができる。ということを学びました。
課題に挑戦
BulletSelectManager.csに追加した処理につけるコメントを自分で考えます。
DOTween.Toを使用してExpの増減時にアニメーションするようにします。
処理の順番や引数を変えたり、重複している処理を削除したりしました。
プレイヤーキャラの登場時の演出をアニメーションで行います。
バレット発射時、拠点ダメージ時、ゲームオーバー時にアニメーションを行うようにします。
アセットのAnimatorを開き、各アニメーションの設定をします。
デフォルトをidleにし、AnyStateから3種類のステート(attack,get_hit,die)にトランジションを繋げます。
新しくトリガーを3つ作成し、3種類のステートのトランジションに遷移条件を設定します。
CharaAnimationController.csを作成し、アニメーション演出を制御します。
PlayerController.csを修正し、マウスをクリックした時(バレット発射時)にCharaAnimationControllerのメソッドを実行するようにします。
DefenceBase.csを修正し、拠点ダメージ時とゲームオーバー時にCharaAnimationControllerのメソッドを実行するようにします。
なんかキャラクターがバインバインしているので原因を突き止める。
Can Transition To Selfにチェックが入っていたためループしていた。
この項目は「自分自身へ遷移できる」という項目なため、繰り返しアニメーションを行っていたという事みたいです。
Can Transition To Selfのチェックを外したら上手くいきました。
まとめ
拡張編は基礎編と発展編に比べ学習する量は少なかったものの、ゲームを華やかにさせるアニメーションの実装が多く作っていてとても楽しかったです。
今回はアセットやフリー素材を使用しているので、自分でアイコンやキャラクターとアニメーションを作って実装させたりしたくなりました。
i-schoolの教材はオススメ!
i-schoolはとてもいいサイトです。
今回の教材に限らず、いい教材がたくさんあります。
是非Unityの学習に役立ててみてください。
この記事を読んで挑戦したり、実際に取り組んだ方々のコメントをお待ちしています。