Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Переход с MovieTexture на VideoPlayer

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

Чтобы помочь вам перейти с MovieTexture на VideoPlayer, на этой странице приведены примеры загрузки и воспроизведения фильма с использованием каждого компонента.

Воспроизведение фильма

Текстура фильма

using UnityEngine; public class PlayMovieMT : MonoBehaviour { public AudioClip movieAudioClip; public MovieTexture movieTexture; void Start() { var audioSource = gameObject.AddComponent(); audioSource.clip = movieAudioClip; } void Update() { if (Input.GetButtonDown("Jump")) { var audioSource = GetComponent(); GetComponent().material.mainTexture = movieTexture; if (movieTexture.isPlaying) { movieTexture.Pause(); audioSource.Pause(); } else { movieTexture.Play(); audioSource.Play(); } } } }

VideoPlayer

using UnityEngine; public class PlayMovieVP : MonoBehaviour { public UnityEngine.Video.VideoClip videoClip; void Start() { var videoPlayer = gameObject.AddComponent(); var audioSource = gameObject.AddComponent(); videoPlayer.playOnAwake = false; videoPlayer.clip = videoClip; videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.MaterialOverride; videoPlayer.targetMaterialRenderer = GetComponent(); videoPlayer.targetMaterialProperty = "_MainTex"; videoPlayer.audioOutputMode = UnityEngine.Video.VideoAudioOutputMode.AudioSource; videoPlayer.SetTargetAudioSource(0, audioSource); } void Update() { if (Input.GetButtonDown("Jump")) { var vp = GetComponent(); if (vp.isPlaying) { vp.Pause(); } else { vp.Play(); } } } }

Скачивание видео

MovieTexture

using UnityEngine; public class DownloadMovieMT : MonoBehaviour { void Start() { StartCoroutine(GetMovieTexture()); } IEnumerator GetMovieTexture() { using (var uwr = UnityWebRequestMultimedia.GetMovieTexture("https://myserver.com/mymovie.ogv")) { yield return uwr.SendWebRequest(); if (uwr.isNetworkError || uwr.isHttpError) { Debug.LogError(uwr.error); yield break; } MovieTexture movie = DownloadHandlerMovieTexture.GetContent(uwr); GetComponent().material.mainTexture = movie; movie.loop = true; movie.Play(); } } }

VideoPlayer

using UnityEngine; public class DownloadMovieVP : MonoBehaviour { void Start() { var vp = gameObject.AddComponent(); vp.url = "https://myserver.com/mymovie.mp4"; vp.isLooping = true; vp.renderMode = UnityEngine.Video.VideoRenderMode.MaterialOverride; vp.targetMaterialRenderer = GetComponent(); vp.targetMaterialProperty = "_MainTex"; vp.Play(); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3