TECHARTNOMAD | TECHARTFLOWIO.COM

unity 38

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

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

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

Unity HDRP 커스텀 Depth 셰이더 가이드

메이즈라인 velog 미러 입니다. Unity HDRP 커스텀 Depth 셰이더 가이드고객사에서 새로운 일감을 받았습니다. Uber Particle 이라는 URP 전용 이펙트 개발 라이브러리를 HDRP 에서도 동작하도록 포팅 해 달라는 것이었습니다. 그 과정에서 뎁스 텍스처 관련 된 내용에서velog.io 고객사에서 새로운 일감을 받았습니다. Uber Particle 이라는 URP 전용 이펙트 개발 라이브러리를 HDRP 에서도 동작하도록 포팅 해 달라는 것이었습니다. 그 과정에서 뎁스 텍스처 관련 된 내용에서 많은 차이가 있었기 때문에 기록용으로 velog 에 정리해서 남겨놔야겠다는 생각이 들어 정리해 봤습니다.Unity HDRP에서 커스텀 Depth 셰이더 다루기HDRP는 깊이 텍스처에 접근하는 방식이..

MAZELINE TOPIC 2025.10.21

GPU 병렬 연산: Warp Divergence 이해하고 해결하기

메이즈라인 velog 미러 입니다. GPU 병렬 연산: Warp Divergence 이해하고 해결하기GPU 병렬 연산: Warp Divergence 이해하고 해결하기 GPU 프로그래밍을 하다 보면 성능 최적화에서 자주 마주치는 개념이 바로 Warp Divergence입니다. 특히 셰이더 프로그래밍에서 이를 이해하고 적절히 대velog.ioGPU 병렬 연산: Warp Divergence 이해하고 해결하기GPU 프로그래밍을 하다 보면 성능 최적화에서 자주 마주치는 개념이 바로 Warp Divergence입니다. 특히 셰이더 프로그래밍에서 이를 이해하고 적절히 대응하는 것은 성능에 큰 영향을 미칩니다. 이번 글에서는 Warp의 개념부터 Divergence가 발생하는 상황, 그리고 이를 해결하는 베스트 프랙티스..

MAZELINE TOPIC 2025.10.20

브랜치 프리 셰이더: 원-핫 마스크로 버텍스 컬러 채널 추출하기. Update

메이즈라인 velog 미러 글입니다.셰이더 최적화: 분기문 없이 버텍스 컬러 채널 선택하기GPU에서 분기문은 비용이 비쌉니다. 특히 모바일이나 타일 기반 렌더러에서는 더욱 그렇습니다. 이번 글에서는 if/else 분기문을 원-핫 마스크와 dot product를 활용해 완전히 제거하는 최적화 기법을 소개합니다.문제 상황아웃라인 셰이더를 작성할 때 버텍스 컬러의 특정 채널(R, G, B, A)을 선택해야 하는 경우가 있습니다. 예를 들어, 아티스트가 버텍스 컬러의 R 채널에는 아웃라인 두께를, G, B, A 채널에는 다른 속성을 저장했다면, 머티리얼 프로퍼티로 어떤 채널을 사용할지 선택할 수 있어야 합니다.기존 방식: 분기문 사용가장 직관적인 방법은 if/else 분기문을 사용하는 것입니다.프로퍼티 선언[E..

MAZELINE TOPIC 2025.10.20

Mazeline Matcap Browser Unity 공개.

메이즈라인 라이브러리 두 번째 공개.맷켑 깃허브 라이브러리와 유니티 에디터를 직접 연결하여 브라우징 하고 다운로드 받을 수 있는 에디터 클래스 입니다. GitHub - Techartflowio/Mazeline-matcap-browser-unityContribute to Techartflowio/Mazeline-matcap-browser-unity development by creating an account on GitHub.github.com자세한 내용은 깃허브 Readme 참조 하시면 도움이 되실 겁니다.

MAZELINE TOPIC 2025.10.01