Back to Node List

Fx Domain 2D

fx_domain_2d

Defines the frame domain for deterministic pixel FX.

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

Output Ports

NameTypeDescription
FX
fx
FxState2D
FX state document です
フレーム数
frame_count
Int
この FX ドメインが持つ総フレーム数です
FPS
fps
Int
この FX ドメインが持つ再生 FPS です
概要
summary
Text
現在の FX ドメインの短い概要です

Parameters

NameTypeDefaultRangeDescription / Options
width
Int
324–512

FX レーン 1 フレームぶんの横幅です

高さ
height
Int
324–512

FX レーン 1 フレームぶんの高さです

総フレーム数
total_frames
Int
00–120

この FX レーンが何フレームぶんの結果を持つかです (0 = プロジェクト既定に従う)

FPS
fps
Int
00–60

プレビューやベイク時に使う再生 FPS です (0 = プロジェクト既定に従う)

ループ
loop_enabled
Bool
true

この FX レーンをループ前提として扱うかです

左右をつなぐ
wrap_x
Bool
false

左右の端から出た粒子を反対側へ戻します。横方向につながる雨・雪・霧・火の粉を作る時に有効にします。大きな粒子や軌跡も端で欠けないよう描画されます

上下をつなぐ
wrap_y
Bool
false

上下の端から出た粒子を反対側へ戻します。エフェクトを縦方向にもタイルとして繰り返したい時だけ有効にします

シード
seed
Int
10–999999

emitter の揺らぎや force のばらつきを決める決定論的 seed です

Overview

Defines the time and spatial domain that forms the foundation of particle FX such as flames, smoke, and splashes. Always place it first in an FX lane and use it to set the size, frame count, FPS, and seed. Add content downstream with fx_emitter_2d and fx_force.

Usage tips

  • The standard FX lane is fx_domain_2d → fx_emitter_2d → fx_force → fx_rasterize → (finishing) → fx_bake_spritesheet. Build the complete lane first, then tune each stage.
  • Start with a small total_frames, around 6–10. Pixel-art FX often look best with crisp movement across only a few frames.
  • Treat seed as the reroll for the entire FX. If you do not like the shape, changing the seed is the quickest fix.

Related nodes

  • fx_emitter_2d / fx_force — add content to the state
  • fx_rasterize — converts the state to an image
  • fx_bake_spritesheet — performs the final bake

Read this first

  • Fx Domain 2D does not output an image by itself.
  • It creates the base FX state.
  • Add content with Fx Emitter 2D and Fx Force, then convert it to an image with Fx Rasterize.

When to use it

  • When starting a short-frame FX such as a flame, smoke plume, or splash
  • When you plan to bake the result later with Fx Bake SpriteSheet
  • When creating the base state before Palette Quantize or Pixel Cleanup

The most basic setup

  1. Add Fx Domain 2D.
  2. Set width / height / total_frames / fps.
  3. Connect fx to Fx Emitter 2D.

The minimal lane is:

FxDomain2D -> FxEmitter2D -> FxRasterize -> Preview

Example

  • width = 32
  • height = 32
  • total_frames = 8
  • fps = 12
  • loop_enabled = true
  • seed = 1

At this point, the contents of fx have approximately this meaning:

{
  "version": 1,
  "domain": {
    "width": 32,
    "height": 32,
    "total_frames": 8,
    "fps": 12,
    "loop_enabled": true,
    "seed": 1
  },
  "emitters": [],
  "forces": []
}

Notes

  • Changing seed changes the result even with the same emitter and force settings.
  • total_frames and fps become the source of truth for Fx Bake SpriteSheet downstream.
  • P11 FX is a lightweight, bake-first FX lane, not a full fluid simulation.
Back to Node List
Fx Domain 2D — PixPipeline Node Reference