U3D VideoPlayer воспроизводит видео и питы

В игре, которую я сделал недавно, мне нужно сыграть несколько секунд в названии студии LOGO. Видео, которое я получил, в формате AVI. Раньше я не использовал видео в U3D. Я думал, что это очень просто. ожидайте, что это будет 2022 год. U3D Воспроизведение видео отстой. . .

Лучший плагин - AVPro. Если у вас нет большого количества видео для воспроизведения, нет необходимости использовать плагины. Один дорогой, а другой очень большой.

Прежде всего, программное обеспечение для преобразования форматов, которое я использую, это Format Factory.При импорте различных форматов в U3D будут проблемы.После импорта его нельзя использовать или распознать.Я сделал его в формате OGV в начале.Редактор может можно использовать, а сторона ПК упакована. Больше не может отображаться. В последних различных экспериментах MPG4 можно использовать на стороне ПК.

1. Качество картинки должно быть не 4К, а то сильно застревает, должно быть ниже 2К, а если все-таки застряло, то уменьшите.

2. Для кодирования видео необходимо выбрать MPEG4, другие параметры нельзя импортировать в U3D.

Во-вторых, логика компонента U3D VideoPlayer заключается в том, что звук и изображение обрабатываются отдельно.

Сначала вешаем видео на этот компонент, потом выводим видео в RenderTexture, потом подходим к компоненту RawImage для принятия RenderTexture, если есть звук, то подключаем его к Audio Listener, у меня в видео нет звука, поэтому обработку звука я не делал не делай этого здесь.

RenderTexture можно создать с помощью правой кнопки мыши.

Видеофайлы можно размещать в StreamingAssets или Resources, нет требований, где они должны быть размещены.

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

videoPlayer.Play();  //播放
videoPlayer.Stop();  //停止
videoPlayer.Pause(); //暂停
videoPlayer.Prepare(); //准备
videoPlayer.targetTexture.Release(); //清除残留画面
videoPlayer.started //开始回调
videoPlayer.prepareCompleted //准备完成
videoPlayer.loopPointReached //结尾回调
videoPlayer.time = 5; //视频时间跳到多少秒

Подготовьтесь и подготовьтесь к завершению обратного вызова.Если видео относительно большое, я думаю, его следует сначала подготовить, затем перезвонить, а затем воспроизвести, чтобы оно не застряло. Поскольку мое видео длится всего несколько секунд, я не пробовал.

Supongo que te gusta

Origin blog.csdn.net/u012322710/article/details/128064050
Recomendado
Clasificación