コンテンツにスキップ

Base・Particle

ノードをまとめる Base と、そのポートを決める In / Out ノード、GPU パーティクルの Particle と、その中で使うノードです。 使い方は グループとコンポーネント を参照してください。

Base と In / Out

Base

ノードのまとまりを 1 つのノードにするグループです(TouchDesigner の Base COMP 相当)。

ノードの ENTER で中に入り、パンくずリストか UP で戻ります。Base のポートは、中にある TEX In / TEX Out、SIG In / SIG Out、Text In / Text Out ノードで、その name の順に並びます。中のノードのパラメータ名を右クリックすると、Base の NODE タブ(PARAMETERS)に公開できます。SAVE AS COMPONENT でコンポーネントとして保存できます。実行時のコストはありません。

パラメータ 型 範囲 既定値 説明
name 文字列 base1 Base の名前。パンくずリストに表示されます。

TEX In

Base の TEX 入力ポートになります。Base の中だけで使えます。

Base の入力につないだ映像が、このノードの out から出ます。Base の入力ポートは中の In ノードの name の順に並び、name を変えても接続は保たれます。

パラメータ 型 範囲 既定値 説明
name 文字列 in1 ポートの名前。Base のポートの並び順にもなります。

TEX Out

Base の TEX 出力ポートになります。Base の中だけで使えます。

in につないだ映像が、Base の同じ名前の出力から出ます。Base の出力ポートは中の Out ノードの name の順に並び、name を変えても接続は保たれます。

パラメータ 型 範囲 既定値 説明
name 文字列 out1 ポートの名前。Base のポートの並び順にもなります。

SIG In

Base の SIG(数値)入力ポートになります。Base の中だけで使えます。

Base の入力につないだ値が、このノードの out から出ます。ポートは name の順に並び、name を変えても接続は保たれます。

パラメータ 型 範囲 既定値 説明
name 文字列 in1 ポートの名前。Base のポートの並び順にもなります。

SIG Out

Base の SIG(数値)出力ポートになります。Base の中だけで使えます。

in につないだ値が、Base の同じ名前の出力から出ます。ポートは name の順に並び、name を変えても接続は保たれます。

パラメータ 型 範囲 既定値 説明
name 文字列 out1 ポートの名前。Base のポートの並び順にもなります。

Text In

Base の STR(文字列)入力ポートになります。Base の中だけで使えます。

Base の入力につないだ文字列が、このノードの out から出ます。ポートは name の順に並び、name を変えても接続は保たれます。

パラメータ 型 範囲 既定値 説明
name 文字列 in1 ポートの名前。Base のポートの並び順にもなります。

Text Out

Base の STR(文字列)出力ポートになります。Base の中だけで使えます。

in につないだ文字列が、Base の同じ名前の出力から出ます。ポートは name の順に並び、name を変えても接続は保たれます。

パラメータ 型 範囲 既定値 説明
name 文字列 out1 ポートの名前。Base のポートの並び順にもなります。

Particle

Particle

入力した映像をパーティクルに変え、GPU でシミュレーションして描きます。

ピッカーの GROUP タブから追加し、TEX を in に、out を先へつなぎます。中(ENTER)には Emit Pixels → Return → Curl Noise → Render Points が最初から入っていて、ピッカーの PARTICLE タブで力を足せます。in / out は中の固定の TEX In / TEX Out で、削除や名前の変更はできません。NODE タブには放出数と容量、パーティクルを最初からやり直す RESET があります。

パラメータ 型 範囲 既定値 説明
name 文字列 particles1 Particle の名前。パンくずリストに表示されます。
max particles 整数 1024 〜 262144 262144 パーティクルの最大数(GPU のバッファの大きさ)。
seed 整数 0 〜 9999 0 乱数の種。変えると、パーティクルごとのばらつきやノイズの模様が変わります。

Emit Pixels

入力映像の数ピクセルごとに 1 つ、そのピクセルの位置と色でパーティクルを生みます。

Particle の中のチェーンの先頭に置き、in に映像(ふつうは TEX In in)をつなぎます。パーティクル用のワイヤーは 1 本のチェーンで、分岐はできません。

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
step 整数 1 〜 32 4 何ピクセルごとに 1 つ生むか。max particles に収まらないときは自動で広がります。
threshold 数値 0 〜 1 0.05 明るさ × アルファがこれより低いピクセルからは、パーティクルを生みません(描かれません)。
refresh color オン / オフ オン オンにすると、毎フレーム色を読み直します(動画の色に追従します)。
life 数値 0 〜 30 0 パーティクルの寿命(秒)。過ぎると元のピクセルからやり直します。0 は無期限です。

シェーダー: particles/emit_pixels.comp

Emit From Bright

in の明るいところから、寿命つきのパーティクルを湧かせます(火花、煙)。

