TECHARTNOMAD | TECHARTFLOWIO.COM

unity 42

URP Deferred Rendering과 UI Canvas의 충돌, 그리고 해결

메이즈라인 공식 테크 블로그 글입니다.최근 고객사에서 당면한 이슈가 있었는데요. 그 덕에 오랫만에 4년 전에 개발했던 사례가 생각이 났습니다.Unity URP(Universal Render Pipeline)에서 Deferred Rendering을 사용하는 프로젝트에서 흔히 마주치는 문제입니다. Dragon Heir: Silent Gods는 D&D(Dungeons & Dragons) 정식 라이센스를 받은 멀티플랫폼 게임으로, 고품질 그래픽을 위해 Deferred Rendering을 선택했습니다. 하지만 이 선택은 UI 렌더링에서 예상치 못한 도전을 가져왔습니다. Mazeline - 게임제작 및 게임 테크니컬 아트 전문 컨설팅게임 개발과 테크니컬 아트 전문 컨설팅 회사 Mazeline입니다. Unity, ..

MAZELINE TOPIC 2025.12.13

알쓸신잡 - SurfaceData - ambiguous symbol

커스텀 셰이더 라이브러리를 개발하던 중 이 에러 메시지를 마주했습니다. 분명히 제대로 정의한 구조체인데 왜 모호하다는 걸까요? 원인을 추적해보니 URP 내부에도 동일한 이름의 구조체가 존재했습니다. 이 글에서는 Include Guard 활용법을 공유합니다.배경: 커스텀 셰이더 라이브러리 개발고객사 프로젝트에서 URP 기반의 커스텀 셰이더 라이브러리를 개발하고 있었습니다. 표준 URP의 SurfaceData 구조체에는 없는 추가 필드들이 필요했기 때문에, 자체적인 SurfaceData 구조체를 정의하여 사용하기로 했습니다. 처음에는 문제없이 잘 동작했지만, 라이브러리 구조를 리팩토링하면서 Include 순서가 바뀌자 갑자기 컴파일 에러가 발생했습니다.문제 상황: 모호한 심볼 에러저희 라이브러리에서는 다음과..

UNITY3D 2025.12.12

[번역] UnityShader 간단한 털 렌더링: 짧은 털 편

역자의 말Unity Shader로 구현하는 간단 털 렌더링 – 짧은 털 편이 글은 Unity URP에서 Shell 기법을 이용해 짧은 털(동물의 잔털, 천의 보풀 등)을 구현하는 과정을 정리한 한국어 번역본입니다. 원문의 구현은 “완성형 퀄리티”라기보다, 아이디어와 파이프라인을 공유하는 데 초점이 맞춰져 있습니다.저자 : 红烧五花蛆Unity Shader로 구현하는 간단 털 렌더링 – 짧은 털 편이 글은 Unity URP에서 Shell 기법을 이용해 짧은 털(동물의 잔털, 천의 보풀 등)을 구현하는 과정을 정리한 한국어 번역·요약본입니다. 원문의 구현은 “완성형 퀄리티”라기보다, 아이디어와 파이프라인을 공유하는 데 초점이 맞춰져 있습니다.개요짧은 털은 대개 표면 색과 비슷하고 길이가 매우 짧은 털을 의미합..

TECH.ART.FLOW.IO 2025.12.05

[번역] 클립맵 기반 정적 섀도우맵

역자의 말이 글은 오픈 월드 규모의 씬에서 나무와 지형 같은 정적 오브젝트의 그림자를 어떻게 처리할 것인가에 대한, 매우 실무적인 연구 기록입니다. 단순히 “클립맵이 좋다”는 아이디어 수준이 아니라, 정적 섀도우맵을 전제로 했을 때 어떤 문제를 해결해야 하고, 그 과정에서 어떤 데이터 구조와 알고리즘이 필요한지를 끝까지 밀어붙인 사례라고 볼 수 있습니다.저자가 집중하는 지점은 크게 세 가지입니다.첫째, 멀리 있는 그림자의 품질을 어떻게 안정적으로 유지할 것인가.둘째, 라이트맵·섀도우마스크·라이트프로브가 섞여 있는 베이킹 워크플로우의 피로도를 어떻게 줄일 것인가.셋째, 숲처럼 폴리곤 수가 많은 환경에서 실시간 섀도우 캐스팅이 만들어내는 드로우콜·폴리곤 비용을 어떻게 구조적으로 줄일 것인가입니다.이를 위해 ..

TECH.ART.FLOW.IO 2025.11.26

[번역] MatCap 박막 간섭 비눗방울 렌더링

