作成済みのEnemy1をベースにEnemy3を作成します。
Contents
前回までのチュートリアル
Enemy3の準備
Enemy1プレハブを複製
- Projectウィンドウで「Assets/ShootingGame/Prefabs/Enemy1」を選択。
- 上部メニューから「Edit > Duplicate」を選択。
※複製すると名前が自動的にEnemy3になりますが、もし違う場合はEnemy3にしておいてください。
Enemy3をシーンに配置
作業を行いやすくするため、Enemy3プレハブをシーンに配置します。
- Projectウィンドウの「Assets/ShootingGame/Prefabs/Enemy3」をHierarchyウィンドウにドラッグ&ドロップ。
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」に変更して確定。
SetVelocityRigidbody2Dの追加
Startと同様にSetVelocityRigidbody2Dを使用してvelocityを0にすることで移動を停止させます。
- Stopステートの設定アイコンをクリック。
- メニューから「挙動追加」を選択。
- 挙動選択ウィンドウから「Physics2D > SetVelocityRigidbody2D」を選択。
デフォルトで停止するように設定されているので、特に設定変更する必要はありません。
GoToTransitionの追加
停止後にショット開始したいため、GoToTransitionを追加して遷移させるようにします。
- Stopステートの設定アイコンをクリック。
- メニューから「挙動追加」を選択。
- 挙動選択ウィンドウから「Transition > GoToTransition」を選択。
遷移の付け直し
各ステートの設定が済んだため、遷移を付け直します。
- StartステートのTimeTransitionからStopステートに接続
- StopステートのGoToTransitionからShotステートに接続
- 流れに沿ってノードを配置しなおし
このようになっていればOKです。
動作確認
「プレイボタン」を押して動作確認してみましょう。
Enemy3が上方から2秒間移動ののち停止、敵弾を発射する様子が確認できます。