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 Texture | RenderTexture |
Position X | float |
Position Y | float |
Scale X | float |
Scale Y | float |
Rotation X | float |
Rotation Y | float |
Rotation Z | float |
출력 포트
| Port ID | 타입 |
|---|---|
Render Texture | RenderTexture |
스크립트에서 설정할 수 있는 멤버
| 경로 | 타입 |
|---|---|
posXInput | float |
posYInput | float |
scaleXInput | float |
scaleYInput | float |
rotXInput | float |
rotYInput | float |
rotZInput | float |
Synapse Apps (스크립팅)
await synapse.modules.create({ type: "Canvas" })