目次 [ Contents ]
Fusionのエクスプレッションに関する情報をまとめたメモです。見つけたものを書き残しただけの部分もあるので、「間違っている」「使い方が違う」ものもあるかもしれません。あくまでメモで…。
一部はYoutubeなどWeb上での解説からですが、ほとんどは「User Manual.pdf」と「Tool Reference.pdf」から拾ってます。pdfファイルはアプリケーションソフト内にも同胞されています。
算術演算子
+ | 足し算 |
---|---|
– | 引き算 |
* | 掛け算 |
/ | 割り算 |
x % y | xをyで割った余りを返す |
x ^ y | xのy乗 |
比較演算
if(c, x, y) | もしcがfalseでなければx、違えばyを返す |
---|---|
iif(a+b == c, x, y) | 条件式(a+b)がcがならばx、違えばyを返す |
x = y , x == y | xとyが同じならtrue、違えばfalseを返す |
x <> y , x != y | xとyが違えばtrue、同じならfalseを返す |
x < y | xがyより小さいならtrue、違えばfalseを返す |
x > y | xがyより大きいならtrue、違えばfalseを返す |
x <= y | xがyと同一、又は小さいならtrue、違えばfalse |
x >= y | xがyと同一、又は大きいならtrue、違えばfalse |
x & y , x && y | xとyが共にtrueならtrueを返す |
x | y , x || y | xとyのどちらかがtrueならtrueを返す |
!x | 値がfalseならtrue、trueならfalseを返す |
数学関数
pi | 円周率 |
---|---|
e | ネイピア数(自然対数の底) |
log(x) | xの常用対数 |
ln(x) | xの自然対数 |
sin(x) | 三角関数 sin(xは角度) |
cos(x) | 三角関数 cos(xは角度) |
tan(x) | 三角関数 tan(xは角度) |
asin(x) | x角度のsin逆三角関数 |
acos(x) | x角度のcos逆三角関数 |
atan(x) | x角度のtan逆三角関数 |
atan2(x,y) | x,y角度のtan逆三角関数 |
abs(x) | 絶対値(負の数値xを正数に) |
int(x) | xの小数点以下を切り捨て |
frac(x) | xの小数部を返す |
sqrt(x) | xの平方根 |
rand(x,y) | xからyの間で乱数を生成 |
rand(x,y,s) | xからyの間でsを元に乱数を生成 |
min(x,y) | xとyから小さい数値を返す |
max(x,y) | xとyから大きい数値を返す |
dist(x1,y1,x2,y2) | x1,y1~x2,y2間の距離を返す |
dist3d(x1,y1,z1,x2,y2,z2) | distの3D空間版 |
noise(x) | xからパーリンノイズを生成 |
noise2(x,y) | x,yからパーリンノイズを生成 |
noise3(x,y,z) | x,y,zからパーリンノイズを生成 |
一般関数項目
(他ソフトにも)通用するような共通の関数。
floor | 小数点切り捨て |
---|
ツール別
ツール内で使う因子等。
基本・共通項目
.Point(x,y) | Center, Pivotなど、2Dツールのx,y位置 |
---|---|
.Transform3DOp. | 「3Dトランスフォーム」タブ |
.Translate.X~Z | 3D X,Y,Zポジション |
.Rotate.X~Z | 3D X,Y,Z回転 |
Text(“aaaa“) | 文字列「aaaa」 |
時間項目
時間の指定に関する項目。
time | 現在フレーム |
---|---|
comp.CurrentTime | 現在フレーム(スクリプトより) |
comp.GlobalStart | 総尺IN点(スクリプトより) |
comp.GlobalEnd | 総尺OUT点(スクリプトより) |
comp.RenderStart | レンダー範囲IN点(スクリプトより) |
comp.RenderEnd | レンダー範囲OUT点(スクリプトより) |
Background / Merge / Fast Noise等
ベタ塗り | “Solid” |
---|---|
横グラデーション | “Horizontal” |
縦グラデーション | “Vertical” |
4辺グラデーション | “Corner” |
カスタムグラデーション | “Gradient” |
見切れ | “Once” |
---|---|
繰り返し | “Repeat” |
反転繰り返し | “Ping-Pong” |
Custom Tool
n1…n8 | 「Number」タブのスライダ数値 |
---|---|
p1x…p2y…p4z | 「Points」タブのスライダx,y,z数値 |
s1, s2, s3, s4 | 「Setup」タブに書いた計算結果 |
i1, i2, i3, i4 | 「Inter」タブに書いた計算結果 |
time | 現在フレーム |
x | 現在のピクセルの水平座標 |
y | 現在のピクセルの垂直座標 |
w (又は w1…w3) | 入力ノード1~3画像の横幅 |
h (又は h1…h3) | 入力ノード1~3画像の高さ |
ax (又は ax1…ax3) | 入力ノード1~3画像の横アスペクト |
ay (又は ay1…ay3) | 入力ノード1~3画像の縦アスペクト |
c1, c2, c3 | 入力ノード1~3画像の現在チャンネル |
r1…g2…b3 | 入力ノード1~3画像のR,G,Bチャンネル |
a1, a2, a3 | 入力ノード1~3画像のαチャンネル |
z1, z2, z3 | 入力ノード1~3画像のZ-Bufferチャンネル |
cv1, cv2, cv3 | 入力ノード1~3画像のZ Coverageチャンネル |
u1, u2, u3 | 入力ノード1~3画像のU Coordinateチャンネル |
v1, v2, v3 | 入力ノード1~3画像のV Coordinateチャンネル |
nx1…ny2…xz3 | 入力ノード1~3画像のX,Y,Z Normalチャンネル |
bgr1…bgg2…bgb3 | 入力ノード1~3画像のBackground R,G,Bチャンネル |
vx1…vy3 | 入力ノード1~3画像のX,Y Vectorチャンネル |
pCustom Tool
px, py, pz | パーティクルのx,y,zポジション |
---|---|
vx, vy, vz | x,y,zの「velocity」値 |
rx, ry, rz | x,y,zの「rotation」値 |
sx, sy, sz | x,y,zの「spin」値 |
pxi1, pyi1 | 入力ノード画像1の2D上ポジション |
pxi2, pyi2 | 入力ノード画像2の2D上ポジション |
mass | – – – |
size | パーティクルの現在サイズ |
id | パーティクルのid番号 |
r, g, b, a | パーティクルのRGB、αチャンネル |
rgnhit | 「Region」タブで設定した条件内ならTrueを返す |
rgndist | 「Region」設定値からパーティクルまでの距離 |
condscale | そのパーティクル位置でのRegion強度 |
rgnix, rgniy, rgniz | 「Region」でパーティクルが当たっている場所の値 |
rgnnx, rgnny, rgnnz | パーティクルが「Region」に当たった時の「normal」値 |
w1, h1 | 入力ノード画像1の縦横サイズ |
w2, h2 | 入力ノード画像2の縦横サイズ |
i1, i2, i3, i4 | 「Inter」タブに書いた計算結果 |
s1, s2, s3, s4 | 「Setup」タブに書いた計算結果 |
n1…n8 | 「Number」タブのスライダ数値 |
p1x…p2y,…p4z | 「Positions」タブのスライダ数値 |
time | 現在フレーム |
age | 「Conditions」タブの現在「Age」 |
lifespan | 現在フレームの「lifespan」 |
構文例
一定周期の繰り返し
厳密にコントロールしたければ「Splineエディタ」で、キーフレームループで作ったほうがいいかも。
// フレーム数内で一定周期の振幅(プラスマイナス) sin(time/(フレーム数/(pi*2))) // フレーム数内で一定周期の振幅(プラスのみ) sin(time/(フレーム数/pi)) // 振幅範囲を1.0シフト sin(time/(フレーム数/(pi*2)))+1.0 // 振幅の振れ幅を2倍に sin(time/(フレーム数/(pi*2)))*2
文字の参照
Youtubeより
// 参照先文字列から特定順番の文字を拾う string.sub(参照文字列.Value, 開始数値, 終了数値)
数値の取得
“Fusion9 User Manual” 403ページより
// Merge1ツールのBlendから、5フレーム前の値を拾う場合 Merge1:GetValue("Blend", time-5)