Unity - как поворачивать и полноэкранное видео, воспроизводиться с помощью VideoPlayer API на RawImage

Поскольку MovieTexture устарел после Unity 5.6.0b1, я использую VideoPlayer Api для воспроизведения видео по RawImage для Android, используя ссылку здесь. Я пытаюсь добавить переключатель, чтобы переключиться с начального размера видео, воспроизводимого над текстурой RawImage, на полный экран и вернуться к оригиналу после остановки видео.

У меня есть отлично воспроизводимое видео, и до сих пор я могу изменить преобразование видео, чтобы растянуть его на весь экран с помощью этого кода.

void Update () {
    if (Input.GetButtonDown("Jump"))
    {
        image.rectTransform.offsetMax = Vector2.Lerp(Vector2.up, Vector2.down, 100);
        image.rectTransform.offsetMin = Vector2.Lerp(Vector2.left, Vector2.right, 100);
        image.rectTransform.rotation = Quaternion.AngleAxis(Mathf.Lerp(0f, 90f, 50), Vector3.forward);
    }
}

Первые две строки внутри блока if способны к полноэкранному режиму RawImage, на котором воспроизводится видео эффект, показанный в разделе 2 изображения. Здесь docs для Vector2.

Для третьей строки кода вращения я взял ссылку на эту дискуссию на форуме Unity, но все же я не получаю эффекта, поскольку я хотел привести к разделу 3. Я хотел повернуть содержимое RawImage, но я вращаю сам RawImage, возможно, потому, что ссылка не описывает поворот содержимого.

Может ли кто-нибудь помочь мне узнать, как я могу его решить. Если это помогает версии Unity, которую я использую, это Unity 5.6.0b11 Beta, и загрузите образец проекта, если вы хотите протестировать его на своем устройстве. Unity Video Player.zip 18.33MB Вы также можете следить за этим видеоуроком по новым VideoPlayer из YouTube.

Полный экран и поворот видео, воспроизводимого с помощью Unity VideoPlayer на RawImage

Обновление 1

Пока что единственное, что я получил, я пробовал только с кодом вращения и удалив первые две строки внутри блока if, я смог повернуть видео, но когда я пытаюсь растянуть RawImage, это растягивается за пределы экрана. Смотрите здесь изображение

Обновление 2

После многих исследований, хитов и испытаний. Я, наконец, сделал полноэкранный режим и поворот RawImage, чтобы воспроизводить полноэкранные видео на Unity с помощью этого кода.

image.rectTransform.offsetMin = new Vector2(-560, 560);            
image.rectTransform.offsetMax = new Vector2(560, -560);

Но, как вы видите, значения, которые я предоставляю для вектора, являются статическими числами и не гарантируют работу с несколькими размерами экрана. Ну, вращение RawImage сбивало с толку, когда ось вращается вместе с RawImage, но некоторые компоненты не изменялись и не менялись, а при изменении значений смещения RawImage менял его значение в отношении более старого Rect (я действительно не знаю, что происходит здесь). введите описание изображения здесь

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

введите описание изображения здесь

Как я попытался исправить проблему? [Ошибка]

Я попытался решить проблему по-новому, я создал новый RawImage, который подходит к холсту и уже повернут и прикреплен к script StreamVideo.cs как предыдущий RawImage. Первоначально он находится в неактивном режиме и переключается на активный, когда пользователь вводит команду в полноэкранный режим. Когда он переходит в полноэкранный режим, видео воспроизводится в новом RawImage.

public void playFullScreen() {
    isFullScreen = true;
    imageFullScreen.gameObject.SetActive(true);
    imageFullScreen.texture = videoPlayer.texture;
    image.gameObject.SetActive(false);
}

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

Резюме:

Глядя на обновление 2, я могу играть, пауза, полный экран и поворачивать видео, но с помощью простых числовых значений на offsetMax и offsetMin. Я пытаюсь узнать, есть ли способ оценить это значение с помощью script, чтобы соответствовать нескольким размерам экрана. Я знаю, что это может показаться простым, но сложная часть - для экрана моей потребности, ссылка на предоставленное мной значение работает так. Обратите внимание на пунктирный прямоугольник на картинке. введите описание изображения здесь