Коллеги, столкнулся с не очень тривиальной задачей. Очень нуждаюсь в ваших советах и подсказках.
ЧТО ЕСТЬ:
1. Человек - одна штука;
2. Программа на смартфоне (на базе андроид) - 1 штука;
3. В программе есть персонаж (да просто камера от первого лица) - этакий аватар нашего экземпляра человеческой особи в виртуальном мире;
4. Крутить головой за счет гироскопа научился, потому начал думать о движении
ЧТО НУЖНО:
Нужно, чтобы при движении человека вперед с смартфоном в руках, в приложении его персонаж двигался вперед по виртуальному миру без использования дополнительных контроллеров, наклонов аппарата (да да, я знаю что вы подумали об использовании акселерометра!) и какой-то иной "побочки".
ЧТО ПРОБОВАЛ:
1. Пробовал сделать аля покемонсы на основе gps, но без карты. Основано на LocationService: https://docs.unity3d.com/ScriptReference/LocationService.Start.html. Это пока единственное кривое решение, которое работает, но в помещении даже тестить такое невозможно, просто gps данные получаются раз в n-секунд, тогда и персонаж "телепортируется" в другую точку без видимости какого либо движения/перемещения;
2. Есть возможность использовать для движения наклон аппарата (задействуя акселерометр), но тогда можно играть и на диване, а это нарушает идею игры.
3. Пробовал wikitude;
4. Пробовал ARCore (но тут нет нужных мне решений);
5. Отмел Vuforia как хоть какой-то вариант;
6. Товарищ говорил: "А чего ты от акселерометра не хочешь получать направление и изменять координаты по нему?". Но кажется акселерометр такого не дает. Или?
ЧТО ЖЕЛАТЕЛЬНО:
1. В помещении тоже должно как-то работать в идеале;
2. Перемещение должно быть плавным, чтобы было ощущение синхронности движения игрока и персонажа в игре;
3. Можно и на gps, если это доделывается до уровня "да плавно и красиво можно научить работать";
4. Если акселерометр или гироскоп обладают тайными потенциалами получать направление и вообще давать импульс на движение вперед - раскройте плиз эти тайные знания;
5. Что-то дополнительное вводить для движения игрока (типа биконов или других доп. датчиков) не хотелось бы. Хочется, так сказать, андроидом в стоке воспользоваться.
МОЛЬБА О ПОМОЩИ:
Ну как, как можно заставить игрока идти, и персонажа в игре идти тоже, но внутри своего виртуального мира?