При попытке конвертировать модель из другой игры в mdx с помощью 3DsMAX+NeoDex, анимации корёжит. Они всё ещё узнаваемы, но уже не те. В максе всё отображается корректно, видимо деформация происходит именно при конверте в mdx.
Это исправимо? Сам неодекс при конверте кое на что ругается:
// The next objects have unbalanced weights,
// they may be wrongly animated.
///////////////////////////////////////////////////////////////////////////////////
// Bandit_Mat
///////////////////////////////////////////////////////////////////////////////////
Я немного почитал о weight table, но не до конца понимаю какое это оказывает влияние в рамках варкрафта. Разные значения веса в таблице уже расставлены. Не совсем понимаю, что именно я туда нового могу вписать. Это вообще может быть источником моих проблем?
*Bandit_Mat это название всей модели внутри максовской сцены.
*Bandit_Mat это название всей модели внутри максовской сцены.
// StartEndKeys
///////////////////////////////////////////////////////////////////////////////////
// The next objects don't have start and end keys on the mentioned animations.
///////////////////////////////////////////////////////////////////////////////////
// Bip01 Pelvis->Controller:TCB_Position: (Death)
// Bip01 Pelvis->Controller:TCB_Rotation: (Death)
// Bip01 Pelvis->Controller:Bezier_Scale: (Death)
// Bip01 L Toe0->Controller:TCB_Position: (Death)
// Bip01 L Toe0->Controller:TCB_Rotation: (Death)
// Bip01 L Toe0->Controller:Bezier_Scale: (Death)
// Bip01 L Finger3->Controller:TCB_Position: (Death)
// Bip01 L Finger3->Controller:TCB_Rotation: (Death)
// Bip01 L Finger3->Controller:Bezier_Scale: (Death)
// Bip01 L Finger2->Controller:TCB_Position: (Death)
// Bip01 L Finger2->Controller:TCB_Rotation: (Death)
// Bip01 L Finger2->Controller:Bezier_Scale: (Death)
// Bip01 L Finger1->Controller:TCB_Position: (Death)
// Bip01 L Finger1->Controller:TCB_Rotation: (Death)
// Bip01 L Finger1->Controller:Bezier_Scale: (Death)
// Bip01 L Finger11->Controller:TCB_Position: (Death)
// Bip01 L Finger11->Controller:TCB_Rotation: (Death)
// Bip01 L Finger11->Controller:Bezier_Scale: (Death)
// Bip01 L Finger21->Controller:TCB_Position: (Death)
// Bip01 L Finger21->Controller:TCB_Rotation: (Death)
// Bip01 L Finger21->Controller:Bezier_Scale: (Death)
// Bip01 L Finger31->Controller:TCB_Position: (Death)
// Bip01 L Finger31->Controller:TCB_Rotation: (Death)
// Bip01 L Finger31->Controller:Bezier_Scale: (Death)
// Bip01 R Toe0->Controller:TCB_Position: (Death)
// Bip01 R Toe0->Controller:TCB_Rotation: (Death)
// Bip01 R Toe0->Controller:Bezier_Scale: (Death)
// Bip01 R Finger3->Controller:TCB_Position: (Death)
// Bip01 R Finger3->Controller:TCB_Rotation: (Death)
// Bip01 R Finger3->Controller:Bezier_Scale: (Death)
// Bip01 R Finger2->Controller:TCB_Position: (Death)
// Bip01 R Finger2->Controller:TCB_Rotation: (Death)
// Bip01 R Finger2->Controller:Bezier_Scale: (Death)
// Bip01 R Finger1->Controller:TCB_Position: (Death)
// Bip01 R Finger1->Controller:TCB_Rotation: (Death)
// Bip01 R Finger1->Controller:Bezier_Scale: (Death)
// Bip01 R Finger11->Controller:TCB_Position: (Death)
// Bip01 R Finger11->Controller:TCB_Rotation: (Death)
// Bip01 R Finger11->Controller:Bezier_Scale: (Death)
// Bip01 R Finger21->Controller:TCB_Position: (Death)
// Bip01 R Finger21->Controller:TCB_Rotation: (Death)
// Bip01 R Finger21->Controller:Bezier_Scale: (Death)
// Bip01 R Finger31->Controller:TCB_Position: (Death)
// Bip01 R Finger31->Controller:TCB_Rotation: (Death)
// Bip01 R Finger31->Controller:Bezier_Scale: (Death)
Что за старт и энд кейс? Это значит, что прям каждая кость должна отметиться положением, масштабом и поворотом в первом и последнем кадре анимации? Так или иначе, этот пункт ругается только на анимацию Death, а ломаются все.
// TCB
///////////////////////////////////////////////////////////////////////////////////
// The next objects have conflicting rotation keys at the showed time
// To fix it add a key between the mentioned key and the key before, or use the NeoDex Animation Tools
///////////////////////////////////////////////////////////////////////////////////
// Bip01 L Forearm: (1f)
Здесь вообще не понял. Но опять же, это 1 кадр одной анимации.
Алсо, я попробовал потыкать разные галочки, кнопочки и окошки, предположительно связанные с анимациями, в неодексе, но эксперименты ни к чему не привели. Либо ничего не менялось, либо становилось хуже. Может есть какие-то тонкие настройки, всякие там интерполяции, я хз? Или это старый добрый mdx, и ничего с этим не поделать?
Принятый ответ
у меня была похожая проблема с плагином для blender'a проблема была в том, что я делал скининг в полуавтоматическом режиме, из-за чего у вершин была разная сила привязки к костям, а насколько помню, формат варика понимает только значения в 100%, 50% (и еще какое-то), а все прочие значения при конвертации вызывают графические баги анимации.
А вот когда я начал мясо к костям ручками привязывать, анимации стали экспортироваться правильно...
А вот когда я начал мясо к костям ручками привязывать, анимации стали экспортироваться правильно...
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Алексей Андреич
"У следующих объектов не заданы начальные и конечные кадры в указанных анимациях"
Из-за чего, если у кости на начало анимации не задан кадр, она будет использовать последний доступный для нее кадр, возможно даже из предыдущей анимации или из нулевого кадра.
To fix it add a key between the mentioned key and the key before, or use the NeoDex Animation Tools
Тут я так понимаю просто конфликт с вращением левого локтя в каком-то кадре.
Как вариант для проверки могу предложить вручную привязать меш к костям, но так, чтобы вершины меша были привязана только к одной кости.
Отредактирован Makeba
А вот когда я начал мясо к костям ручками привязывать, анимации стали экспортироваться правильно...
Отредактирован Makeba