Есть ли способ отложить подачу видео с камеры мобильного телефона в Unity? - PullRequest
1 голос
/ 27 июня 2019

Я делаю проект, в котором вы должны иметь возможность изменить задержку, с которой отображается канал с камеры мобильного телефона, чтобы люди могли видеть, как их мозг обрабатывает задержку / задержку. Мне удалось показать канал камеры на холсте, который следует за камерой вокруг и заполняет весь вид Google Cardboard, но мне интересно, как я мог отложить этот видео канал. Возможно, используя какой-нибудь массив изображений?

Я пытался найти решения онлайн, но не нашел ответа. Я пробовал массив texture2D, но производительность была очень плохой (я пробовал модифицированную версию this ).

    private bool camAvailable;
    private WebCamTexture backCam;
    private Texture defaultBackground;

    public RawImage background;
    public AspectRatioFitter fit;


    // Start is called before the first frame update
    void Start()
    {
        defaultBackground = background.texture;
        WebCamDevice[] devices = WebCamTexture.devices;

        if (devices.Length == 0 )
        {
            Debug.Log("No camera detected");
            camAvailable = false;
            return;
        }

        for (int i = 0; i < devices.Length; i++)
        {
            if (!devices[i].isFrontFacing)
            {
                backCam = new WebCamTexture(devices[i].name, Screen.width, Screen.height); // Used to find the correct camera
            }
        }

        if (backCam == null)
        {
            Debug.Log("Unable to find back camera");
            return;
        }

        backCam.Play();
        background.texture = backCam;

        camAvailable = true;
    } //Tell me if this is not enough code, I don't really have a lot of experience in Unity, so I am unsure of how much is required for a minimal reproducible example

Должен ли я использовать какой-нибудь буфер кадров или массив изображений / текстур для задержки видео? (Начать «запись», подождать указанное количество времени, начать воспроизведение «видео» на экране)

Заранее спасибо!

...