TECHARTNOMAD | MAZELINE.TECH

URP 28

유니티 6의 Live GI에 대한 기대: Surface Cache 기반 실시간 글로벌 일루미네이션 기술 분석

메이즈라인 테크 블로그 글을 소개하고 있습니다.Unity 6.3 코드베이스 분석을 통해 드러난 Surface Cache 기반 실시간 글로벌 일루미네이션(GI) 기술은 씬의 조명 정보를 패치 단위로 저장하고 업데이트하는 혁신적인 기법을 핵심으로 합니다. 이 시스템은 Spherical Harmonics 압축과 계층적 그리드 시스템을 활용하여 동적 환경에서도 메모리 효율성을 유지하며 정교한 빛의 반사를 구현합니다. 특히 최신 연구 성과인 ReSTIR와 RIS 같은 샘플링 기술을 도입하여 적은 계산량으로도 오프라인 렌더링에 가까운 고품질 시각 효과를 실시간으로 제공합니다. 현재는 비활성화된 상태이지만, 이 기술이 정식 도입되면 게임 내 라이트와 오브젝트의 변화에 즉각 반응하는 라이브 GI 환경이 구축될 것으로 ..

MAZELINE TOPIC 2026.01.08

Unity URP PBR 고도화 개발 사례: AAA급 렌더링 품질을 향한 여정

이 글은 메이즈라인 테크 블로그 글을 소개하고 있습니다.Unity URP(Universal Render Pipeline) 환경에서 HDRP 수준의 그래픽 품질을 구현하기 위한 물리 기반 렌더링(PBR) 시스템의 고도화 사례를 다룹니다. 기존 유니티 Lit 셰이더의 한계를 극복하기 위해 Chan Diffuse 모델과 Kulla-Conty 에너지 보존 법칙을 도입하여 거친 표면의 어두움과 금속 광택의 부자연스러움을 해결했습니다. 특히 언리얼 엔진 스타일의 스펙큘러 파라미터와 Pre-Integrated FGD 시스템을 구축하여 아티스트의 작업 편의성과 물리적 정확도를 동시에 확보했습니다. 또한 NOS 맵 텍스처 최적화 전략을 병행하여 성능 효율성을 유지하면서도 하이엔드 프로젝트에 적합한 렌더링 아키텍처를 재설..

MAZELINE TOPIC 2025.12.29

오픈월드 모바일 게임을 위한 Unity Runtime Virtual Texture 시스템 개발기

메이즈라인 공식블로그 글을 소개 합니다.이 글은 유니티 환경에서 모바일 오픈월드 게임의 지형 렌더링 성능을 극대화하기 위한 런타임 가상 텍스처(RVT) 시스템의 자체 개발 과정을 상세히 다룹니다. 핵심은 방대한 지형 데이터를 한꺼번에 로드하는 대신, 화면에 보이는 부분만 실시간으로 합성하고 LRU 캐시 기반의 물리 페이지에 저장하여 GPU 메모리 점유율을 획기적으로 낮춘 것입니다. 특히 모바일 기기의 부하를 줄이기 위해 피드백 버퍼 리드백을 생략하고 CPU 쿼드트리 기반의 가시성 판정과 멀티스레딩 기술을 적용했습니다. 또한, ETC2/BC3 포맷의 실시간 압축과 데칼 및 높이맵 지원을 통해 시각적 품질과 효율성을 동시에 확보한 아키텍처를 설계했습니다. 결과적으로 이 시스템은 대규모 환경에서도 100MB ..

MAZELINE TOPIC 2025.12.24

Unity URP에서 Pre-Integrated FGD 구현하기: IBL의 숨겨진 핵심

메이즈라인 공식 블로그 글을 소개 합니다.이 글은 유니티 URP 환경에서 물리 기반 렌더링(PBR)의 시각적 완성도를 높이기 위한 Pre-Integrated FGD 구현 방법을 상세히 설명합니다. 실시간 계산이 어려운 렌더링 방정식을 해결하기 위해 Split-Sum Approximation 기술을 활용하여 반사 데이터를 효율적으로 처리하는 원리를 다룹니다. 특히 FGD LUT를 활용해 프레넬 효과와 기하학적 감쇠를 미리 계산함으로써 연산 효율과 물리적 정확성을 동시에 확보하는 과정을 보여줍니다. 또한 거친 표면에서의 에너지 손실을 보완하는 Chan Diffuse 확장 모델을 소개하며 더욱 사실적인 재질 표현법을 제시합니다. 결과적으로 이 자료는 고품질 그래픽 구현을 위한 이미지 기반 라이팅(IBL)의 핵..

MAZELINE TOPIC 2025.12.23

Unity URP 포스트 프로세스 마스킹 시스템 개발기: GTAO에서 특정 영역 제외하기

메이즈라인 공식 블로그에 소개 된 글입니다.이 블로그 글은 Unity URP 환경에서 특정 영역에 포스트 프로세스 효과가 적용되지 않도록 하는 텍스처 기반 마스킹 시스템의 개발 과정을 다루고 있습니다. 기존 스텐실 버퍼 방식의 한계를 극복하기 위해 RenderGraph를 활용한 고성능 R8 포맷의 마스크 생성 방식을 제안합니다. 특히 캐릭터의 얼굴처럼 GTAO(Ambient Occlusion)가 적용되었을 때 외관이 저해되는 문제를 해결하기 위한 구체적인 렌더러 피처 구현법을 설명합니다. 또한, 개발 중 발생한 깊이 버퍼 참조 오류 해결 방안과 아티스트가 제어 가능한 채널 설계 방식을 포함하고 있습니다. 최종적으로 이 시스템은 공통 셰이더 라이브러리를 통해 블룸이나 색보정 등 다양한 후처리 효과로 확장될..

MAZELINE TOPIC 2025.12.23

알쓸신잡 - SurfaceData - ambiguous symbol

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

UNITY3D 2025.12.12

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

URP에서 HDRP로 셰이더 포팅 가이드

메이즈라인 velog 미러 입니다.URP에서 HDRP로 셰이더 포팅 가이드 URP에서 HDRP로 셰이더 포팅 가이드URP 에서만 동작하는 셰이더를 HDRP 로 전환 해야할 일이 생겼습니다. 몇 가지 부분을 기록하고자 합니다. 50살을 넘어간 후부터는 기억력이 정말 하루 하루 …URP에서 HDRP로 셰이더를 포팅하는 작velog.io URP 에서만 동작하는 셰이더를 HDRP 로 전환 해야할 일이 생겼습니다. 몇 가지 부분을 기록하고자 합니다. 50살을 넘어간 후부터는 기억력이 정말 하루 하루 …요약URP에서 HDRP로 셰이더를 포팅하는 작업은 단순한 문법 수정이 아닌 근본적인 아키텍처 변경을 필요로 합니다. 가장 중요한 차이점은 깊이 텍스처 접근 방식(LoadCameraDepth vs SAMPLE_DEPT..

MAZELINE TOPIC 2025.10.21

Unity 6.2.1 HDRP vs URP 셰이더 코드 비교 연구

연구 목적: Unity 6.2.1 이상 버전에서 HDRP(High Definition Render Pipeline)와 URP(Universal Render Pipeline)의 셰이더 코드 작성 시 API 차이점, 문법 차이점, Include 구조 차이점을 체계적으로 분석하고 정리연구 범위: Unity 6.2.1+ 버전 기준 셰이더 코드 작성 가이드라인1. 개요 및 파이프라인 호환성1.1 기본 호환성 정보HDRP와 URP로 작성된 프로젝트는 상호 호환되지 않으며, Built-in Render Pipeline과도 호환되지 않습니다.개발 시작 전 렌더 파이프라인을 결정해야 하며, 파이프라인 간 전환은 매우 큰 비용이 발생합니다.1.2 셰이더 코드 호환성Surface Shader 지원 없음: 두 파이프라인 모두..

UNITY3D 2025.09.07