Back to Node List

Fx Emitter 2D

fx_emitter_2d

Adds a deterministic emitter to an FxState2D document.

Reviewed
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
FX
fx
FxState2D
Required
入力 FX state です
発生マスク
mask
Image
粒子をどこから出してよいかを制限する任意のアルファマスクです。マスクしきい値以上のアルファで発生を許可し、完全透明ピクセルは常に発生を止めます

Output Ports

NameTypeDescription
FX
fx
FxState2D
emitter を追加した FX state です
エミッター数
emitter_count
Int
現在の FX state に入っている emitter 数です
概要
summary
Text
この emitter を追加した後の FX state の短い概要です

Parameters

NameTypeDefaultRangeDescription / Options
名前
name
Text
Emitter

概要表示や今後のツールで見分けるための emitter 名です

shape
Enum
Circle

発生形です。点は 1 点から、円は範囲から出します

  • Point
  • Circle
位置X
position_x
Float
16-512–512 / step 0.1

発生中心の X 座標です

位置Y
position_y
Float
16-512–512 / step 0.1

発生中心の Y 座標です

半径X
radius_x
Float
20–256 / step 0.1

形が円の時の横方向の発生半径です

半径Y
radius_y
Float
20–256 / step 0.1

形が円の時の縦方向の発生半径です

マスクしきい値
mask_threshold
Float
0.50–1 / step 0.01

発生マスク上でこのアルファ値以上のピクセルだけを発生可能とみなします

開始フレーム
start_frame
Int
00–4096

この emitter が粒子を出し始めるフレーム番号です

終了フレーム
end_frame
Int
-1-1–4096

最後に粒子を出すフレーム番号です。-1 は最後までを意味します

発生レート
rate
Float
20–32 / step 0.1

有効フレーム中、1 フレームごとに平均何個出すかです

開始バースト
burst
Int
00–64

有効開始フレームで追加で一括発生させる粒子数です

方向
direction_deg
Float
-90-360–360 / step 1

基本の発射角です。-90 は上向きです

広がり
spread_deg
Float
450–360 / step 1

基本方向の周りにどれだけ角度のばらつきを持たせるかです

最低速度
speed_min
Float
0.50–64 / step 0.1

発生直後の最低速度です

最高速度
speed_max
Float
1.50–64 / step 0.1

発生直後の最高速度です

最低寿命
life_min
Float
31–128 / step 0.1

粒子が生きる最低フレーム数です

最高寿命
life_max
Float
61–128 / step 0.1

粒子が生きる最高フレーム数です

最低サイズ
size_min
Float
10.5–32 / step 0.1

ラスタライズ前の最低粒子サイズです。ピクセルでは四角ドットの大きさ、ブロブやトレイルでは基礎半径として使われます

最高サイズ
size_max
Float
20.5–32 / step 0.1

ラスタライズ前の最高粒子サイズです。ピクセルでは四角ドットの大きさ、ブロブやトレイルでは基礎半径として使われます

最低アルファ
alpha_min
Float
0.50–1 / step 0.01

粒子生成時の最低アルファです

最高アルファ
alpha_max
Float
10–1 / step 0.01

粒子生成時の最高アルファです

速度ジッター
jitter
Float
0.40–8 / step 0.01

粒子ごとの発射速度 X/Y に加える揺らぎ量です。発生位置の揺らぎには Circle の半径を使います

Overview

Adds a particle source (emitter) to an FX state. It determines where particles appear, how many are emitted, which direction they travel, and their initial speed. For a flame, emit a few particles at a time upward from the bottom; for an explosion, emit them all at once in every direction from the center.

Usage tips

  • The character of an effect is largely determined by choosing between rate (continuous emission for flames or smoke) and burst (all-at-once emission for explosions or impacts).
  • Connect an image to mask to emit from a specified shape, such as igniting a character silhouette. The mask defines the emission area, not the appearance of each particle.
  • Multiple emitters can be chained. Stack two emitters for layered FX such as a flame core plus surrounding sparks.

Related nodes

  • fx_domain_2d — the upstream foundation
  • fx_force — controls particles after emission
  • fx_rasterize — controls particle appearance with a stamp
  • path_mask — creates an emission-area mask

Key parameters

