VideoAspectRatio
перечисление
Описание
Используйте эти методы, чтобы поместить видео в вашей целевой области.
Это перечисление даёт несколько вариантов управления тем, как VideoPlayer отрисовывает видео в целевую область. Для этого VideoPlayer подстраивает или сохраняет исходное соотношение сторон видео. Если вы отрисовываете видео в RenderTexture, и соотношение сторон экрана RenderTexture не совпадает с видео, которое рендируется, VideoPlayer автоматически добавляет черные полосы вокруг видео. Если вы рендеринг видео в Camera, любая область вокруг видео остается прозрачной.
// This script switches between the aspect ratios when you press the Spacebar. // To set up your project for this script: // 1. Attach this script to a GameObject in your Scene. // 2. Add a VideoPlayer component to your GameObject. // 3. Assign a VideoClip to your VideoPlayer.
using UnityEngine; using UnityEngine.Video;
public class VideoRenderModeExample : MonoBehaviour { VideoPlayer videoPlayer; void Start() { videoPlayer = GetComponent<VideoPlayer>();
// Make video play over the Scene. videoPlayer.renderMode = VideoRenderMode.CameraNearPlane; Camera mainCamera = Camera.main; videoPlayer.targetCamera = mainCamera;
// Loop the video. videoPlayer.isLooping = true;
// Set the default aspect ratio. videoPlayer.aspectRatio = VideoAspectRatio.Stretch;
// Play the video. videoPlayer.Play(); }
private void Update() { // If you press the Spacebar, cycle through the aspect ratios. if (Input.GetKeyDown(KeyCode.Space)) { VideoAspectRatio currentAspectRatio = videoPlayer.aspectRatio;
// Cycle through the enum values and loop back around. int nextAspectRatio = ((int)currentAspectRatio + 1) % System.Enum.GetValues(typeof(VideoAspectRatio)).Length;
// Apply the new aspect ratio. videoPlayer.aspectRatio = (VideoAspectRatio)nextAspectRatio;
Debug.Log($"Switched aspect ratio to: {videoPlayer.aspectRatio}"); } } }
Свойства
| Свойство | Описание |
|---|---|
| NoScaling | Сохранение размера пикселей без корректировки для целевой области. |
| FitVertically | Изменить размер изображения пропорционально так, чтобы высота соответствовала целевой области. |
| FitHorizontally | Изменить размер изображения пропорционально так, чтобы ширина соответствовала целевой области. |
| FitInside | Изменить размер изображения пропорционально так, чтобы содержимое вписывалось в целевую область. |
| FitOutside | Измените размер изображения пропорционально, так чтобы содержимое вписывалось в целевую область. VideoPlayer автоматически обрезает изображение, если это необходимо. |
| Stretch | Изменение размера изображения не пропорционально, чтобы вписаться в целевую область. |