Version: 2018.2
Custom Render Textures
3D Текстуры

Movie Textures

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 очень похожа на обычную текстуру.

Video files are Movie Textures in Unity
Video files are Movie Textures in 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 этой анимированной текстуры.

The videos audio track appears as a child of the Movie Texture in the Project View
The video’s audio track appears as a child of the Movie Texture in the Project View

Для воспроизведения звука, данный отрезок аудио должен быть назначен игровому объекту, точно также как и любой другой отрезок аудио. Перетащите отрезок аудио из обозревателя проекта на игровой объект, находящийся в окне иерархии или на сцене. Как правило, этот игровой объект будет похож на тот, который может воспроизводить видео. Затем воспользуйтесь 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 экран плавно сменит показ содержимого вашего телефона на цвет заднего фона. Прежде чем видео начнёт своё воспроизведение, может потребоваться некоторое время на его загрузку, в течение которого на экране может появиться индикатор загрузки, а его цвет по прежнему будет цвета заднего фона. По окончании воспроизведения экран вновь отобразит содержимое вашего телефона.

Custom Render Textures
3D Текстуры