Unity 6.3 Render 3D as 2D — 2D 게임 안의 AI 3D 에셋
PicoBerry로 3D 에셋 초안을 먼저 뽑아 Unity 6.3 2D 프로젝트에 올립니다. Mesh Renderer나 Skinned Mesh Renderer로 세워 두고, 씬의 다른 2D 요소들처럼 정렬·조명·마스크가 걸리고 순서에 맞게 그려지도록 하나씩 맞춰 갑니다.
Render 3D as 2D의 처음부터 끝까지입니다. 3D 초안을 뽑아 2D 스타일 Unity 씬에 놓고, 정렬과 마스크, 조명, 셰이더가 맞는지 Game View에서 잘 보이는지까지 짚어 봅니다.
2D 팀이 2D 게임에 3D를 들이는 이유
Render 3D as 2D라고 2D 게임을 통째로 3D 프로젝트로 갈아엎는 건 아닙니다. 필요한 데만 3D를 골라 씁니다. 만드는 품을 덜고, 한 번 만든 걸 두고두고 우려먹고, 스프라이트 시트만으로는 버거운 스타일을 낼 때 손이 갑니다.
2D로 잘 보이되 3D 깊이는 살리기
게임에 따라선 화면이 끝까지 2D로 보여야 하죠. 깊이와 회전, 카메라를 자유롭게 쓰는 이점만 3D에서 가져오고, 화면 톤은 하나로 맞춥니다. 3D 티를 내려는 건 아닙니다.
방향마다 스프라이트 덜 그리기
3D 캐릭터 하나면 돌려 세우고 포즈를 바꾸고 애니메이션도 재사용합니다. 장비를 바꿔 들거나 컷신에 세워도, 각도마다 스프라이트를 새로 그릴 일이 없습니다.
보스와 움직이는 프롭
큰 보스나 수집 오브젝트, 움직이는 프롭, 애니메이션 세트피스라면 고해상도 스프라이트를 프레임마다 찍어내기보다 3D 초안을 굴려 고치는 편이 더 수월할 수 있습니다.
게임 안에서 진짜로 돌아가야 하는 것
씬의 다른 2D 요소들과 똑같은 규칙을 따를 때라야 3D도 자연스럽게 섞입니다. Sorting Layer와 Order in Layer로 앞뒤를 잡고, 2D Light에 반응시키고, Sprite Mask와 맞물리고, Shader Graph 머티리얼을 물린 다음, 최종 카메라 화면에서 어긋나는 데가 없는지 봅니다.
Sort 3D as 2D
Unity 6.3에서라면 Sorting Group을 붙인 3D 오브젝트도 2D 방식 정렬에 끼워 넣을 수 있습니다. Z-depth 하나에만 기대지 말고, Sorting Layer와 Order in Layer로 앞뒤 관계를 직접 잡아 주세요.
URP 2D Renderer에 맞추기
Mesh Renderer나 Skinned Mesh Renderer로 올린 오브젝트를 URP 2D Renderer 흐름 안에서 하나씩 따져 봅니다. 2D Lit이나 Unlit 머티리얼을 물렸는지, Shader Graph 결과가 이 방식대로 나오는지 확인합니다.
Scene View에서 Game View까지 따라가기
떼놓고 보면 멀쩡해도 막상 2D 게임에 넣으면 겉돌 수 있습니다. 카메라 프레이밍과 스케일, 레이어 순서, 조명 반응, Game View에서 잘 보이는지까지 실제로 굴려 봐야 압니다.
전경과 조명에 녹아들기
손그림 느낌의 2D 마을에 3D 캐릭터를 세웠을 때 그림이 깨지지 않는지 봅니다. 나무 그늘이 드리우고 울타리와 집, 나무통이 놓이고 랜턴이 은은하게 비추는 배경에서, 3D 에셋이 씬의 레이어와 조명, 붓질 느낌에 튀지 않고 묻어드는지 살핍니다.
깊이, 플레이 중 잘 보이는지
더 넓은 플레이 공간에서도 한 번 더 맞춰봅니다. 큰 전경 나무에 가려도 캐릭터가 또렷이 보여야 하고, 멀리 놓인 다리와 물, 하늘, 지형 레이어와도 겉돌지 않아야 합니다. 플레이하는 동안 스케일과 실루엣, 카메라 프레이밍, 깊이 순서를 실제로 짚어 봅니다.
실제 제작 수준 2D 씬에서 눈으로 확인하기
아래 예시로 씬 구성과 정렬, 마스크 동작, 깊이가 제대로 드러나는지 손에 잡히는 기준을 잡아 봅니다.

3D 깊이가 2D 레이어 순서와 어긋나지 않게, 플레이어가 실제 보는 순서대로 정렬을 맞춥니다.
Sprite Mask와 씬 이펙트를 기준 삼아, 3D 초안이 2D 환경에 자연스럽게 섞이는지 살펴봅니다.

