При попытке конвертировать модель из другой игры в mdx с помощью 3DsMAX+NeoDex, анимации корёжит. Они всё ещё узнаваемы, но уже не те. В максе всё отображается корректно, видимо деформация происходит именно при конверте в mdx.
пример
Это исправимо? Сам неодекс при конверте кое на что ругается:
// The next objects have unbalanced weights,
// they may be wrongly animated.
///////////////////////////////////////////////////////////////////////////////////
// Bandit_Mat
///////////////////////////////////////////////////////////////////////////////////
Я немного почитал о weight table, но не до конца понимаю какое это оказывает влияние в рамках варкрафта. Разные значения веса в таблице уже расставлены. Не совсем понимаю, что именно я туда нового могу вписать. Это вообще может быть источником моих проблем?
*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% (и еще какое-то), а все прочие значения при конвертации вызывают графические баги анимации.
А вот когда я начал мясо к костям ручками привязывать, анимации стали экспортироваться правильно...
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Андреич, хм, ну вообще да, действительно по несколько костей привязано. Попробую отвязать лишнее
Загруженные файлы
26
Блин, когда правишь связь скелета с мешем, становится действительно лучше. Но я тут ради эксперимента попробовал конвертнуть через Max 2009 вместо 2020-го, и в результате анимации получились намного лучше (но не идеальными, некоторые мелкие баги всё равно присутствуют), даже несмотря на тот же самый недостаток с костями. Не знаю в чём причина, но всё ещё надеюсь, что это необязательно чинить ручками
31
Принятый ответ
у меня была похожая проблема с плагином для blender'a проблема была в том, что я делал скининг в полуавтоматическом режиме, из-за чего у вершин была разная сила привязки к костям, а насколько помню, формат варика понимает только значения в 100%, 50% (и еще какое-то), а все прочие значения при конвертации вызывают графические баги анимации.
А вот когда я начал мясо к костям ручками привязывать, анимации стали экспортироваться правильно...
26
Андреич, ну да, сейчас в этой модели используется модификатор Skin, то есть привязка происходит автоматически. И варкрафту это не нравится(
26
Немного подниму эту тему, так как для меня всё ещё актуальна. Слева пример конверта модели в mdx1000, справа — mdx800.
Меш идентичный, анимации тоже. А хвост у второй модели почему-то ломается. Как и говорилось в комментах выше, во всём виноват именно неправильный скиннинг. Рефовский формат моделей при конвертации из 3дсмакс без проблем сохраняет информацию о весе костей, в отличии от классического. Короче, всем марш на hd графику. Mdx экспортёр под реф для 3дмакс здесь
Загруженные файлы
31
poisoNDealer, оно и правильно. Старый формат имел довольно сильные ограничения. А новый соответствует текущим стандартам.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.