Войти
АртФорумОбщее

Смена ориентации кости после анимации?

#0
10:28, 7 фев. 2019

Есть скелет с анимацией, но у некоторых костей roll кривой, а анимация уже запеченная, т. е. на каждый кадр выставлен ключ.

Можно ли как то скорректировать ориентацию кости не ломая анимацию?
Софтом которым пользуюсь - Blender, но если есть какие то идеи как такое можно сделать в Max'е или Maya, или вообще с помощью кода, было бы здорово

#1
(Правка: 10:32) 10:31, 7 фев. 2019

Daimos
> Можно ли как то скорректировать ориентацию кости не ломая анимацию?
можно, корректируй

Daimos
> у некоторых костей roll кривой
я не видел ни одной системы анимации, где б трансформ костей задавался через углы эйлера. то всегда либо кватернионы, потому что их интерполировать удобнее, либо матрицы, потому что их можно на видюху as is посылать. углы эйлера же объединяют все возможные недостатки.

что значит "кривой" и что по-твоему его отличает от "прямого"?

#2
(Правка: 10:44) 10:43, 7 фев. 2019

Suslik
> можно, корректируй
Круто, скажи как, кроме ручками каждый кадр, и я скорректирую.

Suslik
> что значит "кривой" и что по-твоему его отличает от "прямого"?
broll | Смена ориентации кости после анимации?
Слева "прямо", справо "криво", их отличает параметр roll, или локальная ориентация кости

#3
11:52, 7 фев. 2019

Daimos
так как скриншоты сняты с разного ракурса и не несут никакой информации, это может быть вообще всё что угодно, включая вмешательство инопланетян. на каком этапе воспроизводится проблема? уже в блендере или после экспорта? откуда взята анимация и где считается, что она работает правильно? что значит "некоторые кости" сломаны — какие?

#4
11:59, 7 фев. 2019

Ретаргетинг не зашел?

#5
(Правка: 13:44) 13:43, 7 фев. 2019

Suslik
> так как скриншоты сняты с разного ракурса и не несут никакой информации
Попытаюсь объяснить так: анимация (сейчас это вращение кватерниона) записана по локальным осям каждой кости, когда вращаешь roll (это и есть локальная ориентация кости) одно и то же вращение (записанная анимация) приведет в итоге к искажению.

Теперь есть две одинаковые кости, но у одной roll = 0, у другой = 45 градусов, поэтому ориентация у них разная, и одно и тоже вращение скажем по оси X, приведет к тому что кости повернутся в разные стороны, т. к. ориентация у каждого своя.

Мне нужно перенести анимацию с одной кости на другую, без искажений. Вся проблема в том что у двух скелетов, кости с разными локальными ориентациями. В Блендере за локальную ориентацию кости отвечает параметр roll.

> на каком этапе воспроизводится проблема? уже в блендере или после экспорта?
все в Блендере, дело не в экспорте.

Mira
> Ретаргетинг не зашел?
Да он самый, плюс - хочу попытаться перенести реалистичную анимацию к стилизованному персонажу. Ну там ноги короткие, руки большие и тому подобное

#6
17:27, 7 фев. 2019

Проще всего скорректировать анимационным слоем.
Типа если у тебя ошибка в ретаргете на 45 градусов, то просто добавь компенсацию в виде анимационного слоя с 1 ключом.

#7
10:30, 8 фев. 2019

arte_de_mort
> Проще всего скорректировать анимационным слоем.
Мне не подошел такой способ, у Blender'a есть NLA что то подобное анимационным слоям в Maya, но не такое удобное. Roll победил другим способом - через прокси скелет.

Mira
> Ретаргетинг не зашел?
Теперь зашел :)
Blender retargeting test | Смена ориентации кости после анимации?Original Animation | Смена ориентации кости после анимации?

Вопрос я решил, всем спасибо за внимание.

#8
21:50, 8 фев. 2019

Решение нашёл, так и с форумом поделись подробно

#9
7:57, 17 фев. 2019


E-Cone
> Решение нашёл, так и с форумом поделись подробно
+

АртФорумОбщее