Z-depth와 2D Sorting Layer의 차이 — 앞뒤 순서가 어긋나는 문제를 진단할 때 씁니다.
렌더 순서 전략부터 정하기
Render 3D as 2D가 어그러지는 건 대개 두 정렬 방식을 아무 계획 없이 섞은 탓입니다. 3D 에셋을 넣기 전에, 이 씬을 깊이로 끌고 갈지 2D 레이어 순서로 끌고 갈지부터 정해 두세요. 그래야 나중에 앞뒤가 꼬이지 않습니다.
Z-depth로 구성하기
패럴랙스나 원근 카메라의 깊이감이 살아야 하거나 Depth of Field, Fog, Scene Depth 효과를 쓸 거라면 실제 Z 위치를 그대로 씁니다. 2.5D 플랫포머나 사이드뷰 어드벤처, 디오라마처럼 겹겹이 세우는 화면에서 깊이 자체가 아트 디렉션의 한 축일 때 잘 맞습니다.
3D는 2D 월드에 잠깐 온 손님
프로젝트가 이미 Sorting Layer와 Tilemap, Sprite Renderer, Order in Layer를 축으로 돌아간다면 Sort 3D as 2D를 씁니다. 3D 오브젝트도 또 하나의 2D 씬 요소처럼 굴게 두고, 프로젝트 전체를 3D 구조로 끌고 가지는 않습니다.
섞인 화면을 그럴듯하게 만드는 Unity 시스템들
만들어낸 3D 초안은 기존 2D 씬을 짜온 그 시스템들과 손발을 맞춰야 쓸모가 생깁니다.
Sorting Group
3D 오브젝트를 Sorting Layer와 Order in Layer 기준으로 하나처럼 묶어 정렬합니다. 그러면 Tilemap과 Sprite, 전경과 배경 사이에서 순서에 맞게 자리 잡습니다.
Mesh 2D Lit / Unlit
Mesh Renderer와 Skinned Mesh Renderer가 URP 2D Renderer 흐름에 맞는 머티리얼을 쓰게 합니다. 2D Light에 반응시키고 싶으면 Lit, 아니면 Unlit으로 고릅니다.
Shader Graph compatibility
Sprite Lit, Sprite Unlit, Sprite Custom Lit 같은 셰이더를 다룹니다. 렌더 순서에 기대기 전에 Sort 3D as 2D와 잘 맞는지부터 확인합니다.
Sprite Mask interaction
메시나 스킨드 메시 오브젝트를 Sprite Mask로 가렸다 드러냈다 합니다. 동굴과 포탈, 창문, 은신 구역을 처리하고, 캐릭터 일부만 보이게 하거나 특정 영역만 드러낼 때 씁니다.
Camera Sorting Layer Texture
특정 Sorting Layer의 결과를 텍스처처럼 뽑아 씁니다. 2D와 3D가 섞인 씬에서 물 반사나 화면 합성 효과를 낼 수 있습니다.
VFX Graph와 깊이 효과 얹기
Z-writing과 Scene Depth, Depth of Field, Fog, GPU 이펙트를 다룹니다. 2D로 보이는 화면에도 깊이감을 묵직하게 더할 수 있습니다.
실무 워크플로우
PicoBerry에서 러프한 초안을 빠르게 뽑고, Unity 6.3에서 그 초안이 2D 프로젝트에 얹혀만 있는지 아니면 진짜 한 몸처럼 도는지 확인합니다.
초안 뽑기
PicoBerry로 캐릭터와 보스, 수집 아이템, 프롭을 뽑습니다. 실루엣이 뚜렷하고 2D에 쓸 목적이 분명한 것만 남깁니다.
렌더 전략 고르기
패럴랙스나 Depth of Field, Fog, 원근 깊이가 중요하면 Z-depth로 갑니다. 월드가 이미 Sorting Layer를 중심으로 짜여 있으면 Sort 3D as 2D를 고르고요.
2D 시스템에 붙이기
Sorting Group을 붙였는지, 2D Light의 대상 레이어가 맞는지, Sprite Mask와 어떻게 맞물리는지, Mesh에 2D Lit이나 Unlit 머티리얼을 물렸는지, Shader Graph와 잘 맞는지 하나씩 확인합니다.
성능 검토
초안을 실제 빌드에 넣기 전에 성능을 봅니다. draw call과 머티리얼, 셰이더 비용, Skinned Mesh 비용, 마스크·깊이 효과, 타깃 기기에서 실제로 어떤지까지 재봅니다.
Unity 6.3 구현 체크리스트
3D 오브젝트를 2D 프로젝트에 넣기 전에, 어떤 Unity 시스템이 그 오브젝트를 2D 월드의 한 조각처럼 다뤄야 할지 먼저 정합니다.
Renderer and material
Mesh Renderer나 Skinned Mesh Renderer로 오브젝트를 올립니다. 머티리얼은 Mesh 2D Lit Default나 Mesh 2D Unlit Default를 쓰거나, Shader Graph로 뽑은 Sprite Lit, Sprite Unlit, Sprite Custom Lit 같은 결과를 물립니다.
Sorting and clipping
3D 오브젝트가 2D 정렬을 따라야 한다면 Sorting Group을 붙입니다. 그다음 실제 카메라 화면에서 Sorting Layer와 Order in Layer, Tilemap과 어떻게 겹치는지, 전경과 배경에서 잘리는 데는 없는지 확인합니다.
Light, mask, and depth
2D Light에 잘 반응하는지, Sprite Mask와 맞물리는지, Runtime Mask Interaction이 제대로 도는지, 깊이 효과용 Z-writing이 되는지 봅니다. 씬에 반사나 물 효과가 있으면 Camera Sorting Layer Texture도 챙깁니다.
성능·제작 가드레일
3D를 쓰면 스프라이트 그리는 품을 줄일 수 있습니다. 그렇다고 런타임에서 저절로 가벼워지는 건 아니니, 초안은 하나하나 재봐야 합니다.
렌더 비용 재기
draw call과 머티리얼 수, 텍스처 크기, 셰이더 복잡도, Skinned Mesh 비용, batching이 어떻게 도는지 따라갑니다. 덩치 큰 보스가 거대한 스프라이트 연속컷보다 오히려 쌀 수도 있는데, 그건 씬에서 재봐야 압니다.
정렬 규칙 한 줄로 맞추기
Z-depth와 Sorting Layer, 2D Light 규칙을 아무렇게나 섞지 마세요. 어떤 오브젝트가 깊이를 쓰고, 어떤 게 2D 레이어 순서를 따르며, 무엇을 Depth Buffer에 기록할지 미리 갈라 두세요.
타깃 기기에서 테스트
마스크 물림과 깊이 효과, 물 반사, VFX Graph 효과, 스킨드 애니메이션은 데스크톱과 모바일에서 다르게 돌 수 있습니다. 빠르게 가늠하는 데 쓰되, 검증까지 건너뛰지는 않습니다.
FAQ
이건 PicoBerry 페이지인가요, Unity 페이지인가요?
둘 다입니다. PicoBerry로 시작해서 Unity로 이어지는 흐름을 보여주는 페이지거든요. 초안은 PicoBerry로 만들고, 그게 2D 게임에 맞는지는 Unity 6.3에서 가려냅니다. URP 2D Renderer와 Sort 3D as 2D, 2D Light, Sprite Mask, Shader Graph로 정렬과 조명, 마스킹까지 하나씩 확인하는 거죠.
Sort 3D as 2D는 무슨 일을 하나요?
3D 오브젝트를 2D 방식 렌더 순서에 끼워 줍니다. Sorting Group을 달고 Sorting Layer와 Order in Layer만 제대로 잡아 주면, Mesh Renderer나 Skinned Mesh Renderer도 씬 순서에서 2D 오브젝트처럼 정렬됩니다.
2D 게임에서 3D 에셋은 언제 쓰는 게 좋나요?
회전이나 애니메이션 재활용, 대형 보스, 동적 프롭, 컷신 재사용, 깊이 효과처럼 추가 셋업에 손대는 품이 아깝지 않을 때 씁니다. 2D 게임의 모든 에셋을 3D로 갈 필요는 없습니다.
Unity 6.3에서 머티리얼 설정은 뭘 챙겨야 하나요?
2D Renderer 흐름에서는 Mesh 2D Lit Default나 Mesh 2D Unlit Default부터 잡으세요. Shader Graph로 직접 뽑아 쓴다면, 그렇게 뽑은 결과가 원하는 정렬·조명대로 나오는지, 호환 설정은 맞는지 확인하고요.
3D 오브젝트도 Sprite Mask나 2D Light와 같이 굴러갈 수 있나요?
렌더러와 프로젝트 설정만 맞으면 됩니다. Mesh Renderer와 Skinned Mesh Renderer를 2D Light, Sprite Mask 물림과 함께 살펴볼 수 있습니다. 다만 정확히 어떻게 반응하는지는 실제 쓰려는 씬과 렌더 파이프라인에서 직접 테스트해 봐야 압니다.
어떤 2D 게임에나 다 통하나요?
어디서나 통한다고 장담할 순 없습니다. 아트 디렉션과 카메라, 정렬 전략에 따라 다르고, 렌더 파이프라인이나 머티리얼 복잡도, 성능 목표도 영향을 줍니다. 그냥 얹지 말고 하나씩 검증하면서 붙이세요.
PicoBerry에서 시작해 게임 안에서 확인하세요
먼저 3D 에셋 초안을 뽑고, 제대로 프로덕션에 올리기 전에 Unity 6.3에서 정렬과 2D 조명, 마스크, 셰이더 호환성, Game View에서 한눈에 들어오는지 점검하세요.