Unityに関連する記事です

 前回につづき、連続攻撃機能を実装します。


<実装動画 
動画ファイルへのリンク


<実装動画◆
動画ファイルへのリンク



手順18 ー連続攻撃機能の実装◆

<新しく学習する内容>
・ContinuityAttackBehaviour
・Transitions の優先順位



設計


 Unity にはステートマシンの遷移用の ContinuityAttackBehaviour スクリプトが用意されています。

 この機能を利用して、攻撃のアニメーションを連続してつなげていく処理を実装します。

 具体的には、アニメーションのステートにおいて ContinuityAttackBehaviour スクリプトを使い、
各攻撃のアニメーションをトランジションでつながっているステート間で遷移させて攻撃のアニメーションを連続して再生させることが出来ます。


ContinuityAttackBehaviour スクリプトを作成する


 Animator ビュー内で作業を行います。

 Attack0 ステートを選択し、インスペクターの下部にある Add Behaviour を選択してください。
その中にある ContinuityAttackBehaviour を選択すると、作成済のスクリプトが追加されます。


Add Behaviour ボタンを押す



追加される



 こちらは自由に修正ができるスクリプトになっています。
ダブルクリックしてエディターで開いてください。


ContinuityAttackBehaviour スクリプトを修正する


 Unity によって用意されている ContinuityAttackBehaviour スクリプトを修正していきます。

 コメントアウトされている部分がありますので、OnStateEnter メソッド、OnStateUpdate メソッド、OnStateExit メソッドの3つのコメントアウトを解除します。
残る2つのメソッドはコメントアウトしたままで問題ありません。

 各メソッド内の処理を修正し、連続攻撃用のステートの切り替え処理を実装していきます。

 OnStateUpdate メソッド内に記述している処理が、連続攻撃の処理です。
攻撃用のボタンを押した際、Attacks ステートマシン内の Attack0 を実行します。
Attack0 が実行中にさらに攻撃用のボタンが押されると、Attack1 に遷移します。

 これにより、連続攻撃のアニメーションが遷移していく仕組みです。


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


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


攻撃用の各ステートに ContinuityAttackBehaviour スクリプトをアタッチし、Transitions の優先順位を設定する


 Animator ビュー内にある Attacks ステートをダブルクリックしてステートマシン内部の設定部分に入ります。
ここにある各 Attack のステートに、1つずつ、ContinuityAttackBehaviour スクリプトをアタッチし、Transitions の優先順位を設定します。

 ステート内に複数の Transitions が設定されている場合、上にある条件が優先されます。
連続攻撃をつなげるためには、各ステートの Transitions の優先順位の設定を行っておくことで、どのステートを優先的につなげていくかを制御できます。

 この設定を行うことで、各 Attack ステート同士がつながって、連続攻撃が発生できるようになります。

 下記の画像を参考にして、各ステートの Transitions の優先順位を設定してください。
Attack2 には Transitions は1つしかないため、設定は不要です。ですが、3つ以上の連続攻撃を設定したい場合には、
この部分にも設定が必要になることを覚えておいてください。


Attack0



Attack1



Attack2



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


 実際に攻撃のボタンを押して、連続攻撃に合わせてアニメーションが連動するか確認します。

 また、すべての攻撃において、アニメーションの最中にアニメーションイベントに登録したメソッドが実行されて、
武器に設定しているコライダーのオン・オフが切り替わることも確認しておきます。


<実装動画 
動画ファイルへのリンク


<実装動画◆
動画ファイルへのリンク



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

 => 次は 手順19 −攻撃演出の実装− です。

コメントをかく


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

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

Menu



技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

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

3D脱出ゲーム(抜粋)

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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