참고: MovieTexture는 향후 Unity 버전에서 지원이 중단됩니다. 동영상을 다운로드하고 재생하려면 VideoPlayer를 사용해야 합니다.
무비 텍스처 는 Unity가 비디오 파일에서 생성하는 애니메이션화된 텍스처 입니다.
무비 텍스처를 생성하려면 프로젝트의 Assets 폴더 에 비디오 파일을 넣으십시오. Unity는 이 비디오 파일을 일반 텍스처와 동일한 방식으로 사용합니다.
Unity는 Apple QuickTime을 사용하여 비디오 파일을 임포트합니다. Windows에서는 Quicktime을 설치하여 비디오 파일을 임포트해야 합니다. Apple 지원 다운로드에서 Quicktime을 다운로드하십시오. Unity는 QuickTime 설치와 동일한 파일 타입(대개 .mov, .mpg, .mpeg, .mp4, .avi, .asf)을 지원합니다.
무비 텍스처 인스펙터 는 텍스처 인스펙터와 유사합니다.
프로퍼티 | 기능 |
---|---|
Aniso Level | 비스듬한 각도에서 텍스처를 볼 때 텍스처의 품질이 향상됩니다. 바닥이나 그라운드 텍스처에 적합합니다. |
Filtering Mode | 3D 변환을 통해 텍스처를 늘릴 때 텍스처가 필터링되는 방법을 선택합니다. |
Loop | 이 옵션을 활성화하면 동영상 재생이 완료된 후 반복됩니다. |
Quality | Ogg Theora 비디오 파일의 압축 비율입니다. 값이 높을수록 품질이 우수하지만 파일 크기가 커집니다. |
프로젝트에 비디오 파일을 추가하면 Unity는 해당 파일을 자동으로 임포트한 후 Ogg Theora 포맷으로 전환합니다. Unity가 무비 텍스처를 임포트하면 일반 텍스처와 동일한 방식으로 게임 오브젝트 또는 머티리얼 에 연결할 수 있습니다.
무비 텍스처는 게임 실행이 시작될 때 자동으로 재생되지 않습니다. 짧은 스크립트를 사용하여 재생할 시기를 설정해야 합니다.
// 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 스크립트 레퍼런스 페이지를 참조하십시오.
무비 텍스처를 임포트하면 Unity는 함께 제공되는 오디오 트랙도 임포트합니다. 이 오디오는 무비 텍스처의 AudioClip 자식으로 표시됩니다.
이 오디오를 재생하려면 오디오 클립을 게임 오브젝트에 연결해야 합니다. 오디오 클립을 프로젝트 뷰에서 씬 뷰 또는 계층 구조 뷰에 있는 게임 오브젝트로 드래그해야 합니다. 일반적으로 이 게임 오브젝트는 동영상을 표시하는 게임 오브젝트와 동일합니다. 그런 다음, AudioSource.Play()를 사용하여 동영상의 오디오 트랙이 비디오와 함께 재생되도록 해야 합니다.
무비 텍스처는 iOS에서 지원되지 않습니다. 대신 Handheld.PlayFullScreenMovie를 사용하여 전체 화면 스트리밍 재생이 제공됩니다.
프로젝트의 Assets 폴더에 있는 StreamingAssets 폴더에 비디오를 저장해야 합니다.
Unity iOS는 iOS 디바이스에서 올바르게 재생되는 즉, 확장자가 .mov, .mp4, .mpv, .3gp고 다음 압축 표준 중 하나를 사용하는 동영상 파일 타입을 지원합니다.
지원되는 압축 표준에 대한 자세한 내용은 iPhone SDK MPMoviePlayerController 클래스 레퍼런스를 참조하십시오.
Handheld.PlayFullScreenMovie를 호출하는 즉시 화면이 현재 콘텐츠에서 지정된 백그라운드 색으로 페이드됩니다. 동영상을 재생할 준비가 될 때까지 시간이 어느 정도 걸릴 수 있습니다. 그동안 플레이어에 배경색이 계속 표시되고 동영상이 로드 중임을 사용자에게 알리는 진행 표시줄도 표시될 수 있습니다. 재생이 끝나면 화면이 콘텐츠로 다시 페이드됩니다.
Unity는 Apple의 내장 플레이어를 사용하여 비디오 파일을 재생합니다(SDK 3.2와 iPhone OS 3.1.2 이전 기준). 이 플레이어에는 Unity가 음소거로 전환하는 것을 방지하는 버그가 있습니다.
Apple 비디오 플레이어와 iPhone SDK는 비디오 방향을 조정하는 방법을 제공하지 않습니다. 이 문제를 해결하기 위해 각 동영상의 랜드스케이프 및 세로 방향 복사본을 1개씩 총 2개를 수동으로 만들 수 있습니다. 그러면 재생 전에 기기 방향을 확인하여 동영상의 올바른 버전을 선택할 수 있습니다.
무비 텍스처는 Android에서 지원되지 않습니다. 대신 Handheld.PlayFullScreenMovie를 사용하여 전체화면 스트리밍 재생이 제공됩니다.
프로젝트의 Assets 폴더에 있는 StreamingAssets 폴더에 비디오를 저장해야 합니다.
Unity Android는 Android에서 지원되고 다음 압축 표준 중 하나를 사용한 동영상 파일 타입(즉 확장자가 .mp4 및 .3gp인 파일)을 지원합니다.
그러나 디바이스 제조업체들이 이 리스트를 확장하기 위해 노력하고 있기 때문에 일부 Android 디바이스는 나열된 포맷 이외에 HD 비디오 같은 포맷도 재생할 수 있습니다.
지원되는 압축 표준에 대한 자세한 내용은 Android SDK 주요 미디어 포맷 문서를 참조하십시오.
Handheld.PlayFullScreenMovie를 호출하는 즉시 화면이 현재 콘텐츠에서 지정된 백그라운드 색으로 페이드됩니다. 동영상을 재생할 준비가 될 때까지 시간이 어느 정도 걸릴 수 있습니다. 그동안 플레이어에 배경색이 계속 표시되고 동영상이 로드 중임을 사용자에게 알리는 진행 표시줄도 표시될 수 있습니다. 재생이 끝나면 화면이 콘텐츠로 다시 페이드됩니다.