Emit Pixels が画素を 1 つずつパーティクルにするのに対して、こちらは Particle の max particles をプールとして使い、毎秒 rate 個を in の明るい画素(明るさ × アルファが threshold 以上)のランダムな位置から出します。出たパーティクルはその画素の色を持ち、speed の速さで上向き(spread でばらけます)に飛び、life 秒で消えて次に使われます。Gravity で落とせば火の粉、Curl Noise と Drag で煙になります。

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
rate 数値 0 〜 50000 2000 1 秒に出す数。max particles を life で割った値より多くは出ません。
life 数値 0.1 〜 20 2 1 つが消えるまでの秒数。
threshold 数値 0 〜 1 0.3 出す画素の明るさの下限(0〜1)。
speed 数値 0 〜 5 0.3 出たときの速さ(1 秒あたりフレームの高さの何倍)。
spread 数値 0 〜 1 0.5 向きのばらつき。0 で真上、1 で全方向。

シェーダー: particles/emit_from_bright.comp

Return

パーティクルを、生まれた位置へばねのように引き戻します。

ほかの力で散らしたパーティクルを、元の映像の形に戻します。Explode と組み合わせると、弾けてから戻る動きになります。

入力: particles(パーティクル)

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
strength 数値 0 〜 20 2 ばねの強さ。
damping 数値 0 〜 1 0.9 揺れの減衰。0 では揺れ続け、1 ではすぐ止まります。

シェーダー: particles/return.comp

Curl Noise

カールノイズの流れでパーティクルを動かし、渦を巻かせます。

湧き出しや吸い込みのない流れなので、パーティクルが一点に集まらずに漂います。

入力: particles(パーティクル)

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
strength 数値 0 〜 10 1 流れの強さ。
scale 数値 0.1 〜 20 3 渦の細かさ。大きいほど画面の高さに入る渦が増えます。
speed 数値 0 〜 5 0.3 流れの模様が時間とともに変わる速さ。

シェーダー: particles/noise.comp

Flow Field

field につないだ画像をベクトル場として、パーティクルを押したり流したりします。

パーティクルがいる位置の field の画素を読み、赤 / 緑(0.5 が 0、赤 1 で右、緑 1 で上)を力にします。Optical Flow の vectors をつなぐと、カメラに映った動きがパーティクルを押します。Particle の中からは TEX In を足して field の名前で外の画像を受け取ります。field がつながっていないところでは何もしません。

入力: particles(パーティクル)、field(TEX)

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
strength 数値 0 〜 20 2 場の強さ(1 秒あたりフレームの高さの何倍の加速、または follow のときの速さ)。
follow 数値 0 〜 1 0 0 で場の向きに加速、1 で場の速さそのもので動きます(間は混ぜます)。

シェーダー: particles/flow_field.comp

Gravity

すべてのパーティクルに一定の加速度(重力や風)をかけます。

単位は 1 秒あたりのフレームの高さ(毎秒²)で、y は上がプラスです。

入力: particles(パーティクル)

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
x 数値 -5 〜 5 0 横向きの加速度(右がプラス)。
y 数値 -5 〜 5 -0.5 縦向きの加速度(上がプラス)。マイナスで下に落ちます。

シェーダー: particles/gravity.comp

Explode

amount が 0 より大きい間、パーティクルを 1 点から外へ押し出します。

amount をトリガーパッド、Audio Hit、Beat などの減衰する値にバインドすると、短い押しで破裂のような動きになります。点に近いパーティクルほど強く押されます。

入力: particles(パーティクル)

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
x 数値 -1 〜 1 0 中心の横の位置(フレーム単位、0 が中央)。
y 数値 -1 〜 1 0 中心の縦の位置(フレーム単位、上がプラス)。
strength 数値 0 〜 30 3 押し出す強さ。
amount 数値 0 〜 1 0 押し出す量。0 の間は何もしません。

シェーダー: particles/explode.comp

Drag

パーティクルの速度を落とします。

空気抵抗のように、動きを徐々に止めます。

入力: particles(パーティクル)

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
amount 数値 0 〜 20 1 1 秒あたりに速度を減らす量。大きいほど早く止まります。

シェーダー: particles/drag.comp

Bounds

パーティクルが画面の端に来たときの扱いを決めます。

入力: particles(パーティクル)

出力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
mode 選択 bounce / wrap / respawn bounce bounce は端で跳ね返り、wrap は反対側から出て、respawn は生まれたピクセルからやり直します。
bounce 数値 0 〜 1 0.6 bounce のとき、跳ね返ったあとに残る速さの割合。

シェーダー: particles/bounds.comp

Render Points

パーティクルを点として描き、映像として出力します。

Particle の中のチェーンの最後に置き、out を TEX Out out につなぎます。チェーンの力はここから上流へたどって順に適用されます。

入力: particles(パーティクル)

パラメータ 型 範囲 既定値 説明
size 数値 0.5 〜 32 2 点の大きさ(フル解像度でのピクセル)。
size by speed 数値 0 〜 4 0 速さに応じて点を大きくする量。
shape 選択 square / round / soft square 点の形(square / round / soft)。
color 選択 source / palette / white source 点の色。source は元のピクセルの色、palette はパレットからパーティクルごとにばらばらの色、white は白です。
opacity 数値 0 〜 1 1 点の不透明度。
blend 選択 add / alpha add 重ね方。add は加算(重なるほど明るく)、alpha は上に重ねます。
fade by age オン / オフ オフ オンにすると、寿命に合わせてフェードアウトします(Emit Pixels の life が 0 より大きいとき)。

シェーダー: particles/render_points