본문 바로가기
공부/Unreal Engine 5

[언리얼5] 미디어 플레이(동영상 재생하기)

by MY블로그 2024. 5. 24.

게임에서 특정 오브젝트(TV, 휴대폰, CCTV)에서 영상이 재생되는 기능을 언리얼에서는 쉽게 구현이 가능합니다.

1.

가장먼저 재생할 영상파일 .mp4 를 임포트 해주도록합니다.

영상 파일은 드래그앤 드랍 혹은 임포트 메뉴를 사용하여 폴더 내부에 가져 오도록 합니다.

 

2.

미디어 플레이어를 생성해 주도록 합니다.

간단하게 우클릭 > 미디어 카테고리 > 미디어 플레이어 생성

이때 비디오가 미디어 텍스처 에셋 출력 옵션을 체크 하여 생성 하도록 합니다.

 

생성이 완료 되었다면 미디어플레이어, 미디어텍스처 2개의 에셋이 생성됩니다.

생성된 미디어 플레이어를 실행하고 미디어소스(임포트한영상)을 지정하여 주도록 합니다.

미디어플레이어에 영상이 지정될 경우 함께 생성된 미디어텍스처는 자동으로 동기화 됩니다.

좌 : 미디어 플레이어 / 우 : 미디어 텍스처

 

3.

다음으로 영상을 재생할 테스트 액터를 생성합니다.

해당액터는 영상(텍스처)를 적용할 Cube, 재생이벤트의 트리거가될 Box충돌체가 포함되어있습니다.

 

4.

이후 텍스처 에셋을 큐브에 적용시켜 주도록 합니다.

텍스처 우클릭 > 머티리얼 생성 > 생성된머티리얼을 메쉬에 적용

미디어 플레이 > 텍스처 업데이트 = 머티리얼 업데이트 로직으로

미디어가 플레이될경우 매프레임 머티리얼이 업데이트 됩니다.

 

5.

만일 영상에 사운드가 포함되어있다면 미디어 사운드 컴포넌트를 생성하고, 미디어 플레이어를 적용 시키도록 합니다.
해당 미디어가 플레이어 될 경우 사운드가 업데이트 됩니다.

 

6.

미디어 플레이어의 변수를 만들어 특정이벤트시 해당변수의 미디어플레이어를 재생할 수 있도록 합니다.

미디어플레이어 테스트 클래스에 변수 생성후 기본값 지정

이후 트리거 이벤트 로직을 생성 합니다.

테스트 이므로 간단하게 박스컴포넌트가 플레이어 캐릭터와 충돌하였을때 영상을 처음부터 재생 하도록 합니다.

영상 재생은 값이 저장된 변수를 통하여 Open Source 함수를 실행하며, 미디어 소스는 임포트한 영상 파일 입니다.

 

테스트

플레이어가 콜리전과 충돌시 재생이 트리거 되는 모습입니다.
해당 기능을 사용하여 게임에서 특별한 영상을 송출하는 이벤트에 사용이 가능합니다.

 

테스트에 사용된 영상은 무료배포(제작 : cgbp)된 영상을 사용 하였습니다.

 

메모

  • 미디어 플레이어 생성시 미디어 텍스처가 같이 생성된다.
  • 텍스처는 머티리얼을 생성하여 오브젝트에 적용된다.
  • 미디어의 사운드는 미디어사운드 컴포넌트를 통하여 별도로 재생된다.
  • 미디어 재생시 연동된 미디어사운드와 머리티얼은 매프레임 업데이트 된다,
  • 미디어의 재생은 OpenSource 함수를 통하여 실행된다.

댓글