역자의 말: 오랫만에 가벼운 거 하나 번역해서 올립니다. 맷켑은 정말 오래 된 기술이지만 여전히 실무 필드에서는 활용되어지고 있는 것이죠. 쉽다면 쉽지만 또 어렵다면 어려운 거죠. 툰 스타일 렌더링에서는 여전히 혼용 되어지는 방법 중의 하나입니다. 菠萝很甜 님이 작성해 준 글 가볍게 읽어보고 넘어가도 좋겠습니다. 저자: 菠萝很甜최근 MatCap의 원리를 학습하면서, MatCap과 NoiseMap을 활용하여 간단한 비눗방울 렌더링을 구현해보았습니다.MatCap 샘플링MatCap 샘플링은 매우 간단합니다. 카메라 공간에서의 법선 벡터 xy를 0-1 범위로 매핑한 후, 해당 값으로 미리 제작된 MatCap 텍스처를 샘플링하면 됩니다. 이 방법은 계산 비용이 낮으면서도 우수한 결과를 얻을 수 있습니다.URP에서..

TECH.ART.FLOW.IO 2025.11.11

Unity URP Edge Fusion 간단 소개 및 분석

들어가며최근 고객사의 요청이 있던 부분과 관련 된 Edge Fusion은 Unity URP에서 오브젝트 간 경계를 자연스럽게 블렌딩하는 포스트 프로세싱 효과입니다. 블렌더에서 구현 된 것을 이 전에 본적이 있어서 구현 준비를 했습니다만 Kronnect 에서 어제 릴리스를 했습니다. 본 글에서는 이를 구성하는 3가지 핵심 알고리즘에 대해 살펴보겠습니다.1. ObjectID 패스를 통한 오브젝트 식별문제 정의일반적인 렌더링 과정에서는 최종 화면에 색상 정보만 남게 되며 오브젝트 정보는 소실됩니다. Edge Fusion이 엣지를 정확하게 찾기 위해서는 각 픽셀이 어떤 오브젝트에 속하는지 식별할 수 있어야 합니다.해결책: ObjectID Texture 생성EdgeFusionRenderPass는 별도의 렌더 패스..

UNITY3D 2025.11.01

[번역] Unity - PBR과 PBR+NPR 캐릭터 렌더링 연구

저자: shader仔1. NPR 렌더링NPR은 실제로 PBR의 변형이며, NPR의 조명 모델은 여전히 최종 색상 = 직접광 난반사 + 직접광 정반사 + 환경광 난반사 + 환경광 정반사 공식을 따릅니다. 이 중 환경광 난반사와 환경광 정반사는 약화되어 있으며, 붕괴: 스타레일은 URP의 기본 구면 조화 함수와 반사 프로브만 사용합니다. 이들의 역할은 어두운 곳에서 약간의 밝기를 제공하여 어두운 영역이 완전히 검게 되는 것을 방지하는 것뿐입니다. 따라서 렌더링의 전체 효과는 직접광에 의해 형성됩니다.원신과 붕괴 시리즈에서 난반사 부분은 NdotL을 기반으로 LightMap의 스타일라이즈된 그림자를 사용하여 NdotL을 리맵핑한 후, 이 NdotL로 Ramp 텍스처를 샘플링합니다. 이 작업은 실제로 사전 통합..

TECH.ART.FLOW.IO 2025.10.25

GPU-Driven Renderer에서의 Heterogeneous AoS Instance Encoding

메이즈라인 velog 미러.오늘도 지하철을 저 처럼 한 시간씩 타는 직장동료분들을 위한 읽을 거리를 추가 했습니다.엔지니어 Zino의 글을 읽고 추가로 정리한 내용입니다.Heterogenous AoS instance encoding for a GPU-driven renderer대규모 오픈 월드 게임을 만들다 보면 한 가지 딜레마에 부딪힙니다. 수만 개의 나무, 건물, 캐릭터를 화면에 렌더링해야 하는데, 각 오브젝트마다 필요한 데이터가 전부 다릅니다. 어떤 오브젝트는 단순한 정적 메시만 있으면 되지만, 어떤 것은 스키닝 데이터, 복잡한 머티리얼, LOD 정보 등 방대한 데이터를 요구합니다.이런 상황에서 Heterogeneous AoS(Array of Structures) instance encoding이 ..

MAZELINE TOPIC 2025.10.23

Unity URP Decal과 After Transparent Depth 충돌 해결 가이드

메이즈라인 velog 미러 입니다. Unity URP Decal과 After Transparent Depth 충돌 해결 가이드본 문서는 실무에서 Unity URP 기반 프로젝트를 진행하던 중 Decal Render Feature와 Depth Texture Mode 간의 충돌 문제를 경험하고, 이를 해결하기 위해 여러 방법을 연구한 결과를 정리한 내용입니다. ( feat.velog.io본 문서는 실무에서 Unity URP 기반 프로젝트를 진행하던 중 Decal Render Feature와 Depth Texture Mode 간의 충돌 문제를 경험하고, 이를 해결하기 위해 여러 방법을 연구한 결과를 정리한 내용입니다. ( feat. 김강언 시니어 TA )핵심 문제 정의URP의 Decal Render Featu..

MAZELINE TOPIC 2025.10.22