Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 37
Делаю Foot IK через Transform bone и Leg IK и для этого использую виртуальную кость Hips_foot. проблема в том что сама кость foot изначально имеет не нулевой ротатор то есть (50 0,2 и -179) любые изменения на самом скелете не дают результатов. и из-за этого не могу задать вращение вдоль плоскости. может кто сталкивался с такой проблемой и знает лекарство?
Аватара пользователя
Пользователь
Сообщения: 2319
к необходимым трансформациям стопы добавляешь стартовый оффсет (в реф позе). одну и ту же трансформацию всегда можно расчитать разными способами и в разных системах координат.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 37
Snake писал(а):
к необходимым трансформациям стопы добавляешь стартовый оффсет (в реф позе). одну и ту же трансформацию всегда можно расчитать разными способами и в разных системах координат.

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

я не уверен о чем ты. делаю через дот up up и right forward вычисляю арккосинус и делаю ротатор из fvector и угла
Аватара пользователя
Пользователь
Сообщения: 995
Vasya94 писал(а):
Snake писал(а):
значит неправильная математика расчета трансформа.
могу предположить что ты пытаешься в углах ейлера расчитать вращение, и если это так то тогда это гиблое дело...

я не уверен о чем ты. делаю через дот up up и right forward вычисляю арккосинус и делаю ротатор из fvector и угла

Ну он вам как раз про это...
А вам нужно это:
Изображение
Аватара пользователя
Пользователь
Сообщения: 2319
нет, я не имел ввиду готовый контроллер.
Vasya94:
foot.Transform * inverse(leg.Transform) - стартовый оффсет костей в байнд позе (высчитывается в констракшн скрипте или при проигрывании реф позы анимации.)
дальше вычисляем отклонение нормали поверхности земли от голени получаем кватернион переводим его в трансформ, к этому трансформу добавляем оффсет.
_________________
we need to go deeper


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

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