2016-05-24 14 views
1

Добрый день.Unity C# устройство перемещение направления движения

Я хочу сделать приложение, которое находится очень близко к движению устройства.

В примере: Если устройство движется назад, объект 3D единства должен двигаться назад, если вперед, то объект движется вперед в трехмерной среде, затем тот же и для левого и правого.

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

Благодарим вас заблаговременно.

+0

Но вы делаете именно это с помощью акселерометра. Вы также можете попробовать гироскоп. На самом деле это очень просто - одна строка кода. пожалуйста, Google, поскольку есть тысячи примеров. – Fattie

+0

Никто не имеет понятия? –

+0

Это абсолютно невозможно узнать * абсолютно * точную точку в пространстве устройства - конечно. Если вы думаете о чем-то подобном, просто забудьте об этом и сделайте что-нибудь еще. – Fattie

ответ

1

Комментарий Jow Blow правильный: акселерометр дает ускорение (вы не говорите). Наклон можно найти по величине ускорения, но другие движения также будут видны. Если вы остановитесь и начнете двигаться вперед, ваше значение акселерометра покажет его (поскольку вы ускоряетесь).

Нет устройства, которое будет измерять, если вы двигаетесь вперёд с постоянной скоростью на своем телефоне. Если вы знаете немного физики, вы обнаружите более очевидное, почему акселерометр не работает: поскольку постоянная скорость означает, что результат сил равен нулю. Таким образом, нет никакой силы для обнаружения.

Если вам необходимо определить постоянную скорость и планировать движение на довольно большом расстоянии, вы можете попробовать использовать позицию GPS, но если вам нужна высокая точность, вы не сможете сделать это со стандартным устройство.

Забудьте об обнаружении движения с постоянной скоростью на небольшом расстоянии легко. Решением может быть обнаружение ускорения и оценка направления и скорости, получаемой от него (скорость = время * ускорение). Этот метод не будет действительно точным, поскольку любая ошибка будет складываться, но это может быть достаточно.

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