2. 敵の作成


作成済みのEnemy1をベースにEnemy3を作成します。

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

Enemy3の準備

Enemy1プレハブを複製

  • Projectウィンドウで「Assets/ShootingGame/Prefabs/Enemy1」を選択。
  • 上部メニューから「Edit > Duplicate」を選択。
    ※複製すると名前が自動的にEnemy3になりますが、もし違う場合はEnemy3にしておいてください。
GIF

Enemy3をシーンに配置

作業を行いやすくするため、Enemy3プレハブをシーンに配置します。

  • Projectウィンドウの「Assets/ShootingGame/Prefabs/Enemy3」をHierarchyウィンドウにドラッグ&ドロップ。
GIF

Transform変更

他の敵と区別するため、スケールを大きくしておきます。

  • Enemy3のTransformを以下のように変更。
Scale 2, 2, 1

HP変更

つぎに、HPも100にして破壊しにくくしておきます。

  • Enemy3のParameterContainerを以下のように変更。
HP 100

ここまでで、基本的な設定は完了しました。

Enemy3の動きを変更

Enemy3を2秒後に移動停止するように変更していきます。

Arbor Editorで開く

Enemy3に追加してあるArborFSMの2つのうち、一つ目のArborFSM(NameがEnemyFSM)をArbor Editorウィンドウで開きます。

  • 一つ目のArborFSM(NameがEnemyFSM)の「Open Editor」ボタンをクリック。

Startステートの説明

Startステートでは、SetVelocityRigidbody2Dにより、Enemy3自身のRigidbody2Dのvelocityを変更しています。

詳細は「SetVelocityRigidbody2D」を参照してください。

また、1秒後にショット開始するためにTimeTransitionで遷移を行っています。

TimeTransitionの変更

ここでは、2秒後に移動停止するように変更します。

  • StartステートのTimeTransitionを以下のように変更。
Seconds 2

Stopステートの作成

「Stop」という名前でステートを作成してください。

  • グラフの何もないところを右クリック。
  • メニューから「ステート作成」を選択。
  • ステート名を「Stop」に変更して確定。
GIF

SetVelocityRigidbody2Dの追加

Startと同様にSetVelocityRigidbody2Dを使用してvelocityを0にすることで移動を停止させます。

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

デフォルトで停止するように設定されているので、特に設定変更する必要はありません。

GoToTransitionの追加

停止後にショット開始したいため、GoToTransitionを追加して遷移させるようにします。

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

遷移の付け直し

各ステートの設定が済んだため、遷移を付け直します。

  • StartステートのTimeTransitionからStopステートに接続
  • StopステートのGoToTransitionからShotステートに接続
  • 流れに沿ってノードを配置しなおし

このようになっていればOKです。

動作確認

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

Enemy3が上方から2秒間移動ののち停止、敵弾を発射する様子が確認できます。

次のステップ

3. 敵弾発射について