2023GDC: Reinventing the Wheel for Snow Rendering 보호되어 있는 글 입니다. 2026. 1. 24. 3D로 깨끗한 선을 그리기 위해. 길티 기어 시리즈의 툰 라인 제어 기술 보호되어 있는 글 입니다. 2026. 1. 22. 인재원 컨퍼런스 정리 보호되어 있는 글 입니다. 2026. 1. 15. 9. 유니티 후처리 기술의 이해와 구현(하) - Bloom & Tone Mapping 1. Bloom(블룸) 효과의 시각적 차이와 기본 원리 효과의 차이톤 매핑(Tone Mapping)과 블룸을 모두 껐을 때와 비교하면, 블룸을 켰을 때 빛이 번지는 듯한 효과가 나타납니다. 여기에 톤 매핑까지 추가하면 전체적인 색상의 그라데이션이 훨씬 부드러워지며 질감이 고급스럽게 변합니다. 구현의 4단계 원리 발광 영역 추출: 이미지에서 빛이 나는 부분만 따로 떼어냅니다. 다운샘플링(Downsampling): 이미지를 축소하며 블러(Blur) 계산을 수행합니다. 이 과정은 이중 블러(Dual Blur) 연산과 유사합니다. 업샘플링(Upsampling): 이미지를 다시 확대하면서 밝기를 계속해서 중첩시킵니다. 이미지 합성: 최종적으로 블러 처리된 텍스처를 원본 이미지 위에 겹쳐서 블룸 효과를 완성합니다... 2026. 1. 14. 8. 유니티 후처리 기술의 이해와 구현 (중) 후처리 기술의 핵심 중 하나인 블러 알고리즘은 화면에 부드러운 효과를 주거나 광원 효과를 극대화하는 데 사용됩니다. 본 가이드에서는 다양한 블러 방식의 원리와 유니티에서의 구현 및 최적화 단계를 상세히 설명합니다.1. 블러 알고리즘의 기초와 종류블러 알고리즘은 이미지를 흐리게 만드는 방식에 따라 여러 종류로 나뉩니다. 균등 블러 (Box Blur): 가장 단순한 방식으로, 주변 픽셀의 평균값을 사용합니다. 반경이 커지면 잔상이 심하게 남는 단점이 있습니다.가우시안 블러 (Gaussian Blur): 거리별 가중치를 적용하여 박스 블러보다 부드러운 품질을 제공합니다. 이중 박스 블러 (Dual Box Blur): 다운샘플링과 업샘플링을 결합하여 고품질과 고성능을 동시에 잡은 방식입니다. 카와세 블러 (Ka.. 2026. 1. 13. 7. 유니티 후처리 기술의 이해와 구현 (상) 이번 장은 기초 편의 마지막 단계로 후처리(Post-processing) 기술에 대해 다룹니다. 후처리란 장면의 모든 물체가 렌더링되어 프레임 버퍼에 저장된 후, 이를 화면에 출력하기 직전에 픽셀 데이터를 수정하는 기술을 말합니다.구체적인 구현 원리는 카메라의 근평면(Near Clip Plane)에 화면을 가득 채우는 사각형 면편(Quad)을 배치하고, 여기에 전용 셰이더를 적용하여 프레임 버퍼 이미지를 텍스처로 받아 계산하는 방식입니다. 유니티에서는 이를 위해 OnRenderImage 함수와 Graphics.Blit 메서드를 제공하며, 이를 통해 렌더링된 이미지를 2차적으로 수정할 수 있습니다.주요 학습 포인트는 다음과 같습니다:화면 공간 UV 좌표 계산 및 플랫폼별 반전 문제 해결.색조 조절(밝기, .. 2026. 1. 6. 6. ASE를 활용한 마법의 거울(포탈) 효과 구현하기 이번 시간에는 1장을 마무리하며 스텐실 테스트(Stencil Test)와 뎁스 테스트(Depth Test)에 관한 지식을 중점적으로 살펴보겠습니다. 마법의 거울 사례를 통해 셰이더 과정, 스텐실 테스트, 뎁스 테스트, 렌더 큐(Render Queue) 등 전반적인 렌더링 메커니즘을 더 깊이 이해하는 것이 목표입니다.마법의 거울 효과는 거울의 평면을 통해서만 내부의 세계를 관찰할 수 있는 기술입니다. 내부 모델은 실제로 존재하지만 특정 표면을 통해서만 보이며, 현실 세계의 모델과 교차하더라도 서로 영향을 주지 않습니다. 이는 특정 구역에 마스크(Mask)를 그리는 스텐실 테스트 기술을 주로 사용하며, 깊이 쓰기 및 렌더 큐 설정을 조정해 물체 간의 충돌 문제를 처리합니다.스텐실 테스트는 출력 병합(Outp.. 2026. 1. 5. 5. Unity 셰이더 : 버텍스 오프셋을 이용한 촉수 성장 애니메이션 이번에서는 이전까지 다루었던 픽셀 셰이더(Fragment Shader) 중심의 효과에서 벗어나, 버텍스 셰이더(Vertex Shader)에 집중해 봅니다. 버텍스 터널 내에서 간단한 계산을 통해 모델의 정점을 변형시키고, 이를 통해 흥미로운 버텍스 애니메이션 효과, 구체적으로는 촉수가 자라나는 과정을 구현하는 방법을 다룹니다. 기본적인 원리는 원래 규칙적인 원기둥 형태의 모델을 스케일링하고, 윗부분을 잘라내어(culling) 마치 땅 밑에서 무언가가 자라나는 듯한 착각을 일으키는 것입니다. 1단계: 모델링 준비먼저 3D 모델링 소프트웨어에서 촉수 모델을 준비합니다.기본 형태: 원기둥(Cylinder)으로 시작하며, 부드러운 변형을 위해 분할(segment) 수를 높게 설정합니다 (예: 높이 분할 50)... 2026. 1. 5. 4. Unity 셰이더: MatCap과 박막 간섭 구현하기 이번에는 Unity Shader를 사용하여 흔히 '오색찬란한 검은색'이라 불리는 딱정벌레(Beetle) 질감을 구현하는 방법을 정리해 보았습니다. 물리학적으로는 박막 간섭(Thin-film interference)이라고 불리는 이 현상을, 고전적이지만 여전히 강력한 MatCap(Material Capture) 기술을 응용하여 만들어 보겠습니다.1. 핵심 기술: MatCap (Material Capture)이란?MatCap은 조명과 재질 정보를 미리 하나의 텍스처(구체 이미지)에 구워놓고, 카메라 공간의 법선(View Space Normal)을 기준으로 매핑하는 기술입니다.장점: 연산 비용이 매우 저렴하며, 복잡한 라이팅 없이도 독특한 질감을 낼 수 있습니다.단점: 시점에 따라 조명 방향이 고정되어 있어 .. 2026. 1. 4. 03. 캐릭터 림 라이트 및 스캔(유광) 효과 구현과 코드 변환 [ASE 강좌] 이번 포스팅에서는 Amplify Shader Editor(이하 ASE)를 사용하여 캐릭터의 외각을 빛나게 하는 **림 라이트(Rim Light)**와 위에서 아래로 빛이 훑고 지나가는 스캔(Scan/Flow) 효과를 구현하는 방법을 정리했습니다. 또한, ASE로 짠 노드를 실제 HLSL 코드로 변환하는 과정까지 다룹니다.1. 씬(Scene) 및 기본 설정효과가 잘 보이도록 어두운 배경을 세팅합니다.Skybox 교체: 기존 스카이박스 대신 어두운 톤의 환경으로 변경합니다.바닥 설정: 반사가 없는 어두운 바닥을 깔고, Fog(안개)를 켜서 바닥과 배경의 경계를 자연스럽게 처리합니다.셰이더 타입: 빛의 영향을 받지 않고 자체 발광만 표현하기 위해 Unlit(무광) 모드를 선택합니다.2. ASE 노드 구현 과정.. 2026. 1. 4. 02 Shader 코드 입문 기초 1. 셰이더의 기본 구조와 속성 정의셰이더 파일은 유니티 인스펙터와 소통하는 부분과 실제 그래픽 연산을 수행하는 부분으로 나뉩니다.셰이더 블록 전체 구조Shader "경로/이름": 셰이더의 전체 이름을 정의하며, 슬래시를 사용해 메뉴 구조로 관리할 수 있습니다셰이더 파일의 가장 첫 줄에 위치하며, 유니티 에디터 내에서 해당 셰이더를 찾기 위한 경로를 지정합니다.코드 내의 이름과 실제 파일의 이름이 일치하지 않아도 작동하지만, 관리를 위해 통일하는 것이 권장됩니다.Properties: 재질(Material) 패널에 나타날 변수들을 선언합니다이 블록에 선언된 변수들은 아티스트가 유니티 인스펙터 창에서 직접 조절할 수 있는 인터페이스가 됩니다.선언된 변수들은 이후 Pass 블록 내부에서 동일한 이름으로 다시 .. 2026. 1. 2. 실시간 렌더링 파이프라인 기초 1. 개요 및 렌더링의 분류렌더링은 컴퓨터 그래픽스에서 소프트웨어가 3D 모델 데이터를 2D 이미지로 변환하는 과정을 의미합니다. 응용 시나리오에 따라 크게 두 가지로 나뉩니다.리얼타임 렌더링: 게임이나 VR 분야에서 사용되며, 초당 24~60프레임 이상의 속도를 유지해야 하므로 다양한 최적화 수단이 필요합니다.오프라인 렌더링: 영화 제작 등에서 사용되며, 매우 사실적인 효과를 위해 한 장의 이미지를 렌더링하는 데 몇 분에서 몇 시간이 소요되기도 합니다. 2. CPU 단계: 애플리케이션 단계 (Application Stage)GPU가 본격적인 그림을 그리기 전, CPU는 어떤 것을 그릴지 결정하고 데이터를 준비하는 역할을 합니다.(Culling, 컬링)화면에 보이지 않는 물체를 렌더링 대상에서 제외하여 .. 2026. 1. 2. 이전 1 2 3 4 ··· 52 다음 반응형