플랫폼 전용 미디어 재생

플랫폼 미디어 소스 애셋을 사용하여 플랫폼 전용 미디어를 재생하는 방법을 보여드립니다.

Windows
MacOS
Linux

멀티 플랫폼 프로젝트를 개발하는 경우, 플랫폼 전용 미디어를 재생하고픈 경우가 있을 수 있습니다. 예를 들어, PlayStation 4 (PS4) 에서와 Xbox One 에서 각기 다른 무비를 재생하고픈 경우입니다. 아니면 미디어 유형은 같지만 퍼포먼스상의 이유로 인코딩이 다른 경우, 해당 플랫폼에서 각기 다른 포맷을 재생하도록 하는 경우입니다.

플랫폼 미디어 소스 애셋으로, 플랫폼에 따라 어느 미디어 애셋을 재생할지 결정할 수 있습니다. 플랫폼 미디어 소스를 열/재생할 때, 현재 어느 플랫폼에 있는지 살펴보고 할당된 미디어 소스를 자동 재생합니다.

여기서는 플랫폼 미디어 소스를 생성하고 Android와 Windows 플랫폼용 두 가지 다른 미디어 소스를 할당해 보겠습니다.

PlatformHero.png

단계

여기서는 블루프린트 삼인칭 템플릿시작용 콘텐츠 를 포함시켜 사용하고 있습니다. 또한 샘플 비디오를 두 개 사용하고 있는데, 플랫폼 비디오 링크를 우클릭하여 컴퓨터에 다운로드하고 압축을 풀면 됩니다.

  1. 콘텐츠 브라우저 에서 소스 패널 을 펼치고 새 폴더를 추가하여 Movies 라 한 뒤 우클릭하고 탐색기에서 표시 합니다.

    Platform_01.png

  2. 샘플 비디오 또는 자체 미디어 파일을 프로젝트의 Content/Movies 폴더에 끌어 놓습니다.

    Platform_02.png

    프로젝트 패키징/디플로잉에 미디어 파일을 포함시키려면, 프로젝트의 Content/Movies 폴더 안에 넣어야 합니다.

  3. 프로젝트에서 콘텐츠 브라우저의 Content/Movies 폴더 내 우클릭하고 Media (미디어) 아래 File Media Source (파일 미디어 소스)를 선택하고 Android_Movie 라 합니다.

    Platform_03.png

    여기서는 플랫폼 미디어 소스 애셋이 가리킬 수 있는 미디어 소스 애셋을 만들어, Android 디바이스에서 실행중인 경우 사용하도록 합니다.

  4. 파일 미디어 소스 애셋을 하나 더 만들고 Windows_Movie 라 합니다.

    Platform_04.png

  5. Android_Movie 미디어 소스를 연 뒤, File Path (파일 경로)에 Gideon_720x480 (또는 자신의 비디오)를 사용하고 열기 를 선택합니다.

    Platform_05.png

    Android 무비의 경우, Android 디바이스에 보다 적합한 .3GP 비디오 파일을 사용하는 반면, Windows용 무비는 .MP4 파일입니다.

  6. Windows_Movie 미디어 소스를 연 뒤, File Path (파일 경로)에 Infiltrator Demo (또는 자신의 비디오)를 사용하고 열기 를 선택합니다.

  7. Content/Movies 폴더에 우클릭한 뒤 미디어 아래 플랫폼 미디어 소스 를 선택하고 Platform_Source 라 합니다.

    Platform_06.png

    다수의 미디어 소스 애셋이 생겼으니, 어느 플랫폼에서 어느 미디어 소스를 재생할지 플랫폼 미디어 소스 애셋으로 정의할 수 있습니다.

  8. Platform_Source 를 연 뒤 Android 아래 Android_Movie 를 선택하고 Windows 아래 Windows_Movie 를 선택합니다.

    Platform_07.png

    우리 예제에서는 두 가지 다른 비디오를 사용하고 있습니다. 하지만 디바이스마다 다른 포맷 또는 인코딩이 다른 동일한 비디오를 사용할 수 있습니다. 다른 미디어 소스 유형을 사용할 수도 있는데, 예를 들어, Windows에서는 디스크의 파일을 사용하는 대신 미디어 스트림 을 사용하여 웹사이트에서 콘텐츠를 끌어올 수 있습니다.

  9. Content/Movies 폴더에 우클릭한 뒤 미디어 아래 미디어 플레이어 를 선택합니다.

    Platform_08.png

    여전히 미디어 플레이어 를 사용하여 우리 플랫폼 미디어 소스 애셋을 열어줘야 합니다.

  10. 미디어 플레이어 생성 창에서 Video output Media Texture asset (비디오 출력 미디어 텍스처 애셋) 옵션을 선택한 뒤 OK 를 클릭하고 애셋을 Media Player 라 합니다.

    Platform_09.png

    그러면 이 미디어 플레이어에 연결된 미디어 텍스처 가 자동 생성되며, 이것을 머티리얼 에서 사용하면 됩니다. 나중에 그 머티리얼을 받아 레벨에 있는 메시에 적용하여 그 위에 콘텐츠를 재생시킬 수 있습니다.

  11. 미디어 플레이어 애셋 안에서, 미디어 라이브러리 창의 Platform_Media 애셋을 더블클릭합니다.

    Platform_10.png

    Platform_Source 애셋에 더블클릭하면 (Windows 플랫폼에서 실행중이므로) Windows 에 할당된 플랫폼 미디어 소스만 재생됩니다. 블루프린트 또는 C++ 를 통해, Android_Movie 미디어 소스 파일을 재생용으로 열 수 있었지만, Platform_Source 를 열 때 오직 Windows 에 할당된 미디어 소스만 재생됩니다. 또한, Play on Open (열리면 재생) 옵션이 기본으로 켜져있어 미디어 소스를 열 때마다 미디어 플레이어가 재생을 시작하도록 해줍니다.

  12. 메인 에디터 창의 모드 패널에서 기본 아래 Plane (면)을 끌어 레벨에 놓고 원하는 대로 크기를 조절한 뒤 MediaPlayer_Video 텍스처를 끌어 그 위에 놓습니다.

    Platform_11.png

    미디어 텍스처 애셋을 끌어 레벨의 스태틱 메시에 놓으면, 머티리얼이 생성 및 적용되어 미디어를 재생합니다.

  13. 을 선택한 채 디테일 패널에서 Media Sound 컴포넌트를 추가하고 Media Player (미디어 플레이어) 옵션을 자신의 MediaPlayer 애셋으로 설정합니다.

    Platform_11b.png

  14. 메인 툴바의 블루프린트 - 레벨 블루프린트 열기 를 선택합니다.

    Platform_12.png

  15. 내 블루프린트 패널에서 변수를 만들고 이름은 MediaPlayer, 유형은 Media Player Object Reference 로 한 뒤 자신의 MediaPlayer 를 사용할 Media Player 로 설정합니다.

    Platform_13.png

    그러면 자신의 미디어 플레이어 애셋으로의 레퍼런스가 생성되며, 이것을 블루프린트에서 사용하여 동작을 실행할 수 있습니다.

    변수의 Default Value 설정을 위해서는, 먼저 컴파일 버튼을 클릭하여 블루프린트를 컴파일해야 할 수도 있습니다.

  16. Ctrl 키를 누르고 MediaPlayer 변수를 끌어 그래프에 놓은 뒤, 우클릭하고 1 키보드 이벤트를 추가하고, Platform_Source 를 가리키는 Open Source 노드에 연결합니다.

    Platform_14.png

    여기서는 미디어 플레이어더러 플랫폼 미디어 소스 애셋을 열어, 실행중인 플랫폼에 따라 다른 미디어 소스 애셋을 열도록 하고 있습니다.

  17. 레벨 블루프린트 를 닫고 플레이 버튼을 눌러 에디터에서 플레이합니다.

최종 결과

에디터에서 플레이 후 1 키를 누르면 플랫폼 미디어 소스에서 Windows 에 정의된 미디어가 열립니다.

이 프로젝트를 Android 디바이스에 디플로이한다면, Android 에 할당된 미디어 소스 애셋이 재생될 것입니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