まず大事なこと
- ここで使う
x,y,vec,flagは、変数パネルで作る変数とは別物です - これは Expression ノード自身の入力ピン名 です
x,y,vec_x,vec_y,flagは Inspector から直接入力もできます- 変数パネルの変数を使いたい時は、
Variable Refなどで取り出して各入力ピンへつなぎます - 入力ピンに値がつながっている時は、入力ピンの値が Inspector の値より優先されます
- 未接続の入力は次の値として扱われます
x,y=0vec=[vec_x, vec_y]flag=false
使えるもの
- 変数:
x,y,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 < 0.5flag || x > 0.5length(vec) >= 4index % 2 == 0
具体例
例1: 閾値判定
xを0.25expression = x < 0.5
value = true
例2: 複合条件
flagをfalsexを0.8expression = flag || x > 0.5
value = true
どういう時に使うか
Switchや filter 条件へ入れる Bool を、軽い式だけで作りたい時ListFilterの predicate を先に単体確認したい時
注意
- bool 以外の値でも評価できますが、最終的には true / false に変換されます
- 複雑な状態機械を書く用途には向きません
- 式を入力中は、途中の不完全な文字列でもその場で評価されるので、一時的にエラー表示が出ることがあります