2014-12-27 4 views

ответ

2

Причина замедления заключается в копировании нескольких буферов на данные байта изображения. В настоящее время API позволяет указать желаемое разрешение. Независимо от того, что вы делаете на стороне Unity, этот способ получения видеоизображения всегда будет медленным и экспериментальным.

Если вы не используете информацию о глубине в своем приложении, вы все равно можете использовать встроенные функции для захвата наложения в Unity. Это связано с тем, что использование поставщика глубины заставляет API-интерфейсы Tango потреблять камеру, поэтому никакие другие приложения не могут получить к ней доступ.

+0

Да, я уже это заметил. У вас есть успех с TangoService_connectTextureId? – DikobrAz

+0

Это не сработает в Unity. Он не будет работать с Texture/Texture2d и требует расширения OpenGL и формата текстуры, которые они в настоящее время не поддерживают. –

1

Вы можете использовать WebCamTexture, чтобы помещать видеопоток в текстуру, которая настолько мала, насколько вы хотите. Я бы подумал, что небольшая текстура заставит fps спуститься, так как планшету придется больше работать, чтобы сжать канал камеры. Естественное разрешение, скорее всего, будет самым быстрым. Существует запрошенная переменная FPS, которая может помочь. http://docs.unity3d.com/ScriptReference/WebCamTexture.html

Общая оптимизация для android или даже tegra k1 также может помочь. http://www.slideshare.net/AlexanderDolbilov/google-i-o-2014

+0

Спасибо, но, к сожалению, WebCamTexture не работает с поставщиком глубины танго. После того, как вы начнете использовать его, перестает быть вызван обратный вызов глубины. – DikobrAz

+0

Это правда, потому что они потребляют одно и то же аппаратное обеспечение камеры. когда Unity заняла камеру, Tango Service потеряла возможность взять ее снова, если Unity не выпустит ее. –

Смежные вопросы