Version: 5.3 (switch to 5.4b)
Render Texture
3D Текстуры

Анимированная текстура (Movie Texture)

Movie Textures это анимированные Textures, созданные из видео файлов. Перемещая видео файл в папку Assets Folder вашего проекта, вы можете использовать импортированное видео как обычную текстуру.

Видео файлы импортируются через Apple QuickTime. Форматы файлов, которые может воспроизводить QuickTime (обычно .mov, .mpg, .mpeg, .mp4, .avi, .asf). При импортировании видео на Windows, требуется иметь предустановленный в системе Quicktime проигрыватель (скачать здесь).

Свойства

Анимированная текстура Inspector очень похожа на обычную текстуру.

Видео файлы в Unity являются анимированными текстурами
Видео файлы в Unity являются анимированными текстурами
Свойство: Функция:
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 этой анимированной текстуры.

![Аудио дорожка видео появляется в обозревателе проекта в качестве потомка данной анимированной текстуры (../uploads/Main/MovieTextureAudio.png)

Для воспроизведения звука, данный отрезок аудио должен быть назначен игровому объекту, точно также как и любой другой отрезок аудио. Перетащите отрезок аудио из обозревателя проекта на игровой объект, находящийся в окне иерархии или на сцене. Как правило, этот игровой объект будет похож на тот, который может воспроизводить видео. Затем воспользуйтесь audio.Play(), чтобы запустить синхронное воспроизведение аудио вместе с видео дорожкой.

iOS

Анимированные текстуры не поддерживаются на IOS. Вместо этого можно включить поддержку полноэкранного воспроизведения, используя Handheld.PlayFullScreenMovie.

Вам нужно хранить свои видео внутри папки StreamingAssets, находящейся в папке Assets вашего проекта.

Unity iOS поддерживает любой тип видео файлов, которые на нём безошибочно воспроизводятся, допуская такие форматы файлов как .mov, .mp4, .mpv, и .3gp и используя один из следующих стандартов сжатия данных:

  • H.264 Baseline Profile Level 3.0 video
  • MPEG–4 Part 2 video

Чтобы получить больше информации о поддерживаемых стандартах сжатия, ознакомьтесь с iPhone SDK руководство по классу MPMoviePlayerController.

Как только вы вызовите функцию Handheld.PlayFullScreenMovie экран плавно сменит показ содержимого вашего телефона на цвет заднего фона. Прежде чем видео начнёт своё воспроизведение, может потребоваться некоторое время на его загрузку, в течение которого на экране может появиться индикатор загрузки, а его цвет по прежнему будет цвета заднего фона. По окончании воспроизведения экран вновь отобразит содержимое вашего телефона.

Видео проигрыватель не поддерживает во время воспроизведения переключение в немой режим

Как было подчёркнуто выше, видео файлы воспроизводятся при помощи встроенного проигрывателя Apple(такого как на SDK 3.2 и iPhone OS 3.1.2 и более ранних). В нём содержится ошибка, не позволяющая Unity переключаться в немой режим.

Видео проигрыватель не поддерживает смену ориентации устройства.

Видео проигрыватель Apple и iPhone SDK не поддерживают настройку ориентации видео. Решить эту проблему можно только если вручную создать 2 копии одного и того же видео файла, с альбомной и портретной ориентацией соответственно. Затем перед воспроизведением файла, можно определить ориентацию самого устройства, чтобы была воспроизведена нужная версия файла.

Андроид

Анимированные текстуры не поддерживаются Android платформой. Вместо этого можно включить поддержку полноэкранного воспроизведения, используя Handheld.PlayFullScreenMovie.

Вам нужно хранить свои видео внутри папки StreamingAssets, находящейся в папке Assets вашего проекта.

Unity Android поддерживает любой тип видео файлов поддерживаемых платформой Android (т.е. такие форматы файлов как .mp4 and .3gp) и используя один из следующих стандартов сжатия данных:

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

Однако поставщики устройств работают над расширением данного списка, чтобы Android устройства могли воспроизводить форматы не перечисленные в данном списке, например такие как HD видео.

Для более подробной информации по поддерживаемым стандартам сжатия данный, ознакомтесь с Android SDK документация по основным медиа форматам.

Как только вы вызовите функцию Handheld.PlayFullScreenMovie экран плавно сменит показ содержимого вашего телефона на цвет заднего фона. Прежде чем видео начнёт своё воспроизведение, может потребоваться некоторое время на его загрузку, в течение которого на экране может появиться индикатор загрузки, а его цвет по прежнему будет цвета заднего фона. По окончании воспроизведения экран вновь отобразит содержимое вашего телефона.

Render Texture
3D Текстуры