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