Работа с гироскопом в моб. устройствах
|
|
romeo98 | Дата: Вторник, 05 Августа 2014, 22:47 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Добрый вечер! Сегодня, передо мной явилась задача сделать управление с помощью гироскопа в моб. устройстве. Я не очень понимаю, как работает эта штука и прошу помощи! Нашел функцию: Input.gyro.userAcceleration.x/y/z. Не понимаю: что х, что y, а что z? Моя задача: Допустим, есть шарик и вид камеры сверху. Управляя наклоном планшета/телефона, управляешь этим шариком. Наклонишь устройство вперед- мячик катится вперед. По такому же принципу остальные стороны. Скорее всего, мой вопрос заключается в том, чтобы понять, какая ось в этой функции за что отвечает, и ту ли я функцию выбрал? Как я понял, она работает так? :
Input.gyro.userAcceleration.y - это наклон вперед назад? То есть, если положить устройство экраном вверх и наклонить его от себя или к себе, то это значение будет меняться? Input.gyro.userAcceleration.х - это наклон влево вправо? То есть, если положить устройство экраном вверх и наклонить его вправо влево, то это значение будет меняться?
И работает ли гироскоп на андроидах? Заранее спасибо!
Flist - social platform PuzzleSystem - Open-source Unity Asset [2D] Mission: Defender
|
|
| |
allods | Дата: Вторник, 05 Августа 2014, 23:37 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| Цитата romeo98 ( ) И работает ли гироскоп на андроидах? Если гироскоп есть в телефоне то да
Цитата romeo98 ( ) Input.gyro.userAcceleration.y - это наклон вперед назад? То есть, если положить устройство экраном вверх и наклонить его от себя или к себе, то это значение будет меняться? Input.gyro.userAcceleration.х - это наклон влево вправо? То есть, если положить устройство экраном вверх и наклонить его вправо влево, то это значение будет меняться?
ну наклон назад вперед в зависимости куда повернута камера . Если смотрит в бок то перед уже будет в бок, смотри где z,x,y в мире.
Но примерно да так и есть, значения будут меняться при наклоне
|
|
| |
romeo98 | Дата: Среда, 06 Августа 2014, 14:35 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Я нашел еще одну функцию: input.acceleration. Чем они отличаются? Я сделал тестовый проект. Там есть условия, если input.gyro.useracceleration.x > 0, то в GUI выводит вправо, а если меньше нуля то выводит влево. Так же и с осью y. Начальное значение "ничего". Скомпилил это приложение и протестил на планшете. Результат- пишет ничего, как бы я не вертел. А вот с функцией input.acceleration все работает правильно.
Flist - social platform PuzzleSystem - Open-source Unity Asset [2D] Mission: Defender
|
|
| |
allods | Дата: Среда, 06 Августа 2014, 15:19 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| gyro это наклон acceleration это скорость
возможно на вашем планшете нет gyro ?
|
|
| |
romeo98 | Дата: Среда, 06 Августа 2014, 16:06 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Что является показателем наличия гироскопа? Например, то, что ориентация меняется в зависимости от поворота планшета, является показателем? У меня планшет galaxy tabpro sm-t900.
Добавлено (06.08.2014, 16:06) --------------------------------------------- По идеи, должен быть. Так написано тут: http://mdforum.ru/showthread.php?t=6396 Может я код не правильно написал? Какое значение возвращает input.gyro.useracceleration.x? От 0 до 1 или больше?
Flist - social platform PuzzleSystem - Open-source Unity Asset [2D] Mission: Defender
Сообщение отредактировал romeo98 - Среда, 06 Августа 2014, 16:06 |
|
| |
allods | Дата: Среда, 06 Августа 2014, 16:52 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| пробуйте rotationRate, что он напишет?
|
|
| |
Левша | Дата: Среда, 06 Августа 2014, 18:15 | Сообщение # 7 |
почти ветеран
Сейчас нет на сайте
| Цитата romeo98 ( ) Может я код не правильно написал? Цитата romeo98 ( ) А вот с функцией input.acceleration все работает правильно.
X.cor.R (Prologue)
|
|
| |
romeo98 | Дата: Среда, 06 Августа 2014, 18:49 | Сообщение # 8 |
участник
Сейчас нет на сайте
| Вообщем, в том же тестовом проекте все очистил. Сделал всего 1 скрипт. В нем только OnGui. В OnGui 4 label'а. Выводил на экран: input.gyro.useracceleration.x, input.acceleration.x, input.gyro.rotationrate.x и input.gyro.attitude.x. Когда мотал планшет, все значения по нулям, кроме input.acceleration.x. Он работал абсолютно правильно. Вставил эту функцию в мой основной проект и работает, но все же мучает вопрос, как используют другие функции????
allods написал, что input.acceleration.x- скорость. Что за скорость? Всмысле, типо спидометра?
Flist - social platform PuzzleSystem - Open-source Unity Asset [2D] Mission: Defender
|
|
| |
allods | Дата: Среда, 06 Августа 2014, 22:04 | Сообщение # 9 |
почти ветеран
Сейчас нет на сайте
| да вроде сридометр
|
|
| |
Ranger | Дата: Четверг, 07 Августа 2014, 18:34 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| http://gcup.ru/forum/59-37630-605771-16-1391651187
Сообщение отредактировал Ranger - Четверг, 07 Августа 2014, 18:35 |
|
| |
romeo98 | Дата: Пятница, 08 Августа 2014, 13:52 | Сообщение # 11 |
участник
Сейчас нет на сайте
| Спасибо. То есть проблема может быть тупо из-за того, что гироскоп выключен? Сейчас проверю.
Flist - social platform PuzzleSystem - Open-source Unity Asset [2D] Mission: Defender
|
|
| |