Note: MovieTexture is due to be deprecated in a future version of Unity. You should use VideoPlayer for video download and movie playback.
Movie Textures это анимированные Textures, созданные из видео файлов. Перемещая видео файл в папку Assets Folder вашего проекта, вы можете использовать импортированное видео как обычную текстуру.
Video files are imported via Apple QuickTime. Supported file types are what your QuickTime installation can play (usually .mov, .mpg, .mpeg, .mp4, .avi, .asf). On Windows, movie importing requires Quicktime to be installed. Download Quicktime from Apple Support Downloads.
Анимированная текстура Inspector очень похожа на обычную текстуру.
Свойство: | Функция: |
---|---|
Aniso Level | При обзоре текстуры под крутым углом качество текстуры визуально улучшается. Хорошо подходит для текстур полов и земли. |
Filtering Mode | Выбирается то,как текстура фильтруется во время растяжения объекта различными трансформациями. |
Loop | При включении, после завершения проигрывания, ролик будет повторяться. |
Quality | Компрессия видеофайла формата Ogg Theora. Высокие значения означают высокое качество, но больший размер файла. |
При добавлении в проект видеофайла, он будет автоматически импортирован и преобразован в формат__Ogg Theora__ format. Сразу, после импорта анимированной текстуры, вы можете назначить её любой GameObject или Material, точно также как и любую обычную текстуру.
Ваша анимированная текстура не будет автоматически проигрываться при запуске игры. У вас должен быть небольшой скрипт, который укажет ей когда воспроизвестись.
// this line of code will make the Movie Texture begin playing
((MovieTexture)GetComponent<Renderer>().material.mainTexture).Play();
Назначьте необходимый скрипт параметру “включить воспроизведение текстуры”(toggle Movie playback) после нажатия пробела:
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();
}
}
}
}
Для более подробной информации по воспроизведению анимированных текстур, посетите страницу [руководства по скритингу анимированных текстур(../ScriptReference/MovieTexture.html)
При импорте анимированной текстуры, будет импортирована также и аудио составляющая, дополняющая визуальную составляющую данного видео. Данное аудио представляет из себя потомка AudioClip этой анимированной текстуры.
Для воспроизведения звука, данный отрезок аудио должен быть назначен игровому объекту, точно также как и любой другой отрезок аудио. Перетащите отрезок аудио из обозревателя проекта на игровой объект, находящийся в окне иерархии или на сцене. Как правило, этот игровой объект будет похож на тот, который может воспроизводить видео. Затем воспользуйтесь audio.Play(), чтобы запустить синхронное воспроизведение аудио вместе с видео дорожкой.
Анимированные текстуры не поддерживаются на IOS. Вместо этого можно включить поддержку полноэкранного воспроизведения, используя Handheld.PlayFullScreenMovie.
Unity iOS поддерживает любой тип видео файлов, которые на нём безошибочно воспроизводятся, допуская такие форматы файлов как .mov, .mp4, .mpv, и .3gp и используя один из следующих стандартов сжатия данных:
Чтобы получить больше информации о поддерживаемых стандартах сжатия, ознакомьтесь с iPhone SDK руководство по классу MPMoviePlayerController.
Как только вы вызовите функцию Handheld.PlayFullScreenMovie экран плавно сменит показ содержимого вашего телефона на цвет заднего фона. Прежде чем видео начнёт своё воспроизведение, может потребоваться некоторое время на его загрузку, в течение которого на экране может появиться индикатор загрузки, а его цвет по прежнему будет цвета заднего фона. По окончании воспроизведения экран вновь отобразит содержимое вашего телефона.
Как было подчёркнуто выше, видео файлы воспроизводятся при помощи встроенного проигрывателя Apple(такого как на SDK 3.2 и iPhone OS 3.1.2 и более ранних). В нём содержится ошибка, не позволяющая Unity переключаться в немой режим.
Видео проигрыватель Apple и iPhone SDK не поддерживают настройку ориентации видео. Решить эту проблему можно только если вручную создать 2 копии одного и того же видео файла, с альбомной и портретной ориентацией соответственно. Затем перед воспроизведением файла, можно определить ориентацию самого устройства, чтобы была воспроизведена нужная версия файла.
Анимированные текстуры не поддерживаются Android платформой. Вместо этого можно включить поддержку полноэкранного воспроизведения, используя Handheld.PlayFullScreenMovie.
Unity Android поддерживает любой тип видео файлов поддерживаемых платформой Android (т.е. такие форматы файлов как .mp4 and .3gp) и используя один из следующих стандартов сжатия данных:
Однако поставщики устройств работают над расширением данного списка, чтобы Android устройства могли воспроизводить форматы не перечисленные в данном списке, например такие как HD видео.
Для более подробной информации по поддерживаемым стандартам сжатия данный, ознакомтесь с Android SDK документация по основным медиа форматам.
Как только вы вызовите функцию Handheld.PlayFullScreenMovie экран плавно сменит показ содержимого вашего телефона на цвет заднего фона. Прежде чем видео начнёт своё воспроизведение, может потребоваться некоторое время на его загрузку, в течение которого на экране может появиться индикатор загрузки, а его цвет по прежнему будет цвета заднего фона. По окончании воспроизведения экран вновь отобразит содержимое вашего телефона.