Back to Node List

Path Transform

path_transform

Move, scale, and rotate a bezier path

Reviewed
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
パス
path
Path
Required
動かしたり変形したりしたいパスです

Output Ports

NameTypeDescription
パス
path
Path
変形した後のパスです

Parameters

NameTypeDefaultRangeDescription / Options
X移動
offset_x
Int
0-4096–4096

右へ動かす量です。マイナスで左に動きます

Y移動
offset_y
Int
0-4096–4096

下へ動かす量です。マイナスで上に動きます

X倍率
scale_x
Float
10.01–10 / step 0.01

横方向の倍率です。1.0 で元のまま、2.0 で2倍です

Y倍率
scale_y
Float
10.01–10 / step 0.01

縦方向の倍率です。1.0 で元のまま、2.0 で2倍です

回転角度
rotation
Angle
0— / step 1

何度回転させるかです。度数法で指定します

変形の基準点
pivot_mode
Enum
Center

拡大縮小や回転をどこ基準で行うか選びます

  • 境界中心Center
    曲線の実際の極値から求めた境界中心を基準にします
  • 原点Origin
    原点 (0,0) を基準にします
  • キャンバス中心CanvasCenter
    パスのキャンバス中心を基準にします
  • カスタムCustom
    指定した座標を基準にします
基準点 X
pivot_x
Float
0-4096–4096 / step 0.5

基準点を手で決める時の X 座標です

基準点 Y
pivot_y
Float
0-4096–4096 / step 0.5

基準点を手で決める時の Y 座標です

What is it for?

  • Move a shape path to another position
  • Reuse the same shape with rotation or scaling
  • Prepare a path before passing it to PathMask or Shape Sweep

Overview

Moves, scales, and rotates a path. Unlike image transform, it operates at the vector stage, so rotation and non-integer scaling do not degrade the shape. The right order is to adjust the shape before rasterizing with path_stroke/fill.

  • Version: 3

Usage tips

  • Rotating with this node while still a path produces cleaner lines than rasterizing first and applying pixel_rotate, because rasterization runs against the rotated shape.
  • The go-to animation chain is waveform-driven rotation or offset → rasterization → animation_render. Sword swings and pendulums retain vector quality.
  • pivot_mode is the most important setting for how rotation looks. For a pendulum, specify its support point with Custom.

Common pitfalls

  • Rotation sends the shape to an unexpected position: the pivot is not what you intended. Try Center first, then set the support explicitly with Custom.
  • A positive angle looks clockwise: image coordinates point downward on Y, so a positive rotation appears clockwise on screen.
  • Scaling moves the shape beyond the canvas: path coordinates are not constrained or clipped by the canvas. Expand the rasterization canvas or bring the path back with an offset.

Pivot meanings

Value Description
Center Use the bounds center computed from the actual Bézier curve extrema, not the control-point box
Origin Use the origin (0, 0)
CanvasCenter Use pixel-center coordinates ((width - 1) / 2, (height - 1) / 2); even dimensions place it between pixels
Custom Set it with pivot_x / pivot_y

Examples

  1. Shape.path -> Path Transform -> PathMask
    • Move the same shape to create a mask elsewhere.
  2. rotation = 45°
    • Turn a rectangular path into a diagonal band.
  3. scale_x = 2.0, scale_y = 0.5
    • Make the shape wide and short.
  4. pivot_mode = Origin
    • Rotate around the origin.

Related nodes

  • path_array — repeat placement while transforming
  • path_combine — merge multiple transformed paths
  • transform / pixel_rotate — transform at the image stage when a path is unavailable
  • path_sample / path_tangent — extract numeric position or direction along a path
Back to Node List
Path Transform — PixPipeline Node Reference