チュートリアル:表現強化コース #1 — パーティクルの使用

このチュートリアルコースは、さまざまな視覚効果を試してみたい方を対象に設計されています。

このコースを開始する前に、以下のチュートリアルを完了することをお勧めします:

このコースでは、最初のチュートリアルと同じプロジェクトを引き続き使用します。
プロジェクトを削除してしまった場合は、そのコースの最初からチュートリアルプロジェクトを再作成してから進めてください。

ステップ 1: パーティクルオブジェクトの作成

  1. シーンタブの + ボタンをクリックして新しいシーンを作成し、ゲームオブジェクト を作成します。
  2. オブジェクト作成ウィンドウで、以下を設定します。
  3. 名前: 任意の名前(ここでは test_particle を使用します)
  4. テンプレート: particles
  5. タイプ: Empty
  6. 作成後、タブを右クリックして 保存 を選択するか、ショートカット Ctrl+S を押してシーンを保存します。
  7. 作成された ParticleObject ノードは、ビジュアルスクリプトでパーティクルを処理するための専用ノードです。シーンウィンドウで ParticleObject ノードを選択します。
  8. 右側のインスペクターで パーティクルテンプレート ID を設定します。さまざまなプリセットパーティクルエフェクトが利用可能です。
  9. 切り替えてエフェクトをプレビューしてみてください。ただし、テンプレートを変更すると、現在の子ノードがすべて上書きされるため、独自のカスタムパーティクルを追加した後にテンプレートを切り替えないでください。テスト後は NONE に設定して空の状態に戻します。
  10. シーンウィンドウの左上にある + ボタンをクリックします。
  11. GPUParticles2D ノードを追加します。
  12. セットアップは完了です。次のステップでは、カスタムパーティクルエフェクトの作成の基礎について説明します。

補足

CPUParticles と GPUParticles の違い
2 つの似たノードがあることに気づくかもしれませんが、違いは何でしょうか?
簡単に言えば、パーティクルの計算が CPU 上で行われるか GPU 上で行われるかの違いです。
一般的に、レンダリングがパフォーマンスのボトルネックになりがちな 2D ゲームでは、GPU パーティクル(GPUParticles2D)の使用が推奨されます。
ゲームのパフォーマンスプロファイルに基づいて選択してください。

ステップ 2: GPU パーティクルの設定

  1. ステップ 1 で作成した GPUParticles2D ノードを選択し、インスペクターウィンドウを確認します。
  2. Process Material の隣の空のフィールドをクリックし、New ParticleProcessMaterial を選択します。
  3. 中央のプレビューウィンドウを見てください。拡大すると、小さな点が下向きに落ちているのがわかります。これは重力によるものです。より明確にするために、一時的に重力を無効化しましょう。
  4. ParticleProcessMaterial をクリックして設定を展開します。Accelerations > GravityRate に移動し、y98 から 0 に変更します。すると、粒子が落下しなくなります。
  5. Godot のパーティクルシステムは非常にカスタマイズ性が高く、多くの設定があります。まずは Spawn セクションの基本的な設定に焦点を当て、他の設定は後回しにしましょう。
  6. まず Spawn > Position に移動します。このセクションは放出領域を制御します。以下の設定を試してください:
  • Emission Shape Scale: x: 30, y: 30
  • Emission Shape: Sphere
    これにより、半径 30px の円内からランダムに粒子が放出されます。
  1. Angle 設定は少し複雑なので、今回はスキップします。
  2. 次に、Spawn > Velocity を確認して、粒子の方向と速度を調整します。Initial Velocity を min: 10, max: 100 に設定してみてください。すると、粒子は 45 度の角度で飛び出すようになります。
  3. Direction を y: 1 に、Spread を 30 に設定してみてください。これにより、粒子は 30 度の弧を描いて下向きに放出されます。
  4. Spawn セクション以外の設定は、より高度な挙動のためのものです。プロセスマテリアルを閉じ、インスペクターから他の基本的なオプションを確認しましょう。
  5. インスペクターの上部にある Max Amount8 から 16 に変更します。これにより、表示される粒子の数が 2 倍になります。
  6. Time セクションで、Lifetime1 から 0.3 に変更します。これにより、各粒子の寿命が短くなり、エフェクトがより鮮明になります。
  7. One Shot を有効にします。パーティクルエフェクトは一時的に停止したように見えるため、Emitting も有効になっていることを確認してください。
  • One Shot は、粒子が一度だけ放出されて停止することを意味します。
  • Emitting は、現在粒子が放出されているかどうかを切り替えます。
    One Shot がオンになっていると、寿命が終了した後に Emitting は自動的に無効になります。
  1. Time > Explosiveness に戻り、値を 0 から 1 に設定します。これにより、粒子が時間経過とともに安定して放出されるのではなく、バースト状に一度に放出されるようになります。
  2. 最後に、テクスチャを追加しましょう。FileSystem タブで、templates > objects > items > I_others から画像をドラッグして、パーティクルの Texture プロパティにドロップします。
  3. 粒子は選択した画像を外観として使用するようになります。

次のチュートリアル:


高度な調整のためのヒント

各粒子にランダムな角度を与えたいですか?
ProcessMaterial の Spawn > Angle を変更して、初期角度をランダム化します。

加速効果を与えたいですか?
ProcessMaterial の Accelerations セクションを使用して、以下を追加します:

  • Linear 加速度
  • Radial (中心から外向き)
  • Tangential (円運動) など

アニメーションされた動きを与えたいですか?
ProcessMaterial の AnimatedVelocity を使用して、方向、角度、円運動を動的に変化させます。

視覚的な変化を与えたいですか?
Display セクションを使用して、サイズ、色、さらにはスプライトアニメーションを調整します。

このチュートリアルでは Godot の 2D パーティクルシステムの基本的な内容のみをカバーしています。詳しくは公式ドキュメントをご覧ください: