Добавлен , опубликован

Лягушка-Царевна (о работе с моделями в MDLVis)

Содержание:
Прежде всего надо заняться скелетом новых «ног». Должен сказать, что почти все базовые скелеты ВАРовских человекоподобных моделей, те всех моделей, имеющих 2 ноги и 2 руки, одинаковые, и отличаются только наличием дополнительных костей, отвечающих за какою-то дополнительную анимацию, например у морлоков имеются кость, связанная с глазами и обеспечивающая их моргание. Названия костей на английском соответствуют положению кости в модельке, а номер – «старшинству» кости. Например, у меня в модельке bone_root – главная кость всей модели, к ней привязаны все остальные кости, непосредственно, или через ее дочерние кости, bone_chest – главная кость туловища модели (иногда называется bone_ body), bone_pelvis – главная кость ног, расположена в области таза, является дочерней к bone_root и материнской (главной) для костей ног. Далее идут bone_leg1_r, bone_leg2_r, bone_leg1_l, bone_leg2_l – кости суставов ног, r – правые, l – левые. Далее bone_foot_r и l, кости ступней, и я добавил еще bone_fr и bone_fl, кости связанные с «пальцами» ступней.
Ознакомится подробнее с устройством скелета можно, прочитав туториал к mdlVis и просто открыв в Vis'е какую-нибудь варовскую модель
Ссылаться на номера кнопок при редактировании скелета буду с этого рисунка
Итак, скелет. Kак видно из рисунка, он совсем не подходит к новым «ножкам»,
Поэтому прежде всего займемся скелетом, а именно, кликаем на вкладку «Скелет», выделяем (кн1) и перетаскиваем кости (кн3) в нужные места сначала в «виде справа», затем в «виде спереди». Нужные места располагаются, как правило, по центру плоскостей суставов (для несложных варовских моделей).
Результат наших манипуляций:
скелет создан, но ведь мы добавляли точки, полигоны, да и просто работали в Vis'е, поэтому надо проверить привязку костей к точкам поверхности. Например, на рисунке показано, какие точки должны быть привязаны к каким костям; получается, что точку надо привязывать ко всем костям, которые управляю движением поверхности, к которой принадлежит эта точка ( млин, еле сформулировал )
Чтобы привязать точку, выделяем ее кн 1( она «краснеет»), выделяем нужную кость (кн 1, кость «краснеет») и нажимаем кнопку 7, если надо просто привязать точку, или кнопку 8, если надо переcвязать точку. При переcвязке точка прикрепляется только к выделенной кости, все остальные привязки (если они были) уничтожаются.
Привязали, все вроде правильно, кликаем на вкладку «Анимации» чтобы посмотреть анимации, но что это за ужас?
А ведь все было так красиво. Выход один: ПОЛНОСТЬЮ ОЧИСТИТЬ анимации, щелкнув правой клавишей мыши по белой полоске с синими черточками и выбрав «очистить», а затем удалить все названия анимаций, открыв иерархию в меню «вид», выделив все названия и кликнув «удалить». Вот теперь модель готова к созданию анимаций. С чего начать?
Ссылаться буду на номера кнопок из верхнего ряда на этом рисунке
Немного теории и несколько замечаний, связанных с несовершенством Vis'а:
  1. при работе в Vis'е лучше сразу делать правильно, т.к. он удаляет созданные кадры некорректно и при правке анимации, даже если в Vis'е все выглядит СУПЕР, на карте может быть ФТОПQ. Правильно делать можно , набравшись опыта или изучив подобные анимации на ВАРовских моделях.
  2. если что-то не идет, лучше сразу очистить анимацию и начать заново, сбережете время.
  3. правило, подсказанное ahtiandr: нельзя допускать поворот кости больше 90 градусов в соседних кадрах, при проигрывании анимации на карте скорей всего часть тела, привязанная к этой кости , будет прыгать вместо плавного движения или совершать поворот в направлении, противоположном нужному
  4. в некоторых случаях, если после скажем первого кадра например нога прыгает резко в положе-ние, как во втором кадре, вместо того, чтобы плавно переместиться, помогает копирование первого кадра и вставка рядом с ним ( сдвиг в один кадр) копии.
  5. длительность анимации в 1000 кадров соответствует 1 сек времени (из туториала к Vis'у)
  6. еще лучше соблюдать такое правило: все однотипные анимации, например stand, attack, spell лучше начинать с одинакового кадра, и заканчивать им же, тогда не будет "дергания" при переходе от одной анимации к другой. Так сделаны все анимации в Варкрафт
Я разбиваю (мысленно) все движение на фазы – например замах - удар – отвод при атаке, начало последующей фазы является концом предыдущей и должно быть в первую очередь создано на линейке кадров, все остальные кадры будут «вспомогательными» для придания достоверности создаваемой анимации.
Таким образом я делю анимацию ходьбы на 2е фазы: шаг левой ногой и шаг правой ногой. Момент смены ног и будет начальным кадром фазы, таких кадров будет 3 – первый кадр анимации (начало шага левой ногой – конец шага правой), одинаковый с ним последний кадр анимации и по середине линейки кадров начало шага правой ногой – конец шага левой. Кликаем на «создать» и задаем диапазон кадров (я выбрал, исходя из опыта, длину в 1500 кадров, но это некритично). Переходим на вкладку «Движение». Далее все действия надо производить обязательно в одной из рабочих плоскостей и четко представлять, как должна выглядеть анимация в готовом виде, какие части тела как движутся относительно друг друга, от этого зависит, в какой последовательности создавать анимацию. Например, если кисть руки вращает меч, а сама рука описывает полукруг вокруг тела, то сначала надо анимировать кисть руки, а потом саму руку. Если делать в обратной последовательности, будет куча проблем с поворотом кисти, деформацией руки и т.д.
Итак, ставим указатель на первый кадр анимации (у меня это 1000) , затем выбираем кости, расположенные в кружке 1 , и поворачиваем их в плоскости ZX, выбрав «вращение» в инструментах, чтобы ноги стали, как на рисунке, затем подправляем заднюю ногу в костях, обведенных кружками 2, 3, 4, также вращением (чаще всего и нужно бывает только вращение). Обратите внимание на стопу в кружке 5. По идее, она должна касаться земли, но мы запомним это, но ничего пока делать не будем
Щелкаем правой клавишей по линейке кадров, выбираем «копировать кадр», и вставляем кадр точно в конце линейки кадров и точно посередине. Затем выбираем кадр по середине и зеркально меняем ноги местами, пользуясь все тем же вращением. Теперь можно запустить анимацию и посмотреть, что получилось – ничего хорошего, обе ноги оказались согнуты в колене и ступни движутся по дуге. Придется по новой редактировать кадры, разгибая ноги , чтобы получить первоначально задуманный вариант (это видимо баг Vis'а, во всех версиях – если в анимации какое то действие с костью производится первый раз, то потом приходится исправлять положение этой кости во всех кадрах), к тому же стопы иногда не касаются земли, иногда тонут в ней. Будем править следующим образом: т.к. ноги женские, они по идее должны вилять бедрами, и это нам поможет.
В виде спереди в первом , среднем и последнем кадре мы повернем (кн3) bone_pervis (обозначена кружком 1), «главную» кость ног, в плоскости YZ так, чтобы низ обоих ступней сравнялся по высоте, вращением костей в кружках 2 и 3 добьемся, чтобы нога , стоящая на земле, шла точно по центру, а вторая обходила ее сбоку, вращением костей 4 и 5 убираем «косолапость» ступней.
Все эти операции нужно проводить в уже созданных кадрах, и только при недостаточности уже созданных кадров для красоты движения имеет смысл добавлять новые.
Поэтому в виде справа делим расстояние между созданными кадрами еще пополам и с помощью тех же манипуляций создаем следующие 2 кадра , не забывая менять положение ног на противоположное:
Снова проверяем, вроде лучше, хотя не совсем. Дальше я поступаю так: проверяю анимку в действии и смотрю, в каком месте линейки кадров наибольшая неточность, стрелками справа от линейки кадров передвигаю указатель кадра в нужное место и вышеописанными способами подправляю положение костей, создается дополнительный кадр, улучшающий анимацию. Если при проверке анимации в движении все хорошо, то все - анимация готова.
Ну вот вчерне и все конечно не царевнины ножки, но и не лягуши (текстуры чужие новые).
Несколько замечаний :
  1. я не писал подробно о тех вещах, которые гораздо лучше рассказал Алексей в туториале к mdlVis,
  2. править анимации готовых моделей никому не советую, т.к. Vis еще не совершенен, и эта операция из-за багов займет больше времени, чем создание новых аним
  3. перенос « мяса» на готовые анимы не всегда оправдывает себя из-за несовместимости геометрий со скелетом
  4. а что самое интересное, при создании новых аним багов почти нет!
  5. Vis позволяет создавать модели, по качеству не уступающие ВОВским (я не имею ввиду пример из данной статьи), причем таким вот простым способом увеличения числа полигонов путем врезки их в базовую модель и изменения геометрии базовой модели.
Результаты статьи выложены ниже: