まず大事なこと
- ここで使う
x,y,z,w,vec,flagは、変数パネルで作る変数とは別物です - これは Expression ノード自身の入力ピン名 です
x,y,z,w,vec_x,vec_y,flagは Inspector から直接入力もできます- 変数パネルで作った変数を使いたい時は、その変数を
Variable Refなどで取り出して各入力ピンへつなぎます - 入力ピンに値がつながっている時は、入力ピンの値が Inspector の値より優先されます
- 未接続の入力は次の値として扱われます
x,y,z,w=0vec=[vec_x, vec_y]flag=false
使えるもの
- 変数:
x,y,z,w,vec,vx,vy,flag,time,frame,total_frames - 演算:
+ - * / %,== != < <= > >=,&& || ! - 関数:
min,max,clamp,abs,floor,ceil,round,sign,sin,cos,tan,sqrt,pow,lerp,vec2,x,y,length,if
よく使う式
x + y * 2sin(time * pi * 2)if(flag, x, y)length(vec) * 0.5
具体例
例1: 単純な加算
xを0.5yを2expression = x + y * 2
value = 4.5
例2: 入力をつながない場合
- 入力を何もつながない
expression = x + 1
この時は x = 0 として扱われます。
value = 1
例3: time を使う
expression = sin(time * pi * 2)
time が 0.0 → 1.0 と変わると、1周期ぶんのサイン波になります。
どういう時に使うか
- 数値ノードを何個も並べるほどではない軽い式を書きたい時
ListMapに入れる前に、式の内容を単体で確認したい時
注意
- 長いロジックや副作用付き処理を書く用途ではありません
- v1 は 軽い escape hatch 用です
- 式を入力中は、途中の不完全な文字列でもその場で評価されるので、一時的にエラー表示が出ることがあります