언리얼 - HLSL 커스텀노드_픽셀화 효과 제작과정



언리얼 - HLSL 커스텀노드_픽셀화 효과 제작과정

금별 0 11 15:18

 

3D 오브젝트나 전체 화면을 레트로 게임처럼 픽셀 단위로 끊어져 보이게 만드는 방법을 설명합니다.

 

 

핵심 원리: UV 언더샘플링 (UV Undersampling)

픽셀화의 본질은 연속적인 텍스처 좌표(UV)를 이산적인 격자(Grid) 형태로 강제로 맞추는 것입니다.

 

1단계: 표면 머티리얼 (단일 오브젝트 적용)

 

머티리얼 에디터에서 Custom 노드를 생성하고 HLSL 코드를 작성합니다.

 

PixelSize라는 변수를 받아 화면을 몇 개의 격자로 나눌지 결정합니다.

 

핵심 함수: floor() 함수를 사용하여 연속적으로 변하는 UV 값을 가장 가까운 정수(또는 특정 단계)로 내림 처리합니다. 이 과정을 통해 부드러운 그라데이션을 가져야 할 UV 좌표가 계단 현상처럼 뚝뚝 끊기게 되고, 텍스처가 모자이크처럼 샘플링됩니다.

 

 

 

2단계: 포스트 프로세싱 머티리얼 (전체 화면 적용)

 

개별 오브젝트가 아닌 씬 전체에 효과를 주기 위해 포스트 프로세싱 단계로 넘어갑니다.

 

포스트 프로세싱에서는 텍스처 UV를 직접 가져올 수 없으므로, HLSL 코드 내에서 GetSceneTextureUV() 함수를 사용해 현재 렌더링된 화면의 스크린 UV를 가져옵니다.

 

동일한 floor() 로직을 스크린 UV에 적용한 뒤, SceneTextureLookup을 통해 왜곡된 UV 위치에 해당하는 씬의 픽셀 색상(PostProcessInput0)을 가져와 화면 전체를 픽셀화합니다.

 

 

 


 

float2 gridSize = float2(PixelSize,PixelSize);
float2 uvGrid = floor(uv * gridSize) / gridSize;

float4 FinalColor = SceneTextureLookup(uvGrid, 0, false);
//float3 result = Texture2DSample(tex , texSampler , uvGrid);

return FinalColor;

 

 


 

return GetSceneTextureUV(Parameters);

 

 


 



 

 

 

 

 

 

 

 

에반 언리얼5 이펙트 그룹과정[26년초 시작] : https://cafe.naver.com/unrealfx/20727

KUPAFX Stylized 유니티 이펙트 취업과정 : https://cafe.naver.com/unrealfx/21249

트리키 언리얼+후디니 활용 게임 VFX 연출과정 : https://cafe.naver.com/unrealfx/25629

 

max님의 쌩기초 메쉬활용 이펙트과정 1달특강 : https://cafe.naver.com/unrealfx/24469

eVan텍스쳐 단품과정 : https://cafe.naver.com/unrealfx/24468

rak 유니티 UI연출이펙트 : https://gamefx.co.kr/bbs/page.php?hid=Rak_intro

Comments


번호 포토 분류 제목 글쓴이 날짜 조회
794 언리얼4 언리얼 - HLSL 커스텀노드_소벨 외곽선 추출 금별 15:20 17
열람중 언리얼4 언리얼 - HLSL 커스텀노드_픽셀화 효과 제작과정 금별 15:18 12
792 언리얼4 AOE Slam FX in Unreal Engine 5 Niagara ashif 04.01 48
791 언리얼4 Illugen 활용 절차적 지면 크랙 효과 텍스처 생성(한글자막) 금별 04.01 54
790 언리얼4 언리얼 - 파티클 원형 궤도(Circular Orbit) 위에서 자동 정렬방법(한글자막) 금별 04.01 49
789 언리얼4 언리얼 - 간단한 머트리얼 디졸브를 구현하는 세 가지 방법(한글자막) 금별 03.22 183
788 언리얼4 언리얼/후디니 -VAT 이펙트 툴체인 40분 설정: Niagara 워크플로우를 구축 방법(한글자막) 금별 03.22 146
787 언리얼4 언리얼5 - 기본 스트라이프 렌더러 재질 효과 작성 방법(한글자막) 금별 03.22 127
786 언리얼4 언리얼5 - 나이아가라는 입자를 나선형으로 움직이며 타깃에게 공격방법(한글자막) 금별 03.22 138
785 언리얼4 언리얼5 - 나이아가라 입자의 원형 운동을 수동으로 조작 방법(한글자막) 금별 03.22 95
784 언리얼4 언리얼5 - 나이아가라 입자를 특정 순서로 발사하여 적을 공격 방법(한글자막) 금별 03.22 113
783 언리얼4 언리얼5 - 나이아가라 원형으로 입자를 발사해서 타깃에게 움직이기(한글자막) 금별 03.22 97
782 언리얼4 언리얼5 - 나이아가라 입자를 원형으로 움직이게 하는 방법(한글자막) 금별 03.22 122
781 언리얼4 Sci-Fi Hex Shield FX in Unreal Engine 5 Niagara ashif 03.22 110
780 언리얼4 Rock Spike Eruption FX in UE5 Niagara ashif 03.16 143
779 언리얼4 언리얼 - 흑백 플래시 포스트 프로세스 연출 제작팁 금별 02.11 416
778 언리얼4 Unreal Engine 5 Tutorial: Create a Cursed Mist VFX ashif 02.10 281
777 언리얼4 언리얼 - 나이아가라 Advanced Guide – 위치 기반 동역학 금별 01.09 611
776 언리얼4 Niagara로 생성된 Static Mesh에서 파티클 스폰하기 금별 01.09 588
775 언리얼4 언리얼 - 나이아가라로 스플라인을 따라 발사되는 파티클 제작 금별 01.09 464
774 언리얼4 언리얼5 - 어검술의 완성 : 검진(Sword Array) 심화 기동 및 고급 제어(한글자막) 금별 01.09 469
773 언리얼4 언리얼5 - 벡터 연산을 활용한 검진(Sword Array) 지정 방향 발사 로직(한글자막) 금별 01.09 403

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand