UV Project

AI와 함께 읽기
전체 문서 한 파일로 (llms-full.txt)
UVProject #3D #Node

입력 Mesh의 정점·법선·삼각형은 그대로 두고, UV만 투영으로 다시 만들어 Mesh를 출력합니다. Text 3DImage Extrude의 메시는 뚜껑이 원본 이미지의 UV, 측면이 둘레 길이의 UV로 되어 있기 때문에, SpriteMaterial로 영상을 붙이면 그대로는 의도한 그림이 나오지 않습니다. 이 노드를 사이에 끼워 UV를 다시 만듭니다.

투영의 기준은 메시 자신의 바운딩 박스입니다. Font Size나 글자 수로 위치·크기가 바뀌어도, 형태가 같으면 같은 방식으로 붙습니다. 계산은 입력 Mesh가 바뀌었을 때(상류의 재베이크 포함)와 파라미터를 바꿨을 때만 이루어집니다.

투영 모드(드롭다운)

  • Planar — Axis 방향에서의 평면 투영입니다. 나머지 2축이 U·V가 됩니다
  • Box(기본값) — 정점 법선이 가장 많이 향하고 있는 축의 평면 투영을 면마다 선택합니다. 뒤를 향한 면은 좌우를 반전시켜, 옆 면과 거울상이 되지 않도록 합니다. 법선을 갖지 않는 메시에서는 Z의 Planar와 같아집니다. Axis는 사용하지 않습니다
  • Cylinder — Axis를 축으로 하여, 축 둘레의 각도를 U, 축 방향을 V로 합니다. 이음매(U가 0과 1에서 되돌아가는 선)는 기본 카메라의 뒤쪽, Axis가 Z일 때는 아래쪽(-Y)에 있습니다
  • Sphere — 바운딩 박스의 중심에서의 방향으로 위도·경도를 구합니다. 이음매의 위치는 Cylinder와 같습니다

Axis(X / Y / Z, 기본값 Z) 는 Planar의 투영 방향이며, Cylinder / Sphere의 축입니다. Cylinder / Sphere에서는 이음매를 가로지르는 삼각형의 정점이 복제되기 때문에, 출력의 정점 수가 입력보다 늘어날 수 있습니다.

포트 보충 설명

다시 만들어진 UV에, 중심 기준의 확대·축소 → 회전 → 오프셋 순서로 변환이 적용됩니다. 순서와 회전 방향은 SpriteMaterial 쪽의 UVOffset / UVScale / UVRotate와 같습니다. 매 프레임 움직이는 스크롤이나 타일링은 머티리얼 쪽에서 하고, 여기는 변화가 있을 때만 계산하는 노드입니다.

  • UVScaleX / UVScaleY(노드 위의 표시는 Scale X / Scale Y) — UV의 배율(기본값 1)
  • UVOffsetX / UVOffsetY(표시는 Offset X / Offset Y) — UV의 이동량(기본값 0)
  • UVRotate(표시는 Rotate) — UV의 회전(도, 기본값 0)

프리뷰

노드 위의 프리뷰는 체커 무늬를 붙여 회전시켜 표시합니다. UV Layout 토글을 ON으로 하면, UV 공간(01 범위를 체커로 표시)에 삼각형의 변을 늘어놓은 전개도로 전환되어, 늘어남·거울상·이음매·01을 벗어난 부분을 읽을 수 있습니다.

읽기 불가(Read/Write가 비활성)인 임포트된 메시는 UV를 다시 만들 수 없으므로 빈 출력이 되며, 콘솔에 경고가 한 번 출력됩니다.

입력 포트

Port ID타입
MeshMeshInput
UVScaleXfloat
UVScaleYfloat
UVOffsetXfloat
UVOffsetYfloat
UVRotatefloat

출력 포트

Port ID타입
MeshMeshOutput

스크립트에서 설정할 수 있는 멤버

경로타입
scaleXInputfloat
scaleYInputfloat
offsetXInputfloat
offsetYInputfloat
rotationInputfloat
showUVLayoutbool

Synapse Apps (스크립팅)

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

이 페이지로 연결된 페이지

같은 페이지를 참조하는 페이지