Пятница, 15 Ноября 2024, 07:46

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Работа с гироскопом в моб. устройствах
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 все работает правильно.

smile


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
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг