Полезное

Мы Вконтакте

Discord канал

#
Пред.
12
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 64
Добрый день

Столкнулся к такой проблемой: в проекте движение ГГ хочу сделалать с помощью Gravity event
Добавил, собственно, Gravity, разбил вектор и взял из него только значение по
оси Х (спасибо Flakky). На устройстве движение заработало, но пр первом же нажатии на экран Gravity выключается и ГГ перестаёт двигаться.

Если кто-нибудь сталкивался с аналогичной проблемой, подскажите пожалуйста, как её получилось решить.
Аватара пользователя
Администратор
Сообщения: 1581
Не сталкивался, но очень похоже на какой-то баг. Какая версия движка?
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.
Аватара пользователя
Пользователь
Сообщения: 64
версия 4.6

я тут подумал... может просто в Project Settings на AxisMove забиндить Gravity, если, конечно, можно это сделать?

Пока что на работе так что проверить не могу Х)
Аватара пользователя
Администратор
Сообщения: 1581
Да, можно. Но я не знаю, исправит ли это ошибку или нет. Попробуйте.
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.
Аватара пользователя
Пользователь
Сообщения: 64
Не исправило(
Аватара пользователя
Пользователь
Сообщения: 64
Попробовал сделать управление через Rotation Rate => не помогло, после первого же нажатия на экран Rotation и Gravity перестают работать

Изображение

https://answers.unrealengine.com/storag ... inalbp.jpg
Аватара пользователя
Администратор
Сообщения: 1581
Странно, тогда. думаю, стоит репортить как баг.
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.
Аватара пользователя
Пользователь
Сообщения: 64
Добрый день, Александр

На сколько я понимаю, я не один такой Х) И по всей видимости этот баг был еще в версии 4.3

https://answers.unrealengine.com/questions/35512/how-to-use-tilt.html

В той же теме на AnswerHub написано решение через глобальную переменную, если меня английский мой не подводит:

else if (ASENSOR_TYPE_GYROSCOPE == sensor_event.type)
{ MyGlobalVariable_motionGyroscope.X = sensor_event.vector.pitch;
MyGlobalVariable_motionGyroscope.Y = sensor_event.vector.azimuth;
MyGlobalVariable_motionGyroscope.Z = sensor_event.vector.roll;

current_gyroscope.X += sensor_event.vector.pitch;
current_gyroscope.Y += sensor_event.vector.azimuth;
current_gyroscope.Z += sensor_event.vector.roll;
current_gyroscope_sample_count += 1;
}

Только вот я с кодом не дружу Х))))
Аватара пользователя
Пользователь
Сообщения: 64
Меня смущает 1 комментарий на Answerhub по этой теме:

Yea but you seems to be concerned to use Tick(), i explain you alternative method which will call when it's changed.
Make a function called for example UpdateMotion and send new data as argument and update you variables ot that motion thru with this method you will end up set up 3 times for each axis :p
In you case i would just use Tick(), engine default physics systems updates objects every frame so Tick() (or ComponentTick()) is used all the time in it.

https://answers.unrealengine.com/questi ... -data.html

Т.е. каким-то образом можно обновлять значения гироскопа Tick-ом?
Аватара пользователя
Администратор
Сообщения: 1581
Изображение
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.


Сейчас этот форум просматривают: Google [Bot] и гости: 21

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница