ノード一覧に戻る

FXドメイン2D

fx_domain_2d

決定論的な pixel FX のフレームドメインを定義します。

下書き
解説あり

出力ポート

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

パラメータ

名前既定値範囲説明・選択肢
width
Int
324–512

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

高さ
height
Int
324–512

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

総フレーム数
total_frames
Int
81–120

この FX レーンが何フレームぶんの結果を持つかです

FPS
fps
Int
121–60

プレビューやベイク時に使う再生 FPS です

ループ
loop_enabled
Bool
true

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

シード
seed
Int
10–999999

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

まず大事なこと

  • FxDomain2D だけでは画像は出ません
  • ここで作るのは FX の土台 state です
  • この後に FxEmitter2DFxForce をつないで内容を足し、最後に FxRasterize で画像へ落とします

どういう時に使うか

  • 炎、煙、飛沫のような少フレーム FX を作り始める時
  • あとで FxBakeSpriteSheet へベイクしたい時
  • PaletteQuantizePixelCleanup に流す前の土台を作りたい時

一番基本の使い方

  1. FxDomain2D を置く
  2. width / height / total_frames / fps を決める
  3. fxFxEmitter2D へつなぐ

最小の基本レーンはこうです。

FxDomain2D -> FxEmitter2D -> FxRasterize -> Preview

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

この時点で fx の中身は、だいたいこういう意味です。

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

注意

  • seed を変えると同じ emitter / force でも見た目が変わります
  • total_framesfps は後段の FxBakeSpriteSheet の正本になります
  • P11 の FX は本格流体ではなく、bake-first の軽量 FX レーンです
ノード一覧に戻る