ノード一覧に戻る

式からVec2

expression_vec2

短い式を評価して Vec2 を出力します

確認済み
解説あり

入力ポート

名前説明
X
x
Number
数値変数 x です
Y
y
Number
数値変数 y です
Vec
vec
Vec2
必要なら使える Vec2 変数です
フラグ
flag
Bool
必要なら使える Bool 変数です

出力ポート

名前説明
value
Vec2
式を評価した結果の Vec2 です

パラメータ

名前既定値範囲説明・選択肢
X
x
Float
0-10000–10000 / step 0.01

入力ピンが未接続の時に使う x の値です

Y
y
Float
0-10000–10000 / step 0.01

入力ピンが未接続の時に使う y の値です

Vec X
vec_x
Float
0-10000–10000 / step 0.01

vec 入力ピンが未接続の時に使う X 成分です

Vec Y
vec_y
Float
0-10000–10000 / step 0.01

vec 入力ピンが未接続の時に使う Y 成分です

フラグ
flag
Bool
false

flag 入力ピンが未接続の時に使う真偽値です

expression
Text
vec2(x, y)

Vec2 を返す式です。 記述例: - vec2(x, y) - vec2(x + 1, y - 1) - vec + vec2(2, 0) 入力ピンがつながっている時は、Inspector の値より入力ピンが優先されます。

概要

短い式で 2Dベクトル(Vec2)を1つ作るノードです。現在は別の Expression ノードや list_map / list_filtervec 入力へ渡し、ベクトル計算を 再利用する用途が中心です。

使い方のポイント

  • 動く座標の定番: vec2(sin(time*pi*2), cos(time*pi*2)) で円運動、 vec2(time * 32, 0) で横スクロール。結果は別の Expression ノードの vec 入力へ渡し、x(vec) / y(vec) で各成分を取り出せる
  • ドット絵ではオフセットを整数化しておくとぶれない: vec2(floor(x), floor(y))
  • 2つの数値からただ Vec2 を組むだけでも使える(数値→Vec2 の変換点)

関連ノード

  • expression_float / expression_boolvec 入力で結果を再利用
  • list_map / list_filter — リスト式の vec 入力で結果を再利用
  • time_source — 時間の供給(式内 time でも可)

まず大事なこと

  • ここで使う x, y, vec, flag は、変数パネルで作る変数とは別物です
  • これは Expression ノード自身の入力ピン名 です
  • x, y, vec_x, vec_y, flag は Inspector から直接入力もできます
  • 変数パネルの変数を使いたい時は、Variable Ref などで取り出して各入力ピンへつなぎます
  • 入力ピンに値がつながっている時は、入力ピンの値が Inspector の値より優先されます
  • 未接続の入力は次の値として扱われます
    • x, y = 0
    • vec = [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

よく使う式

  • vec2(x, y)
  • vec2(x + 1, y - 1)
  • vec + vec2(2, 0)
  • if(flag, vec2(1, 0), vec2(0, 1))

具体例

例1: 座標をそのまま Vec2 化

  • x1
  • y2
  • expression = vec2(x, y)
value = [1, 2]

例2: 少しずらす

  • x1
  • y2
  • expression = vec2(x + 1, y + 2)
value = [2, 4]

どういう時に使うか

  • Expression / List の式をまたいでベクトル計算を再利用したい時
  • 2成分をまとめたまま計算し、後段の式で x(vec) / y(vec) に分けたい時

注意

  • 最終的に Vec2 へ変換できる式にしてください
  • 迷ったら vec2(...) を明示的に書くのが安全です
  • 現在の主要な Transform / Path ノードには Vec2 を直接受ける入力がありません。 必要な場合は成分を別々の数値として渡してください。
  • && / ||if は短絡評価します。clamp の逆順境界は入れ替え、 sign(0) = 0% は非負のユークリッド剰余です。0除算・0による剰余・ 負数の sqrt はエラーになります。
  • 式を入力中は、途中の不完全な文字列でもその場で評価されるので、一時的にエラー表示が出ることがあります
ノード一覧に戻る
式からVec2 — PixPipeline ノード解説