Как случайным образом отображать несколько видео с помощью одного целевого изображения

#unity3d #augmented-reality #vuforia

#unity3d #дополненная реальность #vuforia

Вопрос:

Я пытаюсь отображать случайное видео из группы видео каждый раз, когда AR-камера распознает маркер. Я знаю, что вы можете распознавать несколько маркеров, но я хочу отображать другое видео каждый раз, когда вы касаетесь экрана или каждый раз, когда он распознает маркер (скажем, вы отводите взгляд, а затем поворачиваетесь к нему).

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

Ответ №1:

Попробуйте это решение: сначала добавьте все видеоролики как дочерние к целевому изображению

в событии OnTrackinFound попробуйте следующее: 1- сгенерируйте случайный индекс между 0 и длиной ваших видеороликов, затем включите дочерний объект с этим случайным индексом и отключите остальные. 2- в событии OnTrackingLost установлено значение (false) для всех дочерних элементов целевого изображения.

Ответ №2:

Создайте игровой объект под названием VideoController. В видеоконтроллере создайте список MovieTexture и добавьте свои видеоролики в список. Создайте плоскость с компонентом VideoPlayer в качестве дочернего элемента ImageTarget.

В компоненте DefaultTrackableEventHandler целевого изображения найдите функцию с именем OnTrackingFound. Вызывается при обнаружении целевого изображения. Используйте встроенную функцию C # random или Random от Unity.Функция Range для генерации случайного числа в диапазоне от 0 до (n-1)-го элемента списка. Используйте это значение, чтобы добавить текстуру видео к плоскости.

Подробнее читайте здесь:

https://docs.unity3d.com/Manual/class-MovieTexture.html
https://docs.unity3d.com/ScriptReference/Video.VideoPlayer.html

Дайте мне знать, если у вас возникнут какие-либо проблемы.