i-school - 2Dタップシューティングゲーム 拡張3
 2回の手順に分けて、キャラモデルの演出を追加します。
実装内容は、キャラモデルの登場時のアニメ演出と、各アクションに応じたアニメーションの再生制御処理になります。

 まずは最初にキャラモデルの登場時のアニメ演出を実装します。


<実装動画 キャラモデル登場時>
動画ファイルへのリンク


 以下の内容で順番に実装を進めていきます。


拡張3 −キャラモデルのアニメ演出の追加−
 5.どのような演出にするか検討し、ロジックを考える
 6.修正が必要なスクリプトを特定し、キャラモデルの登場時のアニメ演出処理を実行する処理を追加する



 新しい学習内容は、以下の通りです。

 ・処理を組み合わせた演出を考えて実装する



5.どのような演出にするか検討し、ロジックを考える

1.設計


 前提としまして、この処理は手順4の応用課題でキャラモデルを実装している必要があります。

 ゲームスタート時に最初からキャラが設置されていてもよいですが、この部分をアニメ演出して、キャラをゲーム画面に登場するように演出してみます。
ただし、ゲームスタート時にはオープニングの演出がありますので、この演出と上手くマッチするタイミングで、キャラを登場させるような設計を考えます。


2.実装例


 今回のケースでは、キャラモデルの登場アニメの演出について DOTween の Sequence 機能を利用して制御を行っています。
また、yield による中断処理も利用し、オープニングのアニメ演出とタイミングを合わせてキャラが登場するような演出を目的としています。

 1・ゲームスタートに合わせてオープニングのアニメ演出が実行される
 2.オープニングの演出の途中、画面の中央のロゴが右方向へと移動を開始したタイミングで
 3.キャラモデルをアニメ演出させて登場させる

 このような処理のイメージで考えています。これを制御する方法を考えましょう。


3.ロジックを考える


 今までの実装例を元に、どのようなロジックを組むことが出来れば処理が実装できるのかを考えてみてください。

 また、どのような手順で実装を進めていったのかも一緒に考えてみましょう。
多くの場合、必要な処理が判明した時点で、該当するスクリプトに変数やメソッドの形で処理を実装し、
それをタイミングに合わせて呼び出すことによって処理を動作させていたと思います。

 この手順を振りかえってみて、どのようなロジックの流れが必要なのか、
メソッド、変数を用意するのが適切であるのか、自分で深く考えていってみましょう。


6.修正が必要なスクリプトを特定し、キャラモデルの登場時のアニメ演出処理を実行する処理を追加する

1.設計


 どのスクリプトにどのような処理を追加すればよいか、ロジックを含めて考えてみましょう。
処理のゴール地点とスタート地点、繋がりをどのように構築すればよいか、など、今までの処理の実装例を思い出してみてください。


2.GameManager スクリプトを修正する


 Start メソッドはコルーチンメソッドになっていますので、yield を利用した中断処理を実装することが出来ます。
この処理と DOTween の Sequence 機能を組み合わせて、オープニングのアニメの途中でキャラを登場させる、という演出を実装します。

 操作したいキャラモデルの情報はスクリプト内にはありませんので、新しく変数を用意して、キャラモデルの制御を行える状態にします。

 Sequence 機能を利用して、キャラモデルのサイズを少し大きめに変更し、元に戻すという処理をしてみましょう。
びよーん、という緩い感じでキャラが登場するようになります。


GameManager.cs

 <= クリックすると開きます


 スクリプトを修正したらセーブします。



 GameManager ゲームオブジェクトを選択して GameManager スクリプトを確認します。
インスペクターに新しく宣言した変数が表示されていますので、ヒエラルキーにある Little_Cat_Girl ゲームオブジェクトを
ドラッグアンドドロップしてアサインして登録します。


GameManager ゲームオブジェクト インスペクター画像



 以上でスクリプトの修正と設定は完了です。


3.ゲームを実行して動作を確認する


 実装する内容を確認し、デバッグが必要な部分を理解した上で処理を実行してください。
何か所かデバッグを行う必要がありますので、それを自分で1つずつ確認していってみましょう。


<実装動画 キャラモデル登場時>
動画ファイルへのリンク


 以上でこの手順は終了です。

 次は 拡張4 −キャラモデルのアニメーションの追加− です。