언리얼5 - 물결 패턴 Normal Map 블렌딩 & 질감 교체 가이드



언리얼5 - 물결 패턴 Normal Map 블렌딩 & 질감 교체 가이드

금별 0 21 13:40

 

 



이 영상은 Unreal Engine 5의 Material Editor를 사용해 간단한 VFX 효과(물결무늬 질감 교체)를 만드는 초보자 튜토리얼입니다. 기본 노드와 수학 개념(sin, fmod, smoothstep 등)을 활용합니다. 아래는 영상의 제작 과정을 단계별로 구체적으로 설명한 것입니다. 각 단계는 이전 결과를 활용하며, 초등/중등 수준 수학으로 이해 가능합니다.

 

1. Material 기본 설정

새 Material을 생성하고 이름을 "M_4K7K0"으로 지정합니다.

Material의 Blend Mode를 Translucent(반투명)로 변경하고, Shading Model을 Unlit(무광)으로 설정합니다.

뷰포트에서 앞면으로 전환해 미리보기 상태를 준비합니다. (이로써 투명한 VFX 효과의 기반이 마련됩니다.)

 

2. UV 좌표 중앙 이동 및 Mask 범위 조정

Texture Coordinate 노드(UV)를 호출합니다.

UV 좌표를 중앙으로 이동시키기 위해 Constant(1)을 빼서 UV - 1을 계산하고, 그 결과에 0.5를 더해 UV 범위를 0~0.5로 조정합니다. (이 offset은 나중에 normal map의 중심을 맞추기 위함입니다.)

결과를 "UV"라는 이름으로 저장합니다.

저장된 UV의 길이(Length)를 계산해 Mask 생성의 기반으로 사용합니다. (이 값은 0~0.5 범위이므로, 다음 단계에서 확장합니다.)

 

3. Mask 범위 확장 및 Sin 곡선 적용

이전 UV 결과를 2배 곱해 0~1 범위로 확장합니다. (이로써 표준 UV 스페이스가 됩니다.)

Sine(Sin) 노드를 연결해 사인 곡선을 적용합니다. X축을 입력으로 사용하며, 주기(Period) 파라미터를 실험적으로 조정(예: 적절한 값으로 한 고리씩 반복되게)해 물결무늬 패턴을 만듭니다.

결과를 저장하고, 이 곡선이 주기적으로 반복되는 것을 확인합니다.

 

4. 시간 기반 애니메이션 추가 (주기 반복 계산)

Time 노드를 호출해 실시간 변화를 위한 입력을 만듭니다.

별도의 Constant(float) 노드로 시간 스케일링 값을 설정(예: 속도 제어용).

Sin 결과를 기반으로 주기 반복을 위해 fmod(Time * Scale, 2)를 계산한 후 2를 곱하고, 원래 Sin 값에 더합니다. (이 계산은 sin의 주기를 0~2 범위로 모듈로 처리해 무한 반복되게 합니다.)

최종적으로 1을 빼서 -1~1 범위로 조정합니다. (미리보기에서 음수 offset으로 인해 보이지 않을 수 있지만, 실제로는 곡선이 음수 영역으로 이동해 부드러운 흐름을 만듭니다.)

 

5. Smoothstep으로 부드러운 전환 적용

이전 계산 결과를 Smoothstep 노드에 연결합니다. Edge0과 Edge1을 -1과 1로 설정해 S-커브 형태의 부드러운 전환을 만듭니다. (이로써 물결무늬가 급격하지 않고 자연스럽게 페이드됩니다.)

결과를 저장하고, 종이에 간단히 수학적으로 검증(초등/중등 수학으로 sin + modulo 이해)을 권장합니다.

 

6. Normal Map 텍스처 불러오기 및 UV Offset 적용

두 개의 Normal Map 텍스처를 Material에 불러옵니다. (물결무늬 질감을 위한 두 변형 버전.)

첫 번째 Normal Map의 UV 입력에 이전 애니메이션 결과를 곱해 시간 기반 offset을 적용합니다. (UV가 시간에 따라 이동해 동적 효과 발생.)

초기 미리보기에서 중심이 어긋나면 0.5를 더해 UV 중심을 (0.5, 0.5)로 재조정합니다. (이 offset으로 텍스처가 중앙에서 시작합니다.)

연결 후 미리보기를 확인해 효과를 검증합니다.

 

7. 반전 버전 생성 및 Lerp 블렌딩

첫 번째 Normal Map 결과를 복사한 후, 1을 빼서 (1 - Result) 반전 버전을 만듭니다. (바깥→안 또는 안→바꿔 흐름을 위한 대비.)

두 Normal Map(원본과 반전)를 Linear Interpolate(Lerp) 노드로 블렌딩합니다. Alpha 입력에 이전 애니메이션 곡선(Smoothstep 결과)을 연결해 시간에 따라 자연스럽게 전환되게 합니다.

미리보기에서 문제가 발생하면(예: 블렌딩 방향 오류), Lerp의 A/B 입력을 스왑(R<- B)해 수정합니다. (이로써 곡선의 음수/양수에 맞게 바깥→안 흐름이 제대로 동작합니다.)

 

8. 방향 반전 옵션 및 마무리

안→바깥 흐름을 원할 경우 Time 노드의 방향을 반전(예: -Time 사용)합니다.

최종 Material을 컴파일하고, 뷰포트에서 전체 애니메이션을 확인합니다. (8분 14초 영상 끝에서 완성된 물결무늬 VFX가 바깥에서 안으로 또는 반대로 부드럽게 교체되는 효과가 나옵니다.)

이 과정은 Material Editor의 노드 연결 위주로 진행되며, 직접 따라 하며 파라미터를 실험하는 것을 강조합니다. 전체적으로 초보자가 sin 기반 주기적 VFX를 이해하고 구현할 수 있도록 설계되었습니다.



 

 

 

 

 

에반 언리얼5 이펙트 그룹과정[12월 시작] : 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



Total 1,233 Posts, Now 1 Page


 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand