Unity 2Dアクションの作り方11 ボス戦の作り方・Unityパーティクルシステムでエフェクト実装 | Unity入門の森 ゲームの作り方

Unity 2Dアクションの作り方11 ボス戦の作り方・Unityパーティクルシステムでエフェクト実装

Unity 2Dアクションの作り方 ロックマン風横スクロールアクションゲームを作る


Unity入門の森オリジナル本格ゲーム制作講座はこちら
11種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

この講座はロックマン風2Dアクションゲームの作り方講座の第11回です。

前回ですべてのマップステージを作り、通常敵の配置を終えたのでステージを完成させるまで残りはボス敵の実装のみとなりました。

前回の記事:

Unity ロックマン風2Dアクションの作り方10 ステージを全種類作成・水中判定・氷床ステージの実装
この講座はロックマン風2Dアクションゲームの作り方講座の第10回です。 前回まででザコ敵からギミックまで、ステージを構成するゲームシステムを一通り開発しました。 前回の記事: まだボス敵は未実装ですが、ここまでの機能を活かして本格的なゲーム...

ここからは各ステージに1体ずつのボスを作成していき、ステージクリアまで遊べるように仕上げていきましょう!

この講座で作る2Dアクションゲームのボスは以下になります。

  1. イヌ(Dog) 一定時間ごとにプレイヤーに突進&ジャンプを行う
  2. クマ(Bear) 壁をよじ登る・ジャンプ・遠距離攻撃する敵
  3. ワシ(Eagle) 空中を移動して地上に攻撃する敵
  4. ペンギン(Penguin) 滑りながら攻撃・全方位シューティング攻撃の実装
  5. クラゲ(Jellyfish)  プカプカ浮遊しながら弾幕を作る敵
  6. ワニ(Crocodile) 複数の遠距離攻撃パターンを実装
  7. キツネ(Fox) ジャンプ移動・狐火(炎の弾丸)を放出
  8. ライオン(Fox) 壁をバウンドしながら攻撃・HPが減ると行動パターンが変化

以上のような個性豊かなボスキャラを実装していきます。


【Line登録者限定のプレゼントもあるよ!】

Unityで2Dアクションゲームのボス戦を実装する

ボスとの戦闘は通常敵と区別がつくようにいくつかの演出を追加します。

過去に作成したスクリプトにボス戦用の修正を行う

まずはこれまで作ってきたスクリプトに修正を加え、ボス戦実装の準備を行っていきます。

EnemyBase.cs

戦闘開始時に専用BGM再生を行い、撃破時にパーティクル再生とステージクリアの呼び出しを行うための処理を追加します。

まだこの段階ではエラーが出るはずです。続いてStageManager.csを修正します。

StageManager.cs

ボス戦闘時に流れるBGMの設定を追加し、ステージクリア・ゲームオーバー時に呼び出す処理も形だけ追加しておきます。

 

スクリプトを編集できたらStageManagerプレハブを編集し、bossBGMClipパラメータに対して適当なボス戦闘用音源ファイルをセットしましょう。

もちろんステージごとに異なるボスBGMを設定することも可能です。

 

ボス撃破パーティクルプレハブを作成

ボスを倒しても演出がザコを倒した時と同じでは少々味気ないです。

UnityのParticleSystemを使用し、ボス撃破時に光が周囲に飛び散るような演出を作成してみましょう。

 

ヒエラルキー画面で右クリックし、[Effects]→[Particle System]を選択してパーティクルオブジェクトを作成可能です。オブジェクト名はDefeatParticleとしました。

初期状態では小さく白い粒が上方向に登っているのが分かると思いますが、この粒1つ1つがパーティクルであり、これらの生成や速度等を制御できるのがパーティクルシステムです。

 

Inspectorから確認できるParticleSystemコンポーネントを編集することで設定変更が可能です。

上部では粒の速度や生存時間、色などの基本的な設定が行え、下部に連なっているModule(モジュール)を有効にして編集することでさらに生成頻度や出現位置も変更できるようになります。

以下、よく使う設定に絞って設定項目の解説を行っていきます。

自分で数値を変更して変化を確認すると良いでしょう。

 

Unity パーティクルシステム(Particle System)を解説

パーティクルの基本設定 項目一覧

どのようなパーティクルを作る場合でも恐らく必ず確認することになるパラメータが多いです。

Duration パーティクル実行時間(秒)
Looping ループ設定(ONでループする)
Start Lifetime パーティクル内の各粒子の生存時間(秒)
入力欄右側のメニューから[Random Between Two Constants]を指定することで、乱数の幅を指定してのランダム数値にすることもできる。(他の数値入力系の設定でも同様)
Start Speed 各粒子の初期速度
Start Size 各粒子の初期サイズ(1が基準)
Start Rotation 各粒子の初期角度(移動する方向ではない。0~360で指定)
Start Color 各粒子の初期表示色
Play on Awake ONにするとシーン開始時またはオブジェクト生成時に自動的にパーティクルを再生開始する
Stop Action パーティクル再生完了時に行う処理。Destroyを指定するとそのパーティクルのオブジェクトごと消去する。

Emission (Module) パーティクルの発生頻度・生成量を設定

粒子の発生条件について設定します。

Rate over Time 毎秒の粒子生成量 (0で時間経過による生成を行わない)
Bursts 特定のタイミングで一気に複数の粒子を生成する設定。
Time:生成タイミング(再生開始からの秒)
Count:生成量

Shape (Module) パーティクルの進行方向を設定

粒子を発生させる範囲や粒子の進む方向などを設定します。

Shapeパラメータにて発生範囲の形状の種類を指定します。この設定によってその他の設定すべきパラメータが変化します。

例えばCircle(円形)を指定すると粒子は円の範囲内で生成されるようになり、その範囲をRadiusパラメータにて数値指定することになります。

Color over Lifetime (Module) パーティクルの寿命を設定

粒子の表示色を寿命までの時間によって変化させます。透明度(alpha)も変化可能です。

Colorパラメータ右側の矩形をクリックすると編集できます。左側のツマミ(キー)を編集すると再生開始時の色を、右側のツマミでは終了時の色を変更可能です。

上部では粒の速度や生存時間、色などの基本的な設定が行え、下部に連なっているModule(モジュール)を有効にして編集することでさらに生成頻度や出現位置も変更できるようになります。

(今回はこのModuleは使用しませんが、よく使う設定なので紹介します。)

Renderer (Module) パーティクルの表示・非表示の設定

パーティクル全体の表示設定を行います。

Materialパラメータからパーティクルに使用するマテリアル(素材データ)を変更できます。

パーティクルに任意の画像を表示させたい場合も画像データの直接指定は出来ないので、一度Materialを作成してここにセットする必要があります。

 

Unityパーティクルを放射状に表示させる ボス撃破用パーティクルを実装

Particle Systemの設定を変更し、ボス撃破時に再生するものとして使いやすい演出に仕上げていきましょう。

パーティクルの基本設定

パーティクルの速度や大きさ等を設定します。Start SpeedとStart Sizeの右側の↓を選んで”Random between two constants”を選べば2つの値を設定できるようになります。

StopActionにDestroyを指定するのを忘れないようにしましょう(そうでないと再生完了後もオブジェクトが残り続けます)。

 

Emissionの設定

自然生成のペースを時間経過と共に低下させながら、0.8秒経過のタイミングで大量の生成を1度だけ行います。

Rate Overtimeの右側の↓をクリックし、Curveを選択し、曲線の設定を行うことでゆるやかな値の変化を実現できます。

ちなみにサンプルゲームの方では以下のようなCurve設定になっています。

カーブの設定の流れは以下の動画のような手順です。

 

Shapeの設定

粒の生成範囲を円形(Circle)に設定します。

なお、TransformのRotation値が全て0でないと機能しないのでご注意ください。

 

Rendererの設定

Materialに今回使用するマテリアルをセットします。

サンプル用に既に用意しているAssets/Textures/Other/CircleMaterial.matを使用すると良いでしょう。

 

サンプルと全く同じでなくても大丈夫なので、ある程度納得いくものを作成できたらオブジェクトをプレハブ化しておきましょう。

プレハブ化したらScene上にあるDefeatParticleインスタンスは削除してOKです。

 

Unity 2D横スクロールアクションゲームのボス戦の作り方

ここからはついにボス戦の構築に入っていきます。

ボス敵1:イヌ(Dog) 一定時間ごとにプレイヤーに突進&ジャンプを行う 

サンプル画像:Textures/Enemies/Boss/Dog1.png~Dog6.png

 

準備も整いましたのでいよいよボス敵の制作に入ります。

基本的な流れはザコ敵を作った時と同じですが、行動パターンをもう少し複雑に作り込みます。

 

また同じような処理でも細かな設計方法の違いがありますので、結構自由なコーディングでも作れることを確認してみましょう。

 

イヌは以下の行動パターンで設計します。

  1. 一定時間ごとに主人公の居る方向へ突進を行う
  2. 一定確率で突進時にジャンプする

続きを読む

このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.shop/)で講座閲覧権を取得してね。

全方位ショット攻撃用に青い弾丸オブジェクトを作成

ここまでエネミー弾丸を作成した時と同様の流れで、青色の弾丸オブジェクトEnemyShot_Blueを作成しましょう。

使用する画像はEnemy_Shot_Blue.pngです。

 

Boss_Penguinオブジェクト

以下は設定例です。シンプルな動きのボスではありますが、氷床ステージの効果によってアクターの動きが制限されているのでこのくらいが丁度良いかと思います。

氷のステージによく似合うボスが作成できました。

 

まとめ

ここまでで個性豊かなアクションを行う4体のボスを作成できました。

長くなってきたので一旦記事を分割し、次回残りのボスを制作していきます。

 

次の記事:

Unity 2Dアクションゲームの作り方12 ボスキャラ行動パターン開発・HPゲージの実装
この記事はロックマン風2Dアクションゲームの作り方講座の第12回です。 前回はパーティクルシステムを用いた敵討伐時のアニメーションやボスキャラそれぞれの個性的なアクションを実装を開始しました。 前回の記事: 今回の記事では引き続きボスエネミ...

Unity 2Dアクションゲームの作り方講座に戻る>>



Unity入門の森オリジナル本格ゲーム制作講座はこちら
11種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

コメント

タイトルとURLをコピーしました