Group Parameters Role
Position position_x, position_y Center of emission
Area shape, radius_x, radius_y Emit from a point or a circular area
Mask mask_threshold Minimum mask alpha treated as an active emission area
Time start_frame, end_frame First and last frames on which particles are emitted
Amount rate, burst Amount emitted per frame and amount emitted once at the start
Direction direction_deg, spread_deg Base direction and spread angle
Initial speed speed_min, speed_max Speed range immediately after emission
Lifetime life_min, life_max Number of frames each particle lives
Appearance size_min, size_max, alpha_min, alpha_max Particle size and opacity ranges. Final size also depends on size_scale in Fx Rasterize
Velocity variation jitter Variation added to each particle's initial X/Y velocity. Use Circle and radius_x/y to spread emission positions

Read this first

  • Fx Emitter 2D does not draw an image.
  • It specifies where particles appear, how many are emitted, and which direction they travel.
  • Fx Rasterize determines their actual appearance.
  • Use mask to control emission positions with an image.

The role of mask

  • mask does not define the appearance of a particle.
  • It is an image that defines where particles may be emitted.
  • White or opaque pixels permit emission.
  • Transparent pixels prevent emission.
  • mask_threshold sets the minimum alpha treated as active.
  • Fully transparent pixels remain blocked even when mask_threshold = 0.

In short:

  • To define emission positions with an image:
    • FxEmitter2D.mask
  • To define the appearance of each particle with an image:
    • FxRasterize.stamp

When to use it

  • To create a single source at the base of a flame
  • To place multiple smoke sources
  • To emit splashes or sparks primarily as a burst

The most basic setup

FxDomain2D -> FxEmitter2D -> FxRasterize

One emitter is enough to start. For a flame, these settings are easy to understand:

  • shape = circle
  • position = 16, 24
  • radius = 2, 1
  • rate = 2
  • burst = 1
  • direction = -90
  • spread = 40
  • speed = 0.5..1.5
  • life = 3..6

Basic lane with a mask

PathMask / PixelCanvas / Image Load
  -> FxEmitter2D.mask

This is useful for effects such as:

  • emitting smoke from the shape of text,
  • emitting sparks from cracks in the ground, or
  • emitting splashes only from white areas.

Example: emitter with a mask

{
  "shape": "circle",
  "position": [16, 24],
  "radius": [6, 3],
  "mask_threshold": 0.5,
  "rate": 3.0,
  "burst": 0
}

In this case, the node:

  • first generates candidate positions within the circular area,
  • emits when a candidate falls on a white part of mask, and
  • does not emit when it falls on a transparent part.

Example

Example settings for a 32x32 flame:

{
  "name": "Flame Base",
  "shape": "circle",
  "position": [16, 24],
  "radius": [2, 1],
  "start_frame": 0,
  "end_frame": 7,
  "rate": 2.0,
  "burst": 1,
  "direction_deg": -90.0,
  "spread_deg": 40.0,
  "speed_min": 0.5,
  "speed_max": 1.5,
  "life_min": 3.0,
  "life_max": 6.0,
  "size_min": 1.0,
  "size_max": 2.0,
  "alpha_min": 0.5,
  "alpha_max": 1.0,
  "jitter": 0.4
}

Where it helps

  • Flames: place one or two emitters near the bottom.
  • Smoke: weaken direction and increase life.
  • Splashes: increase burst and shorten life.

Changing density and size

  • To increase density:
    • increase rate,
    • increase burst,
    • increase life_max so more particles remain on screen, or
    • reduce radius_x / radius_y or spread_deg to pack particles into the same area.
  • To make particles larger:
    • increase size_min / size_max, and
    • apply an overall multiplier with FxRasterize.size_scale.

Examples:

  • size_min = 1, size_max = 1
    • Emits only small particles.
  • size_min = 2, size_max = 4
    • Varies each particle's size from 2 to 4.

Notes

  • end_frame = -1 means “through the final frame.”
  • Adding emitters increases the particle count.
  • For P11, keep rate, life, and size low before the effect becomes too expensive.
  • Even with mask connected, particles cannot be emitted from fully transparent areas.
  • With shape = point, only one point is tested, so no particle is emitted when that point falls outside mask.
  • If a speed, life, size, or alpha minimum exceeds its maximum, evaluation swaps the pair and shows a warning in the Inspector.
  • If start_frame / end_frame falls outside the FX domain, or the end precedes the start, evaluation corrects the emission window and shows a warning.
Back to Node List
Fx Emitter 2D — PixPipeline Node Reference