Yotsuba Games
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 ăƒŹăƒŒăƒłă‚’ăƒ«ăƒŒăƒ—ć‰æăšă—ăŠæ‰±ă†ă‹ă§ă™

ă‚·ăƒŒăƒ‰
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