Unreal: AoE

5. Shockwaves, Ground Crack, AB Material

Kang Min Kim
CodeAlpha
11 min readJun 17, 2021

--

Shockwave, Ground Crack 을 표현하는 이미터를 추가해 비주얼 요소들을 향상 시키고 Alpha Blend Material 을 사용해 Contrast 를 표현해본다. (🛎️ Gabriel Aguiar 의 강의 내용을 요약 및 정리한 스토리 입니다.)

1. Create Shockwave Emitter

shockwave texture
Create Material Instance from M_Particle > Rename to Mi_ShockWave > MainTexture
Duplicate from 02_GroundBeamAdd > Rename to 02_ShockWaveAdd
02_ShockWaveAdd > Mesh Renderer > Explicit Mat > Mi_ShockWave
02_ShockWaveAdd > Initialize Particle > Lifetime > Vector
02_ShockWaveAdd > Scale Mesh Size > Adjust Curve
02_ShockWaveAdd > Scale Color > Scale RGB > Curve

방출될 때 지면으로 퍼져나가는 충격파를 표현하기 위한 이미터를 세팅하는데 가장 멀리 퍼져나가면서 빠른 속도로 소멸되는 느낌으로 연출한다.

Duplicate from 02_GroundBeamAdd > Rename to 02_GroundCircleAdd
02_GroundCircleAdd > Initialize Particle > Lifetime > Vector
02_GroundCircleAdd > Scale Color > Scale RGB > Curve
02_GroundCircleAdd > Scale Mesh Size > Curve

불기둥인 Cylinder 이미터와 타이밍을 맞추어 내부 충격파가 캐스팅 되는 느낌으로 세팅한다. 02_ShockWaveAdd 비슷하지만 수명이 좀 더 오래 유지되도록 한다.

Duplicate from 02_ShockWaveAdd > Rename to 01_ShockWaveAdd
01_ShockWaveAdd > Emitter State > Loop Delay > A > B
01_ShockWaveAdd > Initialize Particle > Lifetime > A > B
01_ShockWaveAdd > Scale Color > Scale RGB > Curve
01_ShockWaveAdd > Scale Mesh Size > Curve

2. Create Ground Crack Emitter

Ground Crack Texture
Create Material Instance from M_Particle > Rename to Mi_GroundCrack > MainTexture
Duplicate from 02_GroundCircleAdd > Rename to 02_GroundCrackAdd
02_GroundCrackAdd > Mesh Renderer > Explicit Mat
02_GroundCrackAdd > Initialize Particle > Lifetime > Vector
02_GroundCrackAdd > Scale Mesh Size > Curve

3. Create Alpha Blend Material

블랜드 모드를 투명으로 설정한 재질을 만들고 붉은색의 파티클 색깔 밑에 깔리는 검은색 파티클을 표현한다. NS 에서 Add 라고 이름 붙혔던 이미터와는 다르게 AB(Alpha Blend) 라는 이름을 붙혀주고 Sort Order 를 변경해 기존의 이미터들과 대조를 이루는 느낌을 연출해본다.

Duplicate from M_Particle > Rename to M_AlphaBlend
M_AlphaBlend > Blend Mode > Translucent
Duplicate from Mi_GroundCrack > Rename to Mi_GroundCrackAlphaBlend
Mi_GroundCrackAlphaBlend > Parent > M_AlphaBlend
Duplicate from 02_GroundCrackAdd > Rename to 02_GroundCrackAB
02_GroundCrackAB > Mesh Renderer > Explicit Mat > Sort Order Hint
02_GroundCrackAB > Initialize Particle > Lifetime > Color > Vector
02_GroundCrackAB > Scale Color > Curve
Duplicate from Mi_Beam01Add > Rename to Mi_Beam01AB
Mi_Beam01AB > Parent
Duplicate from 01_GroundBeamAdd > Rename to 01_GroundBeamAB
01_GroundBeamAB > Mesh Renderer > Explicit Mat > Sort Order Hint
01_GroundBeamAB > Initialize Particle > Color > Vector
01_GroundBeamAB > Scale Color > Curve
Duplicate from 01_SparksINAdd > Rename to 01_SparksINAB
01_SparksINAB > Sprite Renderer > Material
01_SparksINAdd > Sprite Renderer > Material
01_SparksINAB > Spawn Rate
01_SparksINAB > Color > Sprite Size

02_SparksOUTAdd 을 복사한 02_SparksOUTAB 에도 위와 동일한 작업을 해준다. 이때 ~AB 이미터들은 Add 보다 파티클의 개수나 크기가 작도록 설정해 대비를 이룰 수 있도록 한다.

Duplicate from 02_GroundBeamAdd > Rename to 02_GroundBeamAB
02_GroundBeamAB > Mesh Renderer > Explicit Mat > Sort Order Hint
02_GroundBeamAB > Initialize Particle > Color > Mesh Scale

마찬가지로 불기둥을 표현한 Cylinder 의 Alpha Blend 버전을 만든다 아래 이미지의 각 모듈 속성 값들은 절대적인 값들이 아니며 다른 이미터들과 어떻게 조화 될 수 있을지 생각하며 진행해야 한다.

Duplicate from M_AoE_Niagara > Rename to M_AB_AoE_Niagara
M_AB_AoE_Niagara > Blend Mode > Translucent
Duplicate from Mi_FireImpact01Add > Rename to Mi_FireImpact01AB
Mi_FireImpact01AB > Parent > M_AB_AoE_Niagara
Duplicate from 01_CylinderAdd > Rename to 01_CylinderAB
01_CylinderAB > Mesh Renderer > Explicit Mat > Sort Order Hint
01_CylinderAB > Initialize Particle > Color > Mesh Scale
01_CylinderAB > Scale Color > Curve

여태까지 작업한 ~AB 이미터들은 기존의 ~ADD 이미터들 보다 조금 작게 그리고 수명은 조금 길게 세팅해 잔상을 통한 대조 효과를 주기 위함이다. 이를 기억하면서 세팅값들을 조절한다.

Duplicate from 02_CylinderAdd > Rename to 02_CylinderAB
02_CylinderAB > Mesh Renderer > Explicit Mat > Sort Order Hint
02_CylinderAB > Initialize > Lifetime > Color > Mesh Scale
02_CylinderAB > Enable Scale Color Module > Scale RGB > Curve
02_CylinderAB > Scale Mesh Size > Adjust Last key

02_CylinderAB 는 수명과 실린더의 크기를 약간 늘려주고 Dissolve Amount 의 마지막 키값을 02_CylinderAdd 보다 살짝 낮춰 메인 텍스처가 조금 더 오래 유지되도록 해준다. 이를 통해 연기가 남는 듯한 느낌을 줄 수 있다.

--

--