드라마틱 변신✨ 광역효과 연출


Tags : TransformationComponent Effect Post-Process-Effect Material


Post Process Effect와 Material Instance를 활용해 플레이어의 변신에 드라마틱한 연출 구현하기 Transform

요약

  • 주요 목표 : 프로젝트의 하이라이트로 보여 줄 시각효과 직접 구현하기
  • 해결 방안 : Post Process EffectMaterial을 활용해 직접 광역 Effect 만들기
  • 이루어낸 성과 :
    1. Post Process Effect 활용과 Material의 함수들에 대한 이해
    2. 주어진 에셋에 제한된 결과물 보단 내 입맛에 맞게 커스터마이징하고 싶은 개발 욕심 충족



Post Process Effect

기획한 캐릭터의 변신과 몬스터 및 주변 사물의 변화에 좀 더 극적인 연출을 주기 위해 게임 Level 전체에 광역효과를 줄 수 있는 Post Process Effect 1 (후보정)을 연구했다

DirectX에서 PostRender단계에 뷰포트에 보여지는 모든 개체에 일괄 효과를 적용해주는 Rasterizer와 Sampler State와 유사한 기능으로 이해했다
기본적으로 Lighting, DOF, Anti-Aliasing 등 조작으로 다양한 연출이 가능하며 Material 객체를 통해 적용하고자 하는 효과를 커스텀 할 수도 있다
원하는 연출이 가능할 것 같아 설레는 마음으로 작업을 진행했다

*UnrealCG의 YouTube 튜토리얼 2내용을 참고한 뒤 스스로 학습하여 구현했습니다


Setting

TransformationObjects

  • 필요한 객체들 추가
    *변신 = Transform 이지만 다른 의미의 Transform과의 혼동을 피하기 위해 Transformation으로 선언
구분 객체명 내용
Blueprint BP_Transformation PostProcessComponent를 가진 액터로 Player Character에 의해 생성
RenderingFeature에 적용할 Material 입력
Material
ParameterCollection
PC_TransformationData 다수의 Material의 scalar와 vector param값을 관리하고 적용할 수 있는 개체
광역효과 Material을 추가할 경우 등 확장성을 고려한 셋업
Material M_Transformation 광역효과 커스텀
Material Instance MI_Transformation Post Processc Material에 입력가능한 Material 객체
정의된 Material을 적용한 결과를 실시간 육안으로 확인하며 세부내용 조율가능


🤓Material & Material Inst

Material의 세부 도구와 기능들은 Unreal Documentation의 Material Property 3Material Expression 4 그리고 Material Essential Tutorial 5 영상을 보며 참고했다
*Material은 Live Preview가 지원되기 때문에 실시간 적용효과를 직접적으로 확인할 수 있다

image

  • Detail Setting
구분 설정 내용
Material Domain Post Process 커스텀 Post Process에 사용될 Material 형식
Blendable Location Before Tonemapping Post Process 적용 시점 : 톤 매핑 이전
명도와 색상 계산을 Post Process이후에 하도록 설정
  • Sphere Mask 구성
    효과를 적용할 범위와 위치 그리고 세부효과 적용
구분 표현식 내용
Sphere Mask SphereMask 적용할 Post Process의 위치와 범위 설정
Outline SampleSceneDepth 아웃라인 표현 강도 설정
Scene Texture OriginalSceneTexture ID : PostProcessInput0
기존 Scene의 Texture값 유지
Texture Overlay MaterialFunctionCall
: WorldAlignedTexture
Tiles a texture in worldspace
월드스페이스에 입력된 Texture 적용
  • PostProcess효과 예외 설정
    배경 및 상호작용이 불필요한 오브젝트의 시각적 구분을 위한 PostProcess 제외 처리

Custom Depth 설정

Custom Depth - Scene Depth

  • 범위 외 효과
    하늘을 포함한 PostProcess가 적용되는 범위 밖 일괄 효과 적용



Application

Player의 변신으로 연쇄 발동될 효과 연출들 도표로 정리
Event Dispatch

Update Stream Level

Update Skeletal Mesh

Update Player Mode



생각정리



Reference