первый: здесь есть две темы, которые довольно похожи, но один заканчивается тем, что устройство ошибочно, другие находятся на C API ... вот почему открывают новый вопрос ,Google Tango Update Listener onXyzIjAvailable Callback никогда не набирается
Я использую Google Tango SDK с jMonkeyEngine для научного приложения дополненной реальности. Пока все отлично работало. Но теперь я хотел бы использовать данные Point Cloud от Tango, которые передаются слушателю (класс: OnTangoUpdateListener). (Tango Depth Perception) Есть 4 метода:
- onPoseAvailable (TangoPoseData поза)
- onXyzIjAvailable (TangoXyzIjData xyzIj)
- onTangoEvent (TangoEvent arg0)
- onFrameAvailable (интермедиат arg0)
А.Н. 3 из них называются регулярно. Проблема заключается в следующем: onXyzIjAvailable никогда не вызывается, поэтому я не могу получить доступ к данным облака точек. Вот мой фрагмент кода, знаете ли вы, что я делаю неправильно или что я могу попробовать?
public class TangoUpdateListener implements OnTangoUpdateListener {
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj)
{
System.out.println("POINT CLOUD AVAILABLE");
Log.e("CLOUD", "CLOUD AVAILABLE");
}
}
Весь файл можно найти здесь: Pastebin
Спасибо за вашу помощь!
PS: Устройство работает безупречно с примером проекта. Это не проблема с оборудованием.
были вам удалось решить? посмотрите на http://stackoverflow.com/questions/31981756/project-tango-never-called-the-onxyzijavailable-callback для справки. – Nativ
Эта нить закончилась тем, что нож для резьбы вернул его танго, потому что он был неисправен. Однако я узнал, какая часть препятствует обратному вызову. Кажется, что PointCloudSensor нужна камера. Я даю камере вторую операцию, чтобы изображение камеры было в фоновом режиме для приложения дополненной реальности. Проблема в том, что только один вид деятельности может сразу получить доступ к камере ... Надеюсь, кто-то может помочь :) – Gem
Да, камера является единственным экземпляром, и только одно приложение/услуга/деятельность и так далее могут ее использовать. Для того, что я получил, вы можете получить Point Clould только при подключении объекта Tango к Renderer (и подключении этого средства визуализации к поверхности). Я не уверен, потому что я основываю это предположение только на своем опыте, а не на толпе. – Nativ