기록
240506~240510 씬캡처 포스트 프로세스 블러 효과 적용
hayo_su
2024. 5. 12. 19:10
목표
- 화면을 분리하여 플레이어1과 플레이어2의 플레이 화면을 띄우기
- 특정 화면에 포스트프로세싱 효과 적용하기
- 렌더링 최적화 하기
> 작업내용 한판정리
더보기
- 플레이어1의 화면을 가져오는 방법 (완료)
- SceneCaputreComponents2D를 SpringArm에 달아 현재 카메라에서 캡쳐하는 내용을 그대로 가져올 수 있도록 (완료)
- SceneCaputreComponents2D의 씬캡쳐 결과를 정해놓은 렌더타겟에 복사할 수 있도록 (완료)
- 화면에 띄우는 방법 (완료)
- 렌더타겟을 바탕으로 머티리얼과 머티리얼 인스턴스를 생성 (완료)
- 머티리얼 인스턴스를 이미지로 사용하는 UMG를 제작한다. (완료)
- 동시에 렌더링 (완료)
- 플레이어1과 플레이어2가 역할에 빙의한 후 이벤트를 발생시켜 렌더타겟을 명확히 지정해준다. (완료)
- 루멘 적용 (완료)
- SceneCaputreComponents2D가 캡쳐할 때 주변 머티리얼 색상(빛)이 적용받지 않는 문제 (완료)
- 블러 효과 (진행)
- 캐릭터가 hp가 0이 된다면 화면에 블러효과가 적용되고 respawn UI를 띄워야한다.(진행)
- SceneCaputreComponents2D에서 제공하는 MakePostProcessSettings기능을 사용하여 블러효과를 적용할 수 있도록 하였다.(진행)
- UMG렌더링 순서
- 생성된 순서대로 draw call을 하기 때문에 '플레이어 생성 → 렌더타겟 설정 → 분할화면 생성' 시 플레이어에 달려있는 위치 UI, 몬스터의 상호작용 ui 등이 보이지 않는 문제가 발생한다.
- tick이 적용되지 않아도 되는 UMG이미지
- 위젯 캔버스 중 hp퍼센트와 위치위젯, 상호작용 위젯과 같이 상황에 따라 다르게 적용되는 이미지가 있는 반면, 플레이어 초상, 고정된 노이즈 배경같이 변화가 없는 이미지가 있다. 이러한 이미지에 대해 최적화 처리가 필요하다고 생각한다.
진행
SceneCaptureComponent2D에 기본으로 제공되는 포스트프로세스 볼륨을 활용하였다.
Death체크를 통해 죽었다면 Blur효과가 적용되도록, 살아있다면 디폴트 값이 적용되도록 하였다.
결과