このチュートリアルコースは、さまざまな視覚効果を試してみたい方を対象に設計されています。
このコースを開始する前に、以下のチュートリアルを完了することをお勧めします:
このコースでは、最初のチュートリアルと同じプロジェクトを引き続き使用します。
プロジェクトを削除してしまった場合は、そのコースの最初からチュートリアルプロジェクトを再作成してから進めてください。
ステップ 1: パーティクルオブジェクトの作成
- シーンタブの + ボタンをクリックして新しいシーンを作成し、ゲームオブジェクト を作成します。
- オブジェクト作成ウィンドウで、以下を設定します。
- 名前: 任意の名前(ここでは
test_particle を使用します)
- テンプレート:
particles
- タイプ:
Empty
- 作成後、タブを右クリックして 保存 を選択するか、ショートカット Ctrl+S を押してシーンを保存します。
- 作成された
ParticleObject ノードは、ビジュアルスクリプトでパーティクルを処理するための専用ノードです。シーンウィンドウで ParticleObject ノードを選択します。
- 右側のインスペクターで パーティクルテンプレート ID を設定します。さまざまなプリセットパーティクルエフェクトが利用可能です。
- 切り替えてエフェクトをプレビューしてみてください。ただし、テンプレートを変更すると、現在の子ノードがすべて上書きされるため、独自のカスタムパーティクルを追加した後にテンプレートを切り替えないでください。テスト後は
NONE に設定して空の状態に戻します。
- シーンウィンドウの左上にある + ボタンをクリックします。
GPUParticles2D ノードを追加します。
- セットアップは完了です。次のステップでは、カスタムパーティクルエフェクトの作成の基礎について説明します。
補足
CPUParticles と GPUParticles の違い
2 つの似たノードがあることに気づくかもしれませんが、違いは何でしょうか?
簡単に言えば、パーティクルの計算が CPU 上で行われるか GPU 上で行われるかの違いです。
一般的に、レンダリングがパフォーマンスのボトルネックになりがちな 2D ゲームでは、GPU パーティクル(GPUParticles2D)の使用が推奨されます。
ゲームのパフォーマンスプロファイルに基づいて選択してください。
ステップ 2: GPU パーティクルの設定
- ステップ 1 で作成した
GPUParticles2D ノードを選択し、インスペクターウィンドウを確認します。
- Process Material の隣の空のフィールドをクリックし、New ParticleProcessMaterial を選択します。
- 中央のプレビューウィンドウを見てください。拡大すると、小さな点が下向きに落ちているのがわかります。これは重力によるものです。より明確にするために、一時的に重力を無効化しましょう。
- ParticleProcessMaterial をクリックして設定を展開します。Accelerations > GravityRate に移動し、y を
98 から 0 に変更します。すると、粒子が落下しなくなります。
- Godot のパーティクルシステムは非常にカスタマイズ性が高く、多くの設定があります。まずは Spawn セクションの基本的な設定に焦点を当て、他の設定は後回しにしましょう。
- まず Spawn > Position に移動します。このセクションは放出領域を制御します。以下の設定を試してください:
- Emission Shape Scale: x: 30, y: 30
- Emission Shape: Sphere
これにより、半径 30px の円内からランダムに粒子が放出されます。
- Angle 設定は少し複雑なので、今回はスキップします。
- 次に、Spawn > Velocity を確認して、粒子の方向と速度を調整します。Initial Velocity を min: 10, max: 100 に設定してみてください。すると、粒子は 45 度の角度で飛び出すようになります。
- Direction を y: 1 に、Spread を 30 に設定してみてください。これにより、粒子は 30 度の弧を描いて下向きに放出されます。
- Spawn セクション以外の設定は、より高度な挙動のためのものです。プロセスマテリアルを閉じ、インスペクターから他の基本的なオプションを確認しましょう。
- インスペクターの上部にある Max Amount を
8 から 16 に変更します。これにより、表示される粒子の数が 2 倍になります。
- Time セクションで、Lifetime を
1 から 0.3 に変更します。これにより、各粒子の寿命が短くなり、エフェクトがより鮮明になります。
- One Shot を有効にします。パーティクルエフェクトは一時的に停止したように見えるため、Emitting も有効になっていることを確認してください。
- One Shot は、粒子が一度だけ放出されて停止することを意味します。
- Emitting は、現在粒子が放出されているかどうかを切り替えます。
One Shot がオンになっていると、寿命が終了した後に Emitting は自動的に無効になります。
- Time > Explosiveness に戻り、値を
0 から 1 に設定します。これにより、粒子が時間経過とともに安定して放出されるのではなく、バースト状に一度に放出されるようになります。
- 最後に、テクスチャを追加しましょう。FileSystem タブで、
templates > objects > items > I_others から画像をドラッグして、パーティクルの Texture プロパティにドロップします。
- 粒子は選択した画像を外観として使用するようになります。
次のチュートリアル:
高度な調整のためのヒント
各粒子にランダムな角度を与えたいですか?
ProcessMaterial の Spawn > Angle を変更して、初期角度をランダム化します。
加速効果を与えたいですか?
ProcessMaterial の Accelerations セクションを使用して、以下を追加します:
- Linear 加速度
- Radial (中心から外向き)
- Tangential (円運動) など
アニメーションされた動きを与えたいですか?
ProcessMaterial の AnimatedVelocity を使用して、方向、角度、円運動を動的に変化させます。
視覚的な変化を与えたいですか?
Display セクションを使用して、サイズ、色、さらにはスプライトアニメーションを調整します。
このチュートリアルでは Godot の 2D パーティクルシステムの基本的な内容のみをカバーしています。詳しくは公式ドキュメントをご覧ください: