Полезное

Мы Вконтакте

Discord канал

#
Модератор: Di-Crash
Аватара пользователя
Пользователь
Сообщения: 2319
такс я тут застрял...

нужно ограничить вращение раздельно по двум осям как в физикс констрейнте...
первое: кламп углов ейлера не предлагать. потому что кламп плохо работает когда оба угла в пределах
например ограничение 45 45
Изображение
видно что угол может превышать 45 в два раза.

если оба угла больше или меше 90, то мы можем на 1-ную сферу проецировать елипс, где его габариты это синус ограничительных углов
и это прекрасно работает
Изображение


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

моя попытка, и она неверно работает...:
Изображение
а вот например ограничение PhysX:
Изображение
пробовал найти код физикса отвечающий за это но безуспешно... и там свои еще нюансы...
вполне готов обсуждать матан всего этого если хоть кто-то ответит.
_________________
we need to go deeper
Последний раз редактировалось Snake 03 ноя 2017, 09:27, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 2319
единственное пока еще не пробовал с кватернионами эту задачку решать... у меня есть идеи как к ней подступиться, но я уже выдохся немного с ней, нужен чужой взгляд.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
хм...
ели развернуть сферу от полюса в радианах то по идее тоже можно спроецировать елипс на такую развертку и в натуральную величину в радианах будет растояние... и получить угол в любой точке между лимитами.
хм...
это должно сработать...
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 4069
что делаешь Снэйк?
Аватара пользователя
Пользователь
Сообщения: 2319
контроллеры для управления скелетом...
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 4069
Snake писал(а):
контроллеры для управления скелетом...


можно зайти с позиции управления анимацией с помощью аим офсета.
Аватара пользователя
Пользователь
Сообщения: 2319
эм.. с помощью таких контроллеров можно забыть про кучу ненужной фигни в аним блупринте. и управлять скелетом из кода как пожелаешь.
ограничение углов единственный момент который осталось доделать до нормального вида.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
Snake писал(а):
хм...
ели развернуть сферу от полюса в радианах то по идее тоже можно спроецировать елипс на такую развертку и в натуральную величину в радианах будет растояние... и получить угол в любой точке между лимитами.
хм...
это должно сработать...


да это работает:
Изображение
_________________
we need to go deeper


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

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