전체 글로 돌아가기
TutorialPicoBerry Team

유니티에서 3D를 2D처럼 렌더링하기 — 각도마다 스프라이트를 다시 그리지 않으려면

유니티 6.3에서 3D 오브젝트를 2D처럼 렌더링하는 정확한 설정을 공식 문서 기준으로 정리했습니다. 핵심 셋 — Mesh Renderer에 Mesh2D-Lit-Default(또는 Sort 3D As 2D Compatible 셰이더)를 입히고, 루트에 Sorting Group을 붙여 Sorting Layer·Order in Layer로 정렬하고, Mesh Renderer의 2D › Mask Interaction으로 Sprite Mask에 반응시킵니다. 일반 URP Lit 머티리얼로는 2D Light·Sprite Mask가 동작하지 않습니다.

캐릭터 하나를 여덟 방향으로 돌려 스프라이트를 여덟 장 그려 본 사람은 압니다 — 각도가 하나 늘 때마다 그림이 한 장 늘고, 애니메이션이 붙으면 프레임 수만큼 곱해집니다. 유니티 6.3의 URP 2D Renderer는 이 곱셈을 끊습니다. 3D Mesh 하나를 2D Light·Sprite Mask·정렬(Sorting) 규칙에 태우면 각도는 회전이 되고 애니메이션은 재사용이 됩니다. 이건 우회 트릭이 아니라 유니티가 공식으로 지원하는 기능입니다. 이 글은 그 설정을 공식 문서 기준으로 정확히 정리합니다 — 어떤 머티리얼·셰이더를 쓰고, 정렬·마스크를 어떻게 켜고, 안 될 때 뭘 점검하는지.

3D 초안을 2D 스타일 유니티 씬에 놓고, 정렬과 마스크, 조명, Game View 가독성까지 훑는 전체 흐름.

스프라이트 대신 3D, 뭐가 이득인가요?

손그림 2D와 똑같은 그림이 나오는 건 아닙니다 — 특히 픽셀아트나 페인터리 룩이 정체성인 프로젝트라면요. 3D의 이점은 손그림을 대체하는 게 아니라 각도·애니메이션·반복 수정 비용을 재사용하는 데 있습니다. 화면에서 맡는 역할은 비슷해도, 그걸 만드는 품이 다릅니다.

좌: 8방향 스프라이트를 방향마다 다시 그리는 방식 / 우: 3D 모델 하나를 회전해 모든 방향을 재사용하는 방식 — 각도가 늘 때 드는 작업량 비교 개념도

작업손으로 그린 스프라이트3D 에셋을 2D로
새 각도·포즈방향마다 다시 그림모델 하나를 회전
애니메이션프레임 단위로 그림에셋 애니메이션 재사용
깊이·렌더 순서레이어를 손으로 쌓음Sorting Group + Sort 3D as 2D
조명·마스크프레임마다 구워 넣음2D Light·Sprite Mask가 반응

오른쪽 열이 바꾸는 건 겉모습이 아니라 반복 비용입니다. 각도·애니메이션이 늘 때 다시 그리기 시작하느냐, 이미 있는 걸 재사용하느냐의 차이입니다.

2D 정렬 규칙을 적용하기 전과 후 — 같은 3D 오브젝트가 Sorting Layer 순서를 따라 제자리를 찾습니다.

두 전략: Z 깊이 vs Sort 3D as 2D

먼저 정할 건 하나입니다 — 씬이 깊이(depth)를 쓰느냐.

  • 전략 A · Z 깊이 — 오브젝트의 실제 Z 위치를 살려 시차(parallax)·피사계 심도·안개·씬 깊이 효과를 냅니다. 2.5D 게임에 맞습니다.
  • 전략 B · Sort 3D as 2D — 3D 오브젝트를 또 하나의 2D 씬 요소로 취급합니다. 기존 Sorting Layer 규칙을 그대로 따르게 해서, 스프라이트와 똑같은 방식으로 앞뒤가 정해집니다.

깊이가 게임플레이의 일부라면 A, 순전히 룩 때문에 3D를 쓰는 거라면 B입니다.

Z-depth와 2D Sorting Layer를 견주는 다이어그램 — 앞뒤 순서 문제를 진단할 때 쓰는 레퍼런스

실제 설정 — 3D Mesh를 2D Renderer에 태우기

전제: 프로젝트가 2D URP여야 합니다. URP Asset의 렌더러가 2D Renderer Data여야 Mesh Renderer에 아래 2D 옵션들이 나타납니다 — 2D 템플릿으로 시작하면 자동 구성됩니다.

  1. 머티리얼 — Mesh Renderer(또는 Skinned Mesh Renderer)에 Mesh2D-Lit-Default 를 입힙니다. 2D URP 프로젝트에서 3D 오브젝트를 만들면 자동 배정되고, 기존 오브젝트는 Materials 슬롯에서 골라 바꾸면 됩니다. 일반 URP Lit 머티리얼이면 2D Light가 반응하지 않습니다. (공식)
  2. 커스텀 셰이더가 필요하면Assets › Create › Shader Graph › URP에서 Sprite Lit·Unlit·Custom Lit 셰이더를 만들고, Graph Settings에서 Sort 3D As 2D Compatible을 켭니다. 이 옵션을 안 켜면 정렬이 2D 규칙을 따르지 않습니다.
  3. 정렬 — 오브젝트 루트에 Sorting Group을 붙입니다(Component › Rendering › Sorting Group). 그룹 안에서는 각 렌더러의 Sorting Layer·Order in Layer로 앞뒤가 정해지고, 카메라 거리는 루트 위치 하나로 계산됩니다. (공식)
  4. 마스크 — Sprite Mask에 반응시키려면 Mesh Renderer의 2D › Mask InteractionNone에서 Visible Inside Mask 또는 Visible Outside Mask로 바꿉니다. 이 옵션은 2D URP 프로젝트에서만 노출됩니다. (공식)
  5. 조명2D Light는 URP + 2D Renderer에서만 동작하고, Mesh2D-Lit 계열 머티리얼을 입힌 오브젝트가 대상이 됩니다.

안 될 때 — 증상별 점검

증상흔한 원인정상 설정
2D Light가 안 먹음일반 URP Lit 머티리얼Mesh2D-Lit-Default(또는 Sort 3D As 2D Compatible 셰이더)
Sprite Mask가 안 먹음Mesh Renderer의 2D › Mask Interaction = NoneVisible Inside/Outside Mask
앞뒤가 뒤섞임Sorting Group 없음 / Order in Layer 미설정루트에 Sorting Group + Sorting Layer·Order in Layer
Scene엔 되는데 Game에선 다름Game View 렌더 순서 미확인실제 플레이 카메라로 Game View에서 검증
2D 옵션 자체가 안 보임URP Asset에 2D Renderer Data 없음프로젝트를 2D URP로 설정

Scene View에선 되는데 Game View에서 깨진다면

떼놓고 보면 멀쩡한 모델도 실제 카메라에선 갈립니다. 정렬·마스크·조명은 반드시 Game View에서, 플레이어가 실제로 보는 카메라 거리로 확인하세요.

Scene View에서 Game View까지 따라가며, 큰 전경 나무에 가려도 캐릭터가 또렷한지·먼 다리와 물 레이어와 깊이가 맞는지 확인합니다.

3D가 스프라이트보다 싼가요?

자동으로 싸지지 않습니다. draw call·머티리얼 수·셰이더 비용·스킨드 메시 부담을 타깃 기기에서 직접 재봐야 합니다. 값은 겉보기가 아니라 반복에서 나옵니다 — 각도가 늘고, 애니메이션을 재사용하고, 큰 오브젝트를 프레임마다 다시 그릴 필요가 없어질 때 회수됩니다. 그러니 판단은 "3D가 더 싸다"가 아니라 "이 프로젝트에서 반복 비용이 그만큼 나오는가"로 내리세요.

언제 3D, 언제 스프라이트

3D가 이득스프라이트가 나음
회전·다방향 캐릭터각도가 하나뿐이고 앞으로도 안 늚
애니메이션을 재사용하는 유닛픽셀아트 손맛이 곧 정체성
손 많이 가는 보스·자주 바뀌는 프롭작고 단순해 3D 오버헤드가 손해

초안은 PicoBerry로 빠르게

이 워크플로의 시작점은 쓸 만한 3D 초안입니다. PicoBerry로 텍스트나 이미지에서 실루엣이 또렷한 초안을 빠르게 뽑아, 위 설정으로 유니티 씬에 태우면 됩니다. AI가 아티스트를 대신하는 게 아니라, 첫 초안까지 걸리는 시간을 줄이는 겁니다.

Unity에서 3D 초안 만들기 → — 텍스트나 이미지에서 시작해 유니티 씬에서 바로 검증하세요. 무료로 시작, 카드 필요 없음.

AI 초안을 유니티 안에서 다듬기 — UModeler X

생성 결과는 완성 에셋이 아니라 초안입니다. 2D 씬에 딱 맞추려면 실루엣이나 피벗, 폴리곤을 손봐야 할 때가 있는데, 그때마다 다른 툴로 내보냈다 다시 임포트할 필요가 없습니다. UModeler X는 모델링·UV·페인팅·리깅을 유니티 에디터 안에서 이어가게 해줘서, AI로 만든 초안을 씬이 이미 살아 있는 자리에서 곧장 수정·개선할 수 있습니다.

유니티 에디터 안 UModeler X — Push/Pull·프리미티브·편집 툴로 AI로 만든 3D 메시를 그 자리에서 수정하는 모습

생성은 PicoBerry가, 수정·마무리는 UModeler X가 — 둘 다 유니티를 벗어나지 않습니다.

함께 보면 좋은 글

한 줄 요약

유니티 6.3 URP는 3D Mesh를 2D처럼 렌더링하는 걸 정식 지원합니다. Mesh2D-Lit-Default(또는 Sort 3D As 2D Compatible 셰이더) + 루트의 Sorting Group + Mesh Renderer의 2D › Mask Interaction, 이 셋이면 3D가 스프라이트처럼 정렬·조명·마스킹됩니다. 일반 URP Lit 머티리얼로는 동작하지 않고, 반드시 Game View에서 검증하세요. 그러면 각도를 다시 그릴 일이 없어집니다.

이어 읽기