Version: 2021.1
Custom Render Textures
3D textures

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 are animated Textures that Unity creates from a video file.

To create a Movie Texture, place a video file in your project’s Assets Folder. Unity uses this video file in the same way as a regular Texture.

Unity imports video files using Apple QuickTime. On Windows, you need to install Quicktime to import a video file. Download Quicktime from Apple Support Downloads. Unity supports the same file types as your QuickTime installation (usually .mov, .mpg, .mpeg, .mp4, .avi, .asf).

Свойства

The Movie Texture Inspector is similar to the Texture Inspector:

Video files are Movie Textures in Unity
Video files are Movie Textures in Unity
Свойство: Функция:
Aniso Level При обзоре текстуры под крутым углом качество текстуры визуально улучшается. Хорошо подходит для текстур полов и земли.
Filtering Mode Выбирается то,как текстура фильтруется во время растяжения объекта различными трансформациями.
Loop При включении, после завершения проигрывания, ролик будет повторяться.
Quality Компрессия видеофайла формата Ogg Theora. Высокие значения означают высокое качество, но больший размер файла.

Детали

When you add a video file to your Project, Unity automatically imports it and converts it to Ogg Theora format. Once Unity has imported your Movie Texture, you can attach it to any GameObject or Material in the same way as a regular Texture.

Playing the Movie

Ваша анимированная текстура не будет автоматически проигрываться при запуске игры. У вас должен быть небольшой скрипт, который укажет ей когда воспроизвестись.

// 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)

Movie Audio

When you import a Movie Texture, Unity also imports the accompanying audio track. This audio appears as an AudioClip child of the Movie Texture.

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

To play this audio, the Audio Clip must be attached to a GameObject. Drag the Audio Clip from the Project View onto any GameObject in the Scene or Hierarchy View. Usually, this will be the same GameObject that is showing the Movie. Then use AudioSource.Play() to make the the movie’s audio track play along with its video.

iOS

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

Keep your videos inside the StreamingAssets folder located in the Assets folder of your project.

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

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

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

As soon as you call Handheld.PlayFullScreenMovie the screen fades from your current content to the designated background color. It might take some time before the movie is ready to play. In the meantime, the player continues displaying the background color and may also display a progress indicator to let the user know the movie is loading. When playback finishes, the screen fades back to your content.

The video player does not respect switching to mute while playing videos

Unity plays video files using Apple’s embedded player (as of SDK 3.2 and iPhone OS 3.1.2 and earlier). This contains a bug that prevents Unity from switching to mute.

The video player does not respect the device’s orientation

The Apple video player and iPhone SDK do not provide a way to adjust the orientation of the video. To fix this, you can manually create two copies of each movie in landscape and portrait orientations. Then, the orientation of the device can be determined before playback so the right version of the movie can be chosen.

Android

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

Keep your videos inside the StreamingAssets folder located in the Assets folder of your project.

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

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

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

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

As soon as you call Handheld.PlayFullScreenMovie the screen fades from your current content to the designated background color. It might take some time before the movie is ready to play. In the meantime, the player continues displaying the background color and may also display a progress indicator to let the user know the movie is loading. When playback finishes, the screen fades back to your content.

Custom Render Textures
3D textures