まず何に使う?
- 作った図形のパスを別の位置へ動かしたい時
- 同じ形を回転・拡大して使い回したい時
PathMaskやShape Sweepに渡す前の下準備をしたい時
概要
パスを移動・拡縮・回転させるノードです。画像の transform と違いベクタ段階の変形
なので、回転も非整数倍の拡縮も劣化しません。ラスタライズ(path_stroke/fill)の前に
形を調整するのが正しい順序です。
- バージョン: 3
使い方のポイント
- 画像化してから
pixel_rotateするより、パスの段階でこのノードで回す方が 線がきれい(ラスタライズが回転後の形に対して行われるため) - アニメーションの定番:
rotationやoffsetを波形ノードで駆動 → ラスタライズ →animation_render。剣の振り・振り子などがベクタ品質で動く pivot_modeは回転の見た目を決める最重要設定。振り子なら支点をCustomで 指定する
よくある失敗
- 回転したら思わぬ場所に飛んでいく: 基準点が意図と違う。まず
Centerで試し、 必要ならCustomで支点を明示する - 正の角度で時計回りに見える: 画像座標は Y が下向きなので、正の
rotationは 画面上で時計回りに見えます - 拡大したらキャンバスからはみ出す: パスの座標はキャンバスに拘束されない。 変形後も座標は切り詰めず保持されるため、ラスタライズ側のキャンバスサイズを 広げるか、offset で収める
基準点の意味
| 値 | 説明 |
|---|---|
Center |
制御点の箱ではなく、ベジェ曲線の実際の極値から求めた境界中心を使います |
Origin |
原点 (0, 0) を基準にします |
CanvasCenter |
((幅 - 1) / 2, (高さ - 1) / 2) のピクセル中心座標を使います。偶数寸法ではピクセル間になります |
Custom |
pivot_x / pivot_y で自分で決めます |
使用例
Shape.path -> Path Transform -> PathMask- 同じ図形を動かして別の場所にマスクを作れます
rotation = 45°- 矩形パスを斜めの帯にできます
scale_x = 2.0,scale_y = 0.5- 横長の形へ変えられます
pivot_mode = Origin- 原点基準で回したい時に使います
関連ノード
path_array— 変形しながらの繰り返し配置path_combine— 変形した複数パスの合流transform/pixel_rotate— 画像段階での変形(パス段階が使えない場合)path_sample/path_tangent— パス上の位置・向きの数値取り出し