Полезное

Мы Вконтакте

Discord канал

#
Пред.
12
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 34
Доброго времени суток, очередной раз проблема возникла. На этот раз нужно вращать объект нажимая на него и куда мышь тянешь туда оно и крутится Изображение

Получается только сделать вращение по двум осям и как только оси меняются , направление вращения меняется тоже, не могу разобраться, подскажите пожалуйста, гуру ?
Аватара пользователя
Пользователь
Сообщения: 4069
nickday писал(а):
Доброго времени суток, очередной раз проблема возникла. На этот раз нужно вращать объект нажимая на него и куда мышь тянешь туда оно и крутится Изображение

Получается только сделать вращение по двум осям и как только оси меняются , направление вращения меняется тоже, не могу разобраться, подскажите пожалуйста, гуру ?


для начала тебе следует написать логику для определения стороны в какую движется мышь, грубо говоря на тике нужно определять(записывать) старые координаты мыши и сравнивать с новыми, затем добавлять вращение с помощью ноды AddWorldRotation
Аватара пользователя
Пользователь
Сообщения: 34
Prytaleks писал(а):
nickday писал(а):
Доброго времени суток, очередной раз проблема возникла. На этот раз нужно вращать объект нажимая на него и куда мышь тянешь туда оно и крутится Изображение

Получается только сделать вращение по двум осям и как только оси меняются , направление вращения меняется тоже, не могу разобраться, подскажите пожалуйста, гуру ?


для начала тебе следует написать логику для определения стороны в какую движется мышь, грубо говоря на тике нужно определять(записывать) старые координаты мыши и сравнивать с новыми, затем добавлять вращение с помощью ноды AddWorldRotation


Изображение

Согласовал с заказчиком вот такое вращение, теперь лишь нужно сделать чтобы крутанул и она плавненько докручивалось... Чет не пойму чем можно сделать, через таймер наверное какой нибудь
Аватара пользователя
Пользователь
Сообщения: 4069
nickday писал(а):
теперь лишь нужно сделать чтобы крутанул и она плавненько докручивалось...


для вот это "лишь", гораздо больше придется включить логики))
Аватара пользователя
Пользователь
Сообщения: 34
Prytaleks писал(а):
nickday писал(а):
теперь лишь нужно сделать чтобы крутанул и она плавненько докручивалось...


для вот это "лишь", гораздо больше придется включить логики))


Ну это грубая реализация вращения, я согласен. Сейчас на тач переделываю его, и как я понял после того как пальцы уберая от экрана таймер уменьшается и тем самым вращение останавливается плавно
Аватара пользователя
Пользователь
Сообщения: 4069
nickday писал(а):
Сейчас на тач переделываю его, и как я понял после того как пальцы уберая от экрана таймер уменьшается и тем самым вращение останавливается плавно

я бы сторону движения - суммировал в отдельную переменную, возможно ограничил бы с помощью clamp, а потом с этой переменой циклически вычитал бы или прибавлял, значения, и использовал для соответствующий Add, пока переменная не станет близко к 0.

Тут на скрине не вся твоя задача целиком, но суть которая поможет тебе решить задачу, поставь переменной число 20 или -20, и посмотри что будет.
Изображение
Аватара пользователя
Пользователь
Сообщения: 34
Prytaleks писал(а):
nickday писал(а):
Сейчас на тач переделываю его, и как я понял после того как пальцы уберая от экрана таймер уменьшается и тем самым вращение останавливается плавно

я бы сторону движения - суммировал в отдельную переменную, возможно ограничил бы с помощью clamp, а потом с этой переменой циклически вычитал бы или прибавлял, значения, и использовал для соответствующий Add, пока переменная не станет близко к 0.

Тут на скрине не вся твоя задача целиком, но суть которая поможет тебе решить задачу, поставь переменной число 20 или -20, и посмотри что будет.
Изображение


Может я и не совсем логику понял... Есть какой то вариант еще ?
У меня на выходе от тач нажатия есть float его умножаю на 5 получаю более менее вращательный объект.
Аватара пользователя
Пользователь
Сообщения: 4069
nickday писал(а):
У меня на выходе от тач нажатия есть float его умножаю на 5 получаю более менее вращательный объект.

здесь на скрине циклический эвент который ты должен запустить, после отжатия пальца от тоуча(Realeased), он будет работать некоторое время, плавно затухая значение, до полной остановки, вместо принт стринга AddWorldRotation. Переменную Chislo, ты должен считать когда ведешь пальцем по телефону(Move). Для всего этого нужна логика. Которую можно научиться построить только - САМОМУ, логически строить программу тебя никто не научит, в лучшем случае сделает за тебя. Одним вариантом из сотен возможных.

p.s. "плавненько докручивалось" - не получиться без циклического делея, или таймера.
Последний раз редактировалось Prytaleks 15 апр 2017, 14:38, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 34
Prytaleks писал(а):
nickday писал(а):
У меня на выходе от тач нажатия есть float его умножаю на 5 получаю более менее вращательный объект.

здесь на скрине циклический эвент который ты должен запустить, после отжатия пальца от тоуча(Realeased), он будет работать некоторое время, плавно затухая значение, до полной остановки, вместо принт стринга AddWorldRotation. Переменную Chislo, ты должен считать когда ведешь пальцем по телефону(Move). Для всего этого нужна логика. Которую можно научиться построить только - САМОМУ, логически строить программу тебя никто не научит, в лучшем случае сделает за тебя. Одним вариантом из сотен возможных.


Я сделал все проще.
Изображение


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

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