Unityに関連する記事です

 前回の手順に引き続き、ムービーを再生する機能を実装します。
この手順でもスクリプトの修正を行い、処理を完成させていきます。



発展11 ームービー再生機能◆

<完成動画 
動画ファイルへのリンク


<完成動画◆
動画ファイルへのリンク




設計


 前回の手順では修正できていないスクリプトがあと3つありますので、そちらを順次修正していきます。

<この手順での修正>
 3.GameManager 各地点に到着した際に RailPathData の情報よりムービー再生の有無を判定し、ムービー再生を行う制御を追加します
   処理の流れを変更し、ムービー再生有無 → ミッションの有無という順番に修正します

 4.RailMoveControlller 各地点に到着した際の判定方法を修正し、ミッションの判定方法を処理の流れを変更します。GameManager にも関連します

 5.RayControlller ムービー再生中には画面をタップしても弾を発射しないようにする制御を追加します

 以上になります。
自分で考えて処理を修正できる部分は、なるべく教材を見る前にプログラムを書くことに挑戦してください。


GameManager スクリプトを修正する


 変数の宣言を1つ追加し、新しいメソッドを2つ追加しています。
また処理を追加している部分もありますので、全体の処理の流れを把握できるようにスクリプトを修正しながら読み解くようにしてください。

 今までは経路の移動が終了するたびに、RailMoveController 側から、ミッションが発生するかどうかを判定するように命令を受けていました。
この部分を修正し、ミッションが発生するかどうかを判定ではなく、ムービーの再生が発生するかを判定するように命令を受けられるようにします。

 その上で、ムービーの再生が発生しない場合に限り、ミッションが発生するかどうかを判定するように修正しています。
よってムービーの再生が発生する場合にはミッションは発生しないようになっていますので、この部分は適宜、修正を考えてみてください。


GameManager.cs

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


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


RailMoveController スクリプトを修正する


 いままでは各地点へ移動が完了したタイミングで GameManager 側に対して、ミッションが発生するかどうかを判定するように命令していました。
この部分を修正し、まず、ムービーの再生が発生するかどうかを判定するように変更します。

 あとは、先ほど作成した GameManager 側で、ムービーの再生判定をおこない、その後、ムービーの再生が発生しない場合には
いままでと同じようにミッションが発生するかどうかを判定させています。

 処理の変更に伴う修正が多いため、自分でも処理の内容を理解しながら修正していってください。


RailMoveController.cs

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



RayController スクリプトを修正する


 最後に RayController スクリプトを修正します。

 現在のままではムービーの再生中でも Ray を発射して攻撃する処理が動いてしまうため、
ムービー再生中においては攻撃をしないように制御する処理を追加しています。

 また、ムービーの再生終了に伴い、再度、攻撃できるようにしています。

 このような処理は、2つの処理を作成すればいいのか、と考えがちですが、実際の所は
いずれかの処理を行うようにすれば、排他的な処理が実装できます。

 どうすればこの2つの処理が1つの処理として実装できるようになるのか、設計を考えてみてください


RayController.cs

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



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


 すべての手順が終了しました。多くの修正がありますので、処理を読みなおしてから、ゲームを実行してデバッグを行ってください。
修正したスクリプトが多いということは、即ち、非常に多くの確認すべきポイントがあります ので、こちらを念頭に置いて、すべての挙動の確認を行います。

 ・IsMoviePlay 変数にチェックがある地点で正常にムービーが再生されるか
 ・再生しているムービーが終了したら、再度、経路の移動が始まるか
 ・ムービー再生中で画面をクリックしたらムービーがスキップされるか(その際、クリックしても弾は発射されないかどうかも確認する)
 ・ムービー再生中には UI 表示がなくなり、再生終了後に、再度 UI が表示されるか

 これらを順番に確認して、問題がないかを確認してください
そして今後は、このように確認すべき点を自分で書き出し、順番にチェックしていけるようにデバッグのスキルをアップしましょう。


<完成動画 
動画ファイルへのリンク


<完成動画◆
動画ファイルへのリンク


 そのためには、必ず自分で書いた処理を見直す癖をつけて、処理を読み解けているか、復習を行いましょう。



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

 => 次は 発展12 ーシーン遷移機能ー です。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます