렌더 텍스처
3D 텍스처

무비 텍스처

Movie Textures는 비디오 파일에서 만들어져 애니메이션 된 Texture입니다. 프로젝트 Assets 폴더에 동영상 파일을 배치하여 일반적으로 사용하는 Texture와 동일하게 사용할 수 있는 비디오를 임포트할 수 있습니다.

동영상 파일은 Apple 사의 QuickTime을 통해 가져옵니다. 지원되는 파일 형식은 설치된 QuickTime이 지원하는 것과 일치합니다 (일반적으로 .mov, .mpg, .mpeg, .mp4, .avi, .asf ). Windows에서 동영상이 임포트되기 위해서는 QuickTime이 설치되어 있어야 합니다. (여기에서 다운로드)

프로퍼티

Movie Textures Inspector는 보통의 Texture Inspector와 매우 비슷합니다.

유니티의 무비 텍스처에 있는 비디오 파일
유니티의 무비 텍스처에 있는 비디오 파일
프로퍼티: 기능:
Aniso Level 가파른 각도의 텍스처를 표시할 때, 텍스처의 질을 향상시킵니다. 바닥이나 땅의 텍스처에 적합합니다.
Filtering Mode Selects how the Texture is filtered when it gets stretched by 3D transformations
Loop If enabled, the movie will loop when it finishes playing
Quality Quality Ogg Theora 비디오 파일의 압축. 값이 더 높아지면 품질이 보다 높은 반면 파일 크기가 커집니다.

세부정보

비디오 파일이 프로젝트에 추가되면 자동으로 임포트되어, Ogg Theora 형식으로 변환됩니다. 일단 Movie Textures가 임포트하면, 일반 Texture처럼 어떤 GameObject 또는 Material에 연결할 수 있습니다.

동영상 재생

게임 실행 시작시, Movie Textures는 자동 재생되지 않습니다. 재생을 하는 스크립트를 준비해야 합니다.

// 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 Textures을 재생하는 방법에 대한 자세한 내용은 Movie Textures 스크립트 레퍼런스를 참조하십시오.

동영상 오디오

Movie Textures를 임포트하면, 영상과 함께 오디오 트랙도 임포트됩니다. 오디오는 Movie Textures의 AudioClip을 자식 오브젝트로 표시합니다.

비디오의 오디오 트랙은 Project View에서 Movie Textures의 자식 오브젝트로 표시됩니다.

이 오디오를 재생하려면, 다른 오디오 클립처럼 게임 오브젝트에 연결해야 합니다. Project View에서 씬 뷰 또는 계층 뷰의 모든 게임 오브젝트로 드래그합니다.일반적으로 동영상을 보여주고 있는 것과 같은 게임 오브젝트입니다. 그런 다음 audio.Play()를 사용하여 영상에 맞춰 오디오 트랙을 재생합니다.

iOS

Movie Textures는 iOS에서 지원되지 않습니다. 대신, Handheld.PlayFullScreenMovie를 사용하여 전체 화면 스트리밍이 제공됩니다.

프로젝트 디렉토리 Assets 폴더의 StreamingAssets 폴더에 동영상을 저장해야 합니다.

iOS 장치에서 제대로 재생할 수 있는 파일 형식은 Unity의 iOS에서 지원되기 때문에 (.mov, .mp4, .mpv, 그리고 .3gp)의 확장자와 다음 압축 표준을 지원합니다 :

  • H.264베이스 라인 프로파일 레벨 3.0 비디오
  • MPEG–4 Part 2 비디오

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

Handheld.PlayFullScreenMovie를 호출하면 화면은 현재의 콘텐츠에서 지정된 배경색으로 페이드 아웃합니다. 동영상을 재생할 수 있는 상태가 될 때까지 조금 시간이 걸릴 수 있어, 플레이어는 배경색을 계속 표시하고 있으며, 사용자가 동영상이 로드되어 있는지 시간이 걸릴 수 있지만 플레이어는 지정된 배경색으로 페이드 아웃합니다. 재생이 완료되면 화면은 원본 콘텐츠로 돌아가기 위해 페이드 백합니다.

비디오 플레이어는, 비디오 재생시 음소거 전환은 무시합니다

위에 써진것 처럼, 비디오 파일은 Apple의 내장 플레이어를 사용하여 재생됩니다. (SDK 3.2 및 iPhone OS 3.1.2 및 이전 버전)이 플레이어에 버그가 포함되어 있으며, Unity에서는 음소거로 전환할 수 없습니다.

비디오 플레이어는 장치의 방향을 무시합니다

애플 사 의 비디오 플레이어와 iPhone SDK는 비디오의 방향을 조정하는 방법을 제공하지 않습니다. 일반적인 접근 방식은 수동으로 각 동영상의 복제를 두 개, 가로 및 세로 방향으로 만들 것입니다. 이렇게 하면 장치의 방향을 재생 전에 판정함으로써 올바른 동영상을 선택하여 재생할 수 있습니다.

Android

Movie Textures는 Android에서 지원되지 않습니다. 대신, Handheld.PlayFullScreenMovie를 사용하여 전체 화면 스트리밍이 제공됩니다.

프로젝트 디렉토리 Assets 폴더의 StreamingAssets 폴더에 동영상을 저장해야 합니다.

iOS 장치에서 제대로 재생할 수 있는 파일 형식은 Unity의 iOS에서 지원되기 때문에 (.mov, .mp4, .mpv, 그리고 .3gp)의 확장자와 다음 압축 표준을 지원합니다 :

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

그러나, 장치 공급 업체에서 이 목록의 지원 범위는 확대하고 있으며, 그렇기에 일부 Android 장치는 HD 동영상 등의 열거된 것 이외의 포맷을 재생할 수 있습니다.

지원되고 있는 압축 규격에 대한 자세한 내용은 Android SDK를 참조하십시오. 코어 미디어 포맷의 문서

Handheld.PlayFullScreenMovie를 호출하면 화면은 현재의 콘텐츠에서 지정된 배경색으로 페이드 아웃합니다. 동영상을 재생할 수 있는 상태가 될 때까지 조금 시간이 걸릴 수 있어, 플레이어는 배경색을 계속 표시하고 있으며, 사용자가 동영상이 로드되어 있는지 시간이 걸릴 수 있지만 플레이어는 지정된 배경색으로 페이드 아웃합니다. 재생이 완료되면 화면은 원본 콘텐츠로 돌아가기 위해 페이드 백합니다.

렌더 텍스처
3D 텍스처