メインコンテンツまでスキップ
バージョン: 2.0.0-preview

パーティクルエミッタ

発生・運動・外観のパラメータに従ってパーティクルを生成し、アニメーションするエミッターです。各パーティクルは パーティクル描画 の見た目を継承し、重力・空気抵抗・乱流の影響を受けます。

ライブラリでの場所

「ライブラリ」 → パーティクルエミッタ

プロパティ

シード (Seed)

乱数のシード。同じ設定でも値を変えると別パターンが生成されます。

  • 型: int
  • 既定値: 0
  • アニメーション:

エミッタ形状 (EmitterShape)

パーティクルが発生する領域の形状(点 / 線 / 矩形 / 楕円)。

  • 型: EmitterShape
  • 既定値: Particles.EmitterShape.Point
  • アニメーション: 不可

エミッタ幅 (EmitterWidth)

エミッター形状の幅。

  • 型: float
  • 既定値: 100
  • アニメーション:
  • 範囲: [0, ∞)

エミッタ高さ (EmitterHeight)

エミッター形状の高さ。

  • 型: float
  • 既定値: 100
  • アニメーション:
  • 範囲: [0, ∞)

最大パーティクル数 (MaxParticles)

同時に存在できるパーティクル数の上限。

  • 型: int
  • 既定値: 5000
  • アニメーション: 不可
  • 範囲: [1, 50000]

放出レート (EmissionRate)

1 秒あたりに発生させるパーティクル数。

  • 型: float
  • 既定値: 60
  • アニメーション:
  • 範囲: [0, ∞)

寿命 (Lifetime)

パーティクルの平均寿命(秒)。

  • 型: float
  • 既定値: 2
  • アニメーション:
  • 範囲: [0, ∞)

寿命ランダム (LifetimeRandom)

寿命に加算/減算されるランダムな揺らぎ。

  • 型: float
  • 既定値: 0
  • アニメーション:
  • 範囲: [0, ∞)

スピード (Speed)

生成直後のパーティクルの初速。

  • 型: float
  • 既定値: 200
  • アニメーション:
  • 範囲: [0, ∞)

スピードランダム (SpeedRandom)

初速のランダムな揺らぎ。

  • 型: float
  • 既定値: 0
  • アニメーション:
  • 範囲: [0, ∞)

方向 (Direction)

平均的な発生方向(度。0 が右、90 が下)。

  • 型: float
  • 既定値: -90
  • アニメーション:

拡散 (Spread)

発生方向をランダム化する角度範囲(度)。

  • 型: float
  • 既定値: 30
  • アニメーション:
  • 範囲: [0, 360]

重力 (Gravity)

各パーティクルに加わる定常的な下向き加速度。

  • 型: float
  • 既定値: 200
  • アニメーション:

空気抵抗 (AirResistance)

速度の減衰係数(大きいほど早く減速)。

  • 型: float
  • 既定値: 0
  • アニメーション:
  • 範囲: [0, ∞)

タービュランス強度 (TurbulenceStrength)

ノイズベースの乱流の強さ。

  • 型: float
  • 既定値: 0
  • アニメーション:
  • 範囲: [0, ∞)

タービュランススケール (TurbulenceScale)

乱流ノイズの空間スケール。

  • 型: float
  • 既定値: 0.01
  • アニメーション:
  • 範囲: [0, ∞)

タービュランス速度 (TurbulenceSpeed)

時間方向での乱流パターンの進行速度。

  • 型: float
  • 既定値: 1
  • アニメーション:
  • 範囲: [0, ∞)

パーティクル描画 (ParticleDrawable)

各パーティクルの描画に使うオブジェクト。

  • 型: Drawable?
  • 既定値: なし (null)
  • アニメーション: 不可

パーティクルサイズ (ParticleSize)

各パーティクルの初期サイズ。

  • 型: float
  • 既定値: 10
  • アニメーション:
  • 範囲: [0, ∞)

サイズランダム (SizeRandom)

初期サイズのランダムな揺らぎ。

  • 型: float
  • 既定値: 0
  • アニメーション:
  • 範囲: [0, ∞)

色 (ParticleColor)

パーティクルの初期カラー(着色)。

  • 型: Color
  • 既定値: 白 (Colors.White)
  • アニメーション:

パーティクル不透明度 (ParticleOpacity)

初期不透明度(0 〜 100)。

  • 型: float
  • 既定値: 100
  • アニメーション:
  • 範囲: [0, 100]

初期回転 (InitialRotation)

初期回転角度(度)。

  • 型: float
  • 既定値: 0
  • アニメーション:

初期回転ランダム (InitialRotationRandom)

初期回転のランダムな揺らぎ。

  • 型: float
  • 既定値: 0
  • アニメーション:
  • 範囲: [0, ∞)

角速度 (AngularVelocity)

連続的な回転速度(度/秒)。

  • 型: float
  • 既定値: 0
  • アニメーション:

終了サイズ倍率 (EndSizeMultiplier)

パーティクル寿命終了時のサイズ倍率。

  • 型: float
  • 既定値: 1
  • アニメーション:
  • 範囲: [0, ∞)

終了不透明度倍率 (EndOpacityMultiplier)

パーティクル寿命終了時の不透明度倍率。

  • 型: float
  • 既定値: 0
  • アニメーション:
  • 範囲: [0, ∞)

終了色 (EndColor)

UseEndColor が有効なときに、寿命を通して補間する終端カラー。

  • 型: Color
  • 既定値: 白 (Colors.White)
  • アニメーション:

終了色を使用 (UseEndColor)

ParticleColor から EndColor への色補間を有効にします。

  • 型: bool
  • 既定値: false
  • アニメーション: 不可

共通プロパティ

このオブジェクトは 描画オブジェクト を継承しているため、基底クラスで宣言された共通プロパティも利用できます。

ソース

src/Beutl.Engine/Graphics/Particles/ParticleEmitter.cs