5. 行動パターンの追加


敵の行動パターンをさらに追加していきます。

前回までのチュートリアル

時間経過後ショットを停止

10秒経過したらワインダーショットを停止させます。

予めEnemy3のArborFSMをArbor Editorウィンドウで開いておいてください。

  • Shotステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Transition > TimeTransition」を選択。
GIF
  • 追加したTimeTransitionを以下のように変更。
Seconds 10

TimeTransitionの遷移先ステートを作成します。

  • ShotステートのTimeTransitionの「Next State」をドラッグ。
  • グラフの何もないところでドロップ。
  • メニューから「ステート作成」を選択。
  • ステート名を「Shot Stop」に変更して確定。
GIF

Shot StopステートにSendTriggerを追加します。

  • Shot Stopステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Trigger > SendTrigger」を選択。
GIF
  • 追加したSendTriggerを以下のように変更。
Target Weapon2オブジェクト
Message StopTrigger

プレイボタン」を押して動作確認してみましょう。

左側に移動

左側に移動させます。

  • Shot Stopステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Transition > GoToTransition」を選択。
GIF

GoToTransitionの遷移先ステートを作成します。

  • Shot StopステートのGoToTransitionの「NextState」をドラッグ。
  • グラフの何もないところでドロップ。
  • メニューから「ステート作成」を選択。
  • ステート名を「Left Move」に変更して確定。
GIF

移動させるために、TweenRigidbody2DPositionを使用します。

  • Left Moveステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Tween > TweenRigidbody2DPosition」を選択。
GIF
  • TweenRigidbody2DPositionを以下のように変更。
TweenMoveType Relative
To (-2, 0)

自機狙いのショット

左に移動し終わったら自機狙いのショットを開始します。

TweenRigidbody2DPositionの遷移先ステートを作成します。

  • Left MoveステートのTweenRigidbody2DPositionの「Next State」をドラッグ。
  • グラフの何もないところでドロップ。
  • メニューから「ステート作成」を選択。
  • ステート名を「Shot 2」に変更して確定。
GIF

ShotステートのSendTriggerをコピーし、Shot 2に貼り付けします。

  • ShotステートのSendTriggerの設定アイコンをクリック。
  • メニューから「コピー」を選択。
  • Shot 2ステートの設定アイコンをクリック。
  • メニューから「挙動を貼り付け」を選択。
GIF
  • Shot 2ステートのSendTriggerを以下のように変更。
Target Weaponオブジェクト

動作確認してみましょう。

なお、敵の自動生成を行っているEmitterオブジェクトを一旦無効にしてから開始すると確認しやすいです。

  • Hierarchyウィンドウから「Emitter」を選択。
  • InspectorウィンドウでGameObjectを非アクティブに変更。

  • プレイボタン」を押して実行。

敵弾の追加

時間経過後、自機方向に移動する敵弾を追加します。

  • Projectウィンドウで「Assets/ShootingGame/Prefabs/EnemyBullet」を選択。
  • 上部メニューから「Edit > Duplicate」を選択。
  • 「EnemyBullet2」にリネーム。
GIF

作成されたEnemyBullet2をArbor Editorで開いてください。

  • EnemyBullet2のInspectorウィンドウでArborFSMの「Open Editor」ボタンをクリック。

StartステートにTimeTransitionを追加します。

  • Startステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Transition > TimeTransition」を選択。
GIF
  • TimeTransitionを以下のように変更。
Seconds 0.5

TimeTransitionの遷移先ステートを作成します。

  • TimeTransitionの「Next State」をドラッグ。
  • グラフの何もないところでドロップ。
  • メニューから「ステート作成」を選択。
  • ステート名を「Rotate」に変更して確定。
GIF

Rotateステートで自機方向に方向転換させます。

  • Rotateステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Scripts > LookAt2DObjectWithTag」を選択。
GIF
  • LookAt2DObjectWithTagを以下のように変更。
Transform EnemyBullet2オブジェクト
Tag Player

自機方向に方向転換すると同時に移動速度も変更します。

  • StartステートのSetVelocityRigidbody2Dの設定アイコンをクリック。
  • メニューから「コピー」を選択。
  • Rotateステートの設定アイコンをクリック。
  • メニューから「挙動を貼り付け」を選択。
GIF
  • SetVelocityRigidbody2Dを以下のように変更。
Speed 3

Weaponから発射する弾丸をEnemyBullet2に変更します。

Weaponオブジェクトを選択し、Arbor Editorで開いてください。

  • Shotステートの2つのInstantiateGameObjectを両方とも以下のように変更。
Prefab Assets/ShootingGame/Prefabs/EnemyBullet2オブジェクト

プレイボタン」を押して動作確認してみましょう。

ワインダー発射に戻る

再びEnemy3のArborFSMを開いてください。

Shot 2ステートにTimeTransitionを追加します。

  • Shot 2ステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Transition > TimeTransition」を選択。
GIF
  • TimeTransitionを以下のように変更。
Seconds 10

TimeTransitionの遷移先ステートを作成します。

  • TimeTransitionの「Next State」をドラッグ。
  • グラフの何もないところでドロップ。
  • メニューから「ステート作成」を選択。
  • ステート名を「Stop Shot2」に変更して確定。
GIF

Shot2ステートのSendTriggerをコピーし、Stop Shot2ステートに貼り付けします。

  • Shot 2ステートのSendTriggerの設定アイコンをクリック。
  • メニューから「コピー」を選択。
  • Stop Shot2ステートの設定アイコンをクリック。
  • メニューから「挙動を貼り付け」を選択。
GIF
  • SendTriggerを以下のように変更。
Message StopTrigger

Stop Shot2ステートにGoToTransitionを追加します。

  • Stop Shot2ステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Transition > GoToTransition」を選択。
GIF

GoToTransitionの遷移先ステートを作成します。

  • GoToTransitionの「Next State」をドラッグ。
  • グラフの何もないところでドロップ。
  • メニューから「ステート作成」を選択。
  • ステート名を「Center Move」に変更して確定。
GIF

Center MoveステートにTweenRigidbody2DPositionを追加します。

  • Center Moveステートの設定アイコンをクリック。
  • メニューから「挙動追加」を選択。
  • 挙動選択ウィンドウから「Tween > TweenRigidbody2DPosition」を選択。
GIF
  • TweenRigidbody2DPositionを以下のように変更。
Tween Move Type Relative
To (2, 0)

  • TweenRigidbody2DPositionの「Next State」をドラッグ&ドロップして、Shotステートに接続。
GIF

プレイボタン」を押して動作確認してみましょう。

次のステップ

6. Waveの追加

Privacy Preference Center

Your Privacy

This site uses cookies to display contents and advertisements tailored to users, provide social media functions, measure advertisement impressions and clicks. We also gather information on users' site usage status and provide them to social media, advertisement distribution and data analysis partners. Each partner may use this information in combination with other information that the user provided to each partner or other information gathered when the user used the service of each partner.

Analytics, Ads