Canvas

AIと読む
全ドキュメントを1ファイルで(llms-full.txt)
Canvas #Fx #ノード
Canvas

解像度もアスペクト比もばらばらな入力を、出力解像度のキャンバスに載せ直す整形ノードです。アスペクト政策で基本の収め方を決め、その上に位置・スケール・3軸回転を重ねます。実装はUV変換1パス(逆ホモグラフィ)なので、カメラもレイヤーも使いません。

アスペクト政策(ドロップダウン)

  • Stretch — 出力いっぱいに引き伸ばす(アスペクト比は崩れる)
  • Fit(初期値) — 全体を収める。長辺を合わせるので短辺側に余白が出ます
  • Fill — 全体を覆う。短辺を合わせるので長辺側がはみ出して切り取られます

パラメータ

  • Position X / Position Y — 出力の正規化座標でのオフセット。初期値0
  • Scale X / Scale Y — アスペクト政策で決まった倍率にさらに掛かります。初期値1。負値で反転します
  • Rotation X / Rotation Y / Rotation Z — 度。Zが面内回転、X・Yは奥行き方向の傾きで透視投影がかかります。初期値0

出力解像度はグローバル(マスター)解像度に追従します。 入力の解像度ではありません。Master Outputの解像度を変えると出力RTも作り直されます。

変換後のUVが0〜1の外に出た画素は**透明(黒+α0)**になります。エッジオン付近で退化した場合も同様に透明です。

Scaleがほぼゼロのときはゼロ除算を避けるため±1e-4でガードされます(符号は維持されるので負スケールの反転は活きます)。

入力が未接続でも出力RT自体は生き続けます(黒で初期化された状態)。

出力はHDR対応です。

動画

入力ポート

Port ID
Render TextureRenderTexture
Position Xfloat
Position Yfloat
Scale Xfloat
Scale Yfloat
Rotation Xfloat
Rotation Yfloat
Rotation Zfloat

出力ポート

Port ID
Render TextureRenderTexture

スクリプトから設定可能なメンバー

パス
posXInputfloat
posYInputfloat
scaleXInputfloat
scaleYInputfloat
rotXInputfloat
rotYInputfloat
rotZInputfloat

Synapse Apps(スクリプティング)

await synapse.modules.create({ type: "Canvas" })