TECHARTNOMAD | MAZELINE.TECH

unity 64

[번역] 싱글 Pass 체적 수체 Shader(계속 업데이트 중)

저자: YuWong고품질 수체 렌더링 — 표면 렌더링에서 체적 렌더링로의 진화전통적인 표면 렌더링에서 빛은 매질의 경계면을 들어가고 나오는 그 순간에만 변화한다. 이런 모델은 기껏해야 디퓨즈, 반사, 굴절 같은 단순한 효과를 지탱할 뿐, 현실의 물이 가진 그런 "안쪽에서부터 배어 나오는" 투명한 느낌을 시뮬레이션하기는 어렵다.고품질의 수체 렌더링을 구현하려면, 빛이 체적 매질 내부를 전파하는 과정에서 발생하는 에너지 손실과 이득을 반드시 고려해야 한다. 미시적인 물리 관점에서 보면, 체적 매질 속의 빛은 사실 딱 두 가지 일만 겪는다:흡수 — 빛 에너지가 물 분자와 용해 물질에 삼켜져 열에너지로 전환된다. 파장마다 흡수되는 정도가 다르며, 붉은빛이 가장 먼저 사라지고 청록빛이 가장 멀리까지 관통한다. 이..

TECH.ART.FLOW.IO 2026.06.16

[번역] Unity로 Nanite 구현하기

저자: 傻头傻脑亚古兽서문소개Nanite는 UE5의 가상화 지오메트리 시스템(Virtualized Geometry System)으로, 주요 용도는 고폴리곤 모델의 고효율 렌더링입니다. Nanite는 모델에 대해 LOD 구조를 자동으로 생성하는데, 전통적인 LOD와 달리 Nanite의 LOD는 더 이상 모델 단위가 아니라 모델 내부의 국소 영역 단위까지 세분화되어 있어, 아티스트가 더 이상 LOD 제작이나 처리 때문에 고민할 필요가 없습니다. 게다가 GPU Driven의 고효율 컬링과 단일 드로우 콜(Draw Call)이라는 이점도 함께 누릴 수 있습니다.기술 요점Nanite 기술은 여러 기술을 결합하여 고효율 렌더링을 실현했습니다:Cluster Rendering: Cluster 단위로 삼각형을 조직하여 더..

TECH.ART.FLOW.IO 2026.06.11

[번역] Unity에서 가상 텍스처 구현

저자: 멍청한 아구몬(傻头傻脑亚古兽)기술 배경Virtual Texture(가상 텍스처)는 실시간 렌더링에서 다양한 제약으로 인해 초고해상도 텍스처를 직접 표시할 수 없는 문제를 해결하기 위해 주로 사용됩니다. 메모리 부족일 수도 있고, 플랫폼이나 그래픽 API 등의 제한일 수도 있습니다. 일반적으로 초대형 텍스처는 화면에 한 번에 모두 렌더링되지 않으며, 원경은 대부분 저해상도 Mipmap으로 렌더링됩니다.VT의 핵심 아이디어는 이 초대형 텍스처를 여러 블록(Page)으로 분할하는 것입니다. 렌더링 시 화면에 필요한 Page만 물리 캐시에 로드하거나 렌더링합니다. 실제 사용할 때는 간접 리스트(PageTable)를 통해 해당 Page를 찾아옵니다.VT에는 다음과 같은 여러 확장 기술이 있습니다.Strea..

TECH.ART.FLOW.IO 2026.06.10

MARTINI/RTIN 알고리즘 이해

역자의 말: 이 문서는 지형 렌더링 최적화를 위해 널리 사용되는 MARTINI 및 RTIN(Right-Triangulated Irregular Networks) 알고리즘의 핵심 원리를 다루고 있습니다. 이 알고리즘은 고해상도 하이트맵(Heightmap) 데이터를 기반으로 지형의 굴곡이 심한 곳은 작은 직각 삼각형으로 재귀적으로 분할하여 디테일을 살리고, 평탄한 곳은 큰 삼각형으로 유지하여 전체적인 폴리곤 수를 획기적으로 줄이는 동적 레벨 오브 디테일(LOD) 기법입니다. 실시간 그래픽스 및 모바일 환경에서 지형 렌더링 성능을 극대화하는 데 매우 유용한 방식이므로, 게임 엔진이나 렌더링 파이프라인에 적용하기 전 해당 알고리즘의 계층적 분할 구조를 직관적으로 이해하는 데 도움이 되길 바랍니다.1. 시작하며:..

이 블로그를 유익하게 읽는 방법

이 블로그를 유익하게 읽는 방법안녕하세요. techartnomad입니다.이 블로그는 2023년 4월에 시작해서 현재 599편의 글이 올라와 있습니다. 주로 중국어·영어 기술 자료를 한국어로 번역·요약하면서, 제가 컨설팅과 개발 과정에서 직접 겪은 경험과 인사이트를 덧붙이는 방식으로 운영하고 있습니다.글이 많다 보니 처음 오시면 "뭐부터 읽지?" 하고 막막할 수 있습니다. 그래서 주제별·수준별로 길잡이를 만들어 봤습니다. 본인의 관심사와 수준에 맞춰 골라 읽으시면 됩니다.🎨 카툰 렌더링 (NPR)기초부터 실전 엔진 구현까지, 게임에서 가장 많이 찾는 주제 중 하나입니다.입문자 — 개념 잡기[원고 일부] 셀 스타일 얼굴 그림자 — 셀 셰이딩의 기본 원리를 유니티6 원고 일부로 설명[번역] Cartoon R..

TECH.ART.FLOW.IO 2026.05.24

[WIP] 유니티 월드 파티션 인터페이스 개발.

최근 몇 년간 언리얼 엔진 5 기반 MMORPG 프로젝트에 참여해 개발부터 런칭까지 전 과정을 경험했습니다. 상업적인 성과는 기대에 미치지 못했지만, UE 5.0 아키텍처를 깊이 있게 다룰 수 있었던 점은 개인적으로 큰 수확이었습니다. 현재는 유니티 기반 MMORPG 프로젝트를 진행 중인 고객사를 지원하고 있습니다. 유니티는 엔진 차원에서 청크나 지형 섹션 관리 기능을 기본 제공하지 않기 때문에, 이전 프로젝트에서 검증된 SECTR 에셋을 베이스로 삼아 프로젝트 요구에 맞게 커스터마이징해서 활용하고 있습니다.2022년 바이트덴스 항저우 스튜디오에서도 마찬가지로 비슷하게 작업 된 적이 있는데 그땐 아마 다중편집까지 지원을 했고 버전관리쪽도 청크 별로 체크인아웃을 할 수 있도록 수정 된 적이 있는걸루 기억이..

UNITY3D 2026.05.21

[번역] Arknights: Endfield 캐릭터 카툰 렌더링을 0부터 모방·복각하기

저자: 秋大叔​잡담지난 글 발행 시점을 슬쩍 봤더니 어느새 반년 넘게 새 글을 못 올렸네요졸업 압박 때문에 다른 분야 연구에 많은 시간과 에너지를 쏟아야 했고, 그래서 TA 렌더링 학습을 한동안 미뤄둘 수밖에 없었습니다다행히 최근에야 일이 어느 정도 일단락되어서, 앞서 약속드렸던 기술들을 튜토리얼로 정리해 다시 여러분께 풀어보려 합니다이번 글은 앞서 다뤘던 미호요 붕괴: 스타레일 카툰 렌더링의 후속 심화 편입니다. 원래 계획은 극도로 일본풍 셀룩 스타일인 미호요식 카툰 렌더링을 마무리한 뒤, 소녀전선 2: 망명(소전2)의 PBR 스타일 카툰 렌더링으로 자연스럽게 이어가는 것이었습니다. 그런데 저는 명일방주 팬이다 보니, Arknights: Endfield(终末地) 출시 직후 곧바로 분해해서 렌더링을 연구..

TECH.ART.FLOW.IO 2026.05.11

Unity 프로젝트 XSolution Python Wrapper 활용 사례

Unity 게임 클라이언트 내에서 Python 3.7 VM을 임베딩하여 게임 로직, UI 프레임워크, 데이터 파이프라인까지 Python으로 작성한 사례를 공유합니다.개요Unity 기반 게임 클라이언트에서 CPython 3.7 런타임을 임베딩하고, C#과 Python 간의 양방향 바인딩을 통해 게임 로직 대부분을 Python으로 작성한 사례입니다. 이 글에서는 XSolution이라는 Python Wrapper 솔루션의 기술적 아키텍처와 프로젝트 내 실제 활용 사례를 다룬다.바이트댄스(ByteDance)에 인수합병된 "C4Games" 가 개발한 XSolution Python Wrapper는 Unity 클라이언트용 CPython 임베딩 솔루션으로서 필자가 2021년 부터 2023년 까지 중국 바이트댄스(Byt..

UNITY3D 2026.05.05

[번역] 실시간 렌더링 - UNITY 그림자 렌더링 총정리

역자 주: 중국 개발사 엔진팀에서 근무 할 때 아트팀 요청(?) 아닌 요구에 의해 PCSS 와 VSM 정도를 URP 에 적용했던 경험 정도가 있는데요 개인적으로 모멘트 기반 섀도우 맵핑에 관심이 많습니다. 아마도 곧 작업을 해 봐야 할 것 만 같은 뭐 그런 느낌이네요.저자: Metaneko먼저 본문의 내용 구조를 첨부한다.Shadow Map간단히 말해, 광원의 시점에서 깊이 텍스처(Depth Map)를 렌더링하여 광원 위치에서 씬까지의 최소 깊이를 기록하는 방법이다. 렌더링 시 기록된 최소 깊이를 기반으로 현재 픽셀이 그림자 안에 있는지를 판단한다.주의할 점은, 깊이 텍스처를 생성한 후 그림자를 계산할 때 특정 프래그먼트가 그림자 안에 있는지 검출해야 한다는 것이다. 이때 버텍스 셰이더에서 버텍스를 광원..

TECH.ART.FLOW.IO 2026.04.14

[번역] 제로에서 구현한 간편한 FluidFluxWater 물 렌더링 파트 2

역자의 말: 요 몇일 늦은 나이에 운전면허 따러다니고 고객사 일 돌보고 버그 수정 하느라 업데이트가 늦었습니다. 파트2는 바다 서피스 렌더링에 관한 내용들로 이루어 져 있습니다.저자: 秋大叔flux single layer water 셰이딩(착색)드디어 셰이딩 파트까지 왔다. 이제부터는 앞에서 했던 것들보다 “눈에 보이는 보상(정답 체크)”이 훨씬 자주 나온다. 마치 그림 그릴 때, 고통스러운 스케치/선 따기 단계는 끝났고 이제 색칠 들어가는 느낌.근데 아직은 완전히 시원하게 ‘색칠만’ 할 수는 없다. 명암 이분 같은 기본 광영 처리를 아직 안 했기 때문이다. 그 명암 변화들까지 다 처리하고 나면, 남는 건 진짜로 파라미터 조절하면서 쾌감 있게 색칠하는 단계가 된다.Flux의 single layer wat..

TECH.ART.FLOW.IO 2026.04.04