이 포스팅은 유니티나 타엔진에서 이펙트를 다뤄분 이펙터가 언리얼4에 좀더 쉽게 접근 할 수 있게 도움을 주고자 작성합니다, 쉬운 설명을 위해 유니티엔진과 비교를 하며 내용을 작성 하겠습니다.
유니티 이펙터가 언리얼로 넘어 올 때 힘들어하는 점
유니티, 언리얼의 이펙터 제작에 있어 가장 큰 차이점 중 하나는 기본 쉐이더(마테리얼)이 있냐 없냐 입니다.
이펙트에 들어갈 쉐이더를 만들어야 하는데 유니티는 기본적으로 쉐이더를 제공하고 언리얼은 제공하지 않습니다.
그래서 언리얼에서 이펙트를 만들 때 쉐이더 기본 지식이 없으면 큰 진입장벽이 존재합니다.
그래서 이 포스팅에서 유니티의 기본 쉐이더를 최대한 따라하여 언리얼에서 쉐이더를 만든 자료를 배포하며 튜토리얼을 진행합니다.
유니티 기본 이펙트 쉐이더를 따라 만든 언리얼 이펙트 쉐이더 소개
샘플 프로젝트 파일 첨부합니다.
위 사진 보시다 싶이 유니티의 Particle/Standard Unlit 쉐이더를 모방해 언리얼에서 쉐이더를 만들 었습니다.
이 포스팅에서 해당 쉐이더를 언리얼 기본 마테리얼라고 하겠습니다.
기능은 몇가지 빼고 주요기능은 전부 똑같이 구현했으며 유니티의 용어와 같이 이름을 써놓았고 주석까지 전부 작성 했습니다, 언리얼 마테리얼 작성 공부를 하기에도 매우 유용하실 겁니다.
또한 제가 만든 언리얼 기본 마테리얼을 이용해 만든 샘플 이펙트 2종이 있습니다.
언리얼 기본 마테리얼 기능 설명
-1 기본 마테리얼 만들기
프로젝트를 열었으면 BasicMaterials/_Master 폴더 안에 M_BasicParticleMaterial 파일에 우측 마우스 -> 머티리얼 인스턴스 생성을 눌러 마테리얼 인스턴스 파일을 생성합니다.
파일을 생성했으면 원하는 마테리얼 이름을 지어 줍니다,
지금까지 시나리오인 마테리얼 인스턴스 파일 생성하는 과정은 유니티로 비유하면 새 마테리얼을 만들어서 유니티 파티클 기본 쉐이더로 설정하는 과정이랑 동일합니다.
앞으로 새 마테리얼이 필요하면 위 과정을 시행하시면 되겠습니다.
인스턴스파일을 열면 위와 같은 에디터가 등장하게 됩니다. 위 에디터는 유니티의 마테리얼 Inspector 설정 패널과 같은 역할을 합니다.
-2 기능 설명 : 블랜드 설정 세팅 & 블랜드 설명
인스턴스 마테리얼의 디테일 패널 하단에 위와 같은 머티리얼 프로퍼티 오버라이드 설정 부분이 있습니다,
해당 옵션들을 이용해 Additive, Translucent(Transparent) 등 블랜드 설정을 변경할 수 있습니다.
위 옵션을 수정 하실려면 좌측 체크를 하시면 수정이 가능합니다.
Blend Mode 설명
불투명 모드입니다, 돌이나 물체같은 메쉬류 파티클에 사용됩니다.
Cutout 모드입니다, 텍스처의 A채널을 이용해서 알파부분을 제거합니다,
제 마테리얼에서 알파채널을 사용하는 블랜드 모드는 텍스처에 알파채널을 추가하셔서 32Bit텍스처를 넣으셔야 합니다.
알파 블랜딩모드입니다, Masked와 마찬가지로 텍스처의 알파채널을 이용해서 알파를 잘라냅니다.
픽셀 더하기 연산 블랜드 모드입니다, 따로 알파채널 사용하지 않습니다.
-3 기능 설명 : 이펙트 설정 세팅
이펙트에 사용할 텍스처나 색, UV 타일링등 기능을 설정하는 법을 설명하겠습니다.
우선 위 옵션은 유니티와 최대한 동일하게 구성했습니다, 유니티와 언리얼의 용어가 차이나는 점은 괄호()를 통해 주석을 달았습니다.
-1. Maps -
메인 텍스처입니다, 만약 블랜드 모드가 Translucent(Transparent)나 Masked(Cutout) 경우에는 텍스처의 A채널을 알파로 사용합니다.
-2. Emission -
유니티에 Emission옵션과 동일한 역할을 합니다,
-3. Depth Fade(Soft Particle)
Additive나 Translucent 블랜드 모드에서 작동하며 파티클이 표면근처로 닿으면 부드럽게 깍이는 효과가 있습니다.
-4. Camera Fade
유니티와 동일한 옵션으로 카메라와 픽셀이 가까우면 사라지는 옵션입니다.
-6. Refraction(Distortion)
굴절 효과입니다, Translucent 블랜드 모드에서만 작동하며 Emissive Color의 A값이 0이여야 잘보입니다.
Refraction Map[R채널 사용]은 굴절의 모양 텍스처입니다, 입력한 텍스처의 R채널만 사용합니다.
Refraction Normal Map은 굴절 노이즈 텍스처입니다, 노멀맵 텍스처를 넣어야합니다.
Refraction Intensity는 굴절 강도이며 1에 가까울 수록 굴절이 약해집니다.
Cascade 에디터(이펙트 에디터)에서 컬러 알파값으로 굴절을 보이게, 안보이게 할 수 있습니다.
-7. UV Tiling Offset
유니티의 Tiling, Offset과 동일한 기능이며 해당 마테리얼에 들어간 모든 텍스처의 UV값을 조절하게 됩니다.
Cascade 에디터(이펙트 에디터)에서 Dynamic노드를 통해 Tiling, Offset 조절이 가능합니다,
Dynamic 노드의 0,1 값은 Tiling X, Y이고 2,3 값은 Offset X, Y값을 조절할 수 있습니다.
언리얼 기본 마테리얼로 만든 이펙트
제가 만든 언리얼 기본 마테리얼은 불 이펙트와, Smoke Puff 이펙트입니다.
첨부한 프로젝트에 파일이 있습니다.
해당 이펙트는 마테리얼 기본 사용법, Distortion 응용법, 시퀸스 이펙트 등 기본적인 예시가 들어 있습니다.
Cascade 에디터(이펙트 에디터)의 자세한 사용방법은 언리얼 공식 튜토리얼을 보시고 연습하면 쉽게 익힐 수 있을 것 입니다.
https://www.youtube.com/watch?v=OXK2Xbd7D9w&list=PLZlv_N0_O1gYDLyB3LVfjYIcbBe8NqR8t
'Unreal > Shader & VFX' 카테고리의 다른 글
캐주얼 이펙트 - Water Tornado (7) | 2019.10.05 |
---|---|
캐주얼 이펙트 - 번개(Thunder Strike) (3) | 2019.09.07 |
Flame Slash 이펙트 (0) | 2019.08.15 |
[Tutorial] Cloaking Effect 4장 : 파티클 및 후처리 Part - 2 -End- (0) | 2019.08.01 |
[Tutorial] Cloaking Effect 4장 : 파티클 및 후처리 Part - 1 (0) | 2019.07.31 |
WRITTEN BY
- CatDarkGame
Technical Artist dhwlgn12@gmail.com