Войти
UnityФорумПрограммирование

Привязка 3D карты к реальной и GPS?

#0
14:42, 16 мар. 2020

Коллеги,

А кто-то работал с подобной задачей: сделать отображение объектов - пусть машин, для простоты - на 3D карте с привязкой к реальной и GPS? Можно ли, по факту, присобачить API Гуглокарт или Яндекса?

Спасибо.

P.S. Нет, это не создание приложения такси в 3D ))


#1
16:59, 16 мар. 2020

Вообще тема очень интересная и как по мне актуальная. Двигаюсь в этом направление, но пока нет ничего существенного, что можно было показать или рассказать.
Минимальная идея такова - есть нейронка, для распознования картинки\видео, есть 3Д мир на Юнити. Нейронка распознает объекты, отправляет данные и по ним генерируется необходимые коллайдеры, если их нет. Задача - оптимизация распознования и хранения модели окружаещего мира.
В данный момент разбираюсь с нейронными сетями, изучаю теорию по всем фронтам, что уже было сделано, что можно сделать, пытаюсь сгенерировать свой алгоритм сети.
Пока не находил материалов по этой теме вообще, беседовал с коллегами, кто работал с алгоритмами для дополненной реальности, они тоже в этом направлении не двигаются, поэтому ничего узнать не удалось. В основном все пытаются искать якорные точки, ну и острая проблема у многих - это расчет кватернионов для объектов.
А если брать идею с сгенерированным 3Д миром + данные камеры + гироскоп - то кватернион нужно считать только для наблюдателя, тут может получится большая оптимизация по идее.
Еще момент, что сильной синхронизации с внешними АПИ карт не понадобится.

В общем, если кто тут отпишется по теме, то буду тоже очень рад:)

#2
18:22, 16 мар. 2020

DenBraun

А зачем изобретать велосипед и не использовать как минимум два существующих API. Чисто спортивный интерес? В безликом районе из новостроек нейросети визуально отталкиваться будет не от чего.

Так что интересует решение на API, получалось ли у кого что-то толковое.

#3
19:08, 16 мар. 2020

Я наверное просто не понял для чего вам это надо, сори:)

Arxetmare
> А зачем изобретать велосипед и не использовать как минимум два существующих
> API. Чисто спортивный интерес?
Да, пока спортивный интерес, и это чуть другой уже велосипед для ориентирования
Arxetmare
> В безликом районе из новостроек

Arxetmare
> нейросети визуально отталкиваться будет не от чего.
Как это не от чего, как минимум камера и микрофон есть, гироскоп, gps, синхронизируем с АПИ карт.
Потом получаем данные нашего 3Д мира и наше положение там, дальше уже миксуем миры:)

#4
19:52, 16 мар. 2020

DenBraun

Мне надо привязать 3D скан района города к GPS

#5
20:01, 16 мар. 2020
GeographicLib::Math::real a = GeographicLib::Constants::WGS84_a();
GeographicLib::Math::real f = GeographicLib::Constants::WGS84_f();
GeographicLib::Geocentric earth(a, f);
coordSystem = new GeographicLib::LocalCartesian(earth);
  
void Scene::SetCoordOrigin(double lat, double lon, double height)
{
  LOG_INFO("SetCoordOrigin lat=%f lon=%f height=%f", lat, lon, height);
  coordOrigin.set(lat, lon, height);
  coordSystem->Reset(lat, lon, height);
}

Vec3d Scene::GeoToLocal(const Vec3d& geo)
{
  Vec3d out;
  coordSystem->Forward(geo.x, geo.y, geo.z, out.x, out.y, out.z);
  Vec3d pos(out.x * 100.0, out.y * -100.0, out.z * 100.0);
  return pos;
}

Vec3d Scene::LocalToGeo(const Vec3d& local)
{
  Vec3d out;
  coordSystem->Reverse(local.x * 0.01, local.y * -0.01, local.z * 0.01, out.x, out.y, out.z);
  return out;
}
UnityФорумПрограммирование

Тема в архиве.