Version: 2017.4
커스텀 렌더 텍스처
3D 텍스처

무비 텍스처

무비 텍스처(Movie Textures) 는 비디오 파일로부터 생성되는 애니메이션 Textures 입니다. 비디오 파일을 프로젝트의 Assets Folder 에 저장하여 일반 텍스처를 사용하는 방법과 똑같은 방법으로 사용할 비디오를 임포트할 수 있습니다.

비디오 파일은 Apple QuickTime을 통해 임포트됩니다. 설치된 QuickTime에서 재생할 수 있는 파일 타입이 지원됩니다(일반적으로 .mov, .mpg, .mpeg, .mp4, .avi, .asf). Windows에서 동영상을 임포트하려면 QuickTime을 설치해야 합니다. Quicktime은 Apple Support Downloads에서 다운로드할 수 있습니다.

프로퍼티

무비 텍스처 Inspector 는 일반 Texture의 인스펙터와 매우 유사합니다.

비디오 파일은 Unity에서 무비 텍스처입니다.
비디오 파일은 Unity에서 무비 텍스처입니다.
프로퍼티: 기능:
Aniso Level 비스듬한 각도에서 텍스처를 볼 때 텍스처의 품질이 향상됩니다. 바닥이나 그라운드 텍스처에 적합합니다.
Filtering Mode 3D 변환을 통해 텍스처를 늘릴 때 텍스처가 필터링되는 방법을 선택합니다.
Loop 이 옵션을 활성화하면 동영상 재생이 완료된 후 반복됩니다.
Quality Ogg Theora 비디오 파일의 압축 비율입니다. 값이 높을수록 품질이 우수하지만 파일 크기가 커집니다.

세부 정보

프로젝트에 추가된 비디오 파일은 자동으로 임포트되고 Ogg Theora 포맷으로 변환됩니다. 임포트된 무비 텍스처는 일반 텍스처처럼 GameObject 또는 Material 에 연결할 수 있습니다.

동영상 재생

무비 텍스처는 게임 실행이 시작될 때 자동으로 재생되지 않습니다. 짧은 스크립트를 사용하여 재생할 시기를 설정해야 합니다.

// this line of code will make the Movie Texture begin playing
((MovieTexture)GetComponent<Renderer>().material.mainTexture).Play();


스페이스 바를 눌렀을 때 동영상 재생을 토글시키려면 다음 스크립트를 연결해야 합니다.

public class PlayMovieOnSpace : MonoBehaviour {
    void Update () {
        if (Input.GetButtonDown ("Jump")) {
            
            Renderer r = GetComponent<Renderer>();
            MovieTexture movie = (MovieTexture)r.material.mainTexture;
            
            if (movie.isPlaying) {
                movie.Pause();
            }
            else {
                movie.Play();
            }
        }
    }
}


무비 텍스처 재생에 대한 자세한 내용은 Movie Texture 스크립트 레퍼런스 페이지를 참조하십시오.

무비 오디오

무비 텍스처를 임포트할 때 오디오 트랙도 영상과 함께 임포트됩니다. 이 오디오는 무비 텍스처의 AudioClip 하위 오브젝트로 표시됩니다.

비디오의 오디오 트랙은 프로젝트 뷰에 무비 텍스처의 하위 오브젝트로 표시됨
비디오의 오디오 트랙은 프로젝트 뷰에 무비 텍스처의 하위 오브젝트로 표시됨

이 오디오를 재생하려면 오디오 클립을 여타 오디오 클립처럼 게임 오브젝트에 연결해야 합니다. 오디오 클립을 프로젝트 뷰에서 씬 뷰 또는 계층 구조 뷰에 있는 게임 오브젝트로 드래그해야 합니다. 일반적으로 이 게임 오브젝트는 동영상을 표시하는 게임 오브젝트와 동일합니다. 그런 다음, audio.Play()를 사용하여 동영상의 오디오 트랙이 비디오와 함께 재생되도록 해야 합니다.

iOS

무비 텍스처는 iOS에서 지원되지 않습니다. 대신 Handheld.PlayFullScreenMovie를 사용하여 전체 화면 스트리밍 재생이 제공됩니다.

프로젝트의 Assets 폴더에 있는 StreamingAssets 폴더에 비디오를 저장해야 합니다.

Unity iOS는 iOS 디바이스에서 올바르게 재생되는 즉, 확장자가 .mov, .mp4, .mpv, .3gp고 다음 압축 표준 중 하나를 사용하는 동영상 파일 타입을 지원합니다.

  • H.264 Baseline Profile Level 3.0 비디오
  • MPEG–4 Part 2 비디오

지원되는 압축 표준에 대한 자세한 내용은 iPhone SDK MPMoviePlayerController 클래스 레퍼런스를 참조하십시오.

Handheld.PlayFullScreenMovie를 호출하는 즉시 화면이 현재 콘텐츠에서 지정된 백그라운드 색으로 페이드됩니다. 동영상을 재생할 준비가 될 때까지 시간이 어느 정도 걸릴 수 있지만, 그동안 플레이어에 배경색이 계속 표시되고 동영상이 로드 중임을 사용자에게 알리는 진행 표시줄도 표시될 수 있습니다. 재생이 끝나면 화면이 콘텐츠로 다시 페이드됩니다.

비디오 플레이어가 비디오 재생 중에 음소거 전환을 무시함

상기 내용처럼 비디오 파일은 Apple의 내장 플레이어를 사용하여 재생됩니다(SDK 3.2와 iPhone OS 3.1.2 이전 기준). 이 플레이어에는 Unity가 음소거로 전환하는 것을 방지하는 버그가 있습니다.

비디오 플레이어가 디바이스 방향을 무시함

Apple 비디오 플레이어와 iPhone SDK는 비디오 방향을 조정하는 방법을 제공하지 않습니다. 일반적으로 각 동영상의 랜드스케이프 및 포트레이트 방향 복사본을 1개씩 총 2개를 수동으로 만드는 방법이 사용됩니다. 그러면 재생 전에 디바이스 방향을 확인하여 동영상의 올바른 버전을 선택할 수 있습니다.

Android

무비 텍스처는 Android에서 지원되지 않습니다. 대신 Handheld.PlayFullScreenMovie를 사용하여 전체화면 스트리밍 재생이 제공됩니다.

프로젝트의 Assets 폴더에 있는 StreamingAssets 폴더에 비디오를 저장해야 합니다.

Unity Android는 Android에서 지원되고 다음 압축 표준 중 하나를 사용한 동영상 파일 타입(즉 확장자가 .mp4.3gp인 파일)을 지원합니다.

  • H.263
  • H.264 AVC
  • MPEG–4 SP

그러나 디바이스 제조업체들이 이 리스트를 확장하기 위해 노력하고 있기 때문에 일부 Android 디바이스는 나열된 포맷 이외에 HD 비디오 같은 포맷도 재생할 수 있습니다.

지원되는 압축 표준에 대한 자세한 내용은 Android SDK 주요 미디어 포맷 문서를 참조하십시오.

Handheld.PlayFullScreenMovie를 호출하는 즉시 화면이 현재 콘텐츠에서 지정된 백그라운드 색으로 페이드됩니다. 동영상을 재생할 준비가 될 때까지 시간이 어느 정도 걸릴 수 있지만, 그동안 플레이어에 배경색이 계속 표시되고 동영상이 로드 중임을 사용자에게 알리는 진행 표시줄도 표시될 수 있습니다. 재생이 끝나면 화면이 콘텐츠로 다시 페이드됩니다.

커스텀 렌더 텍스처
3D 텍스처