Canvas

AI와 함께 읽기
전체 문서 한 파일로 (llms-full.txt)
Canvas #Fx #Node
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이 거의 0일 때는 0으로 나누기를 피하기 위해 ±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" })