WarCraft 3: Ошибки и баги при анимировании в Mdlvis

» Раздел: Моделлинг

Ситуация: вы делаете анимацию, все хорошо, но вот в предпоследнем кадре надо поправить положение кисти руки, надо чуть повернуть кость, которую до этого вы не трогали. Вы смело поправляете и при проигрывании анимации с ужасом замечаете, что кисть руки изменила положение абсолютно во всех кадрах, и править теперь надо все кадры анимки. Ладно, если анимка простая, а если кисть руки идет по сложной траектории во всех плоскостях, то это уже проблема.
В этом примере будет показано, как этого избежать. Также этот способ может очень пригодится при переделке готовых анимаций, добавлении в модель анимированных объектов, например попугая Сильверу. Возможно, кто то уже этим пользуется, кто то знает другой, более легкий способ, тогда, пожалуйста, просветите меня.
Итак, я делаю анимку Stand Ready, пример простой, и потому должен быть понятен. Что я хочу: во время анимации боцман будет крутить костыль из положения для рубилова в положение для стрельбы. Вообще надо мысленно четко представить все движения в создаваемой анимации, можно даже перед зеркалом посмотреть, надо мысленно разбить анимацию на ключевые кадры, где принимаемая поза наиболее выразительна, или, например, конечности находятся в каких то крайних точках движения. Длину анимации и расположение кадров например выстрела лучше брать, как в стандартных варовских анимациях.
Создаем Stand Ready
Анимация Stand Ready должна начинаться и заканчиваться тем же кадром , что и первый\последний кадр анимации Attack, поэтому смело КОПИРОВАТЬ КАДР в анимации атаки и ВСТАВИТЬ первый и последний кадр в анимации Stand Ready.
По логике, раз боцман держит костыль, как топор, значит в середине анимации он должен держать костыль, как пистоль. Создаём анимацию New произвольной длины, так как она нужна только для одного кадра, и ВСТАВИТЬ туда скопированный ранее в анимации атаки кадр.
В анимации New, на вкладке ДВИЖЕНИЕ с помощью соответствующих костей крутим топор, вставляем в руку, поднимаем слегка голову и отводим назад левую руку.
Получилось, что боцман приготовился к стрельбе. Если картинка нравится, то КОПИРОВАТЬ КАДР, открываем анимацию Stand Ready, ставим курсор точно посередине линейки кадров и ВСТАВИТЬ, теперь мы уже имеем действующую анимацию из 3-х кадров.
Все вышесказанное конечно можно было сделать без копирования-вставки, обычным путем, но вот дальше... Проигрываем анимацию и видим, что топор летит-вращается в горизонтальной плоскости, а для правды жизни надо в вертикальной - надо править.
Ставим курсор на линейку кадров точно посередине между 1 и 2 кадрами, КОПИРОВАТЬ КАДР, не снимая курсора с выбранной точки ВСТАВИТЬ, чтобы застолбить место, далее создаем анимку New1, ВСТАВИТЬ, проделываем манипуляции с топором, другими частями тела, КОПИРОВАТЬ КАДР, который вставляется в застолбленное место анимации Stand Ready.
То же самое проделываем для кадра между 2 и последним.
->New 2->
Уже лучше, а самое главное, мы крутили вертели перемещали кости, как хотели, и это нисколько не повлияло на уже сделанные кадры. Повторять эту операцию, постепенно увеличивая количество кадров и создавая New3----New хоть до бесконечности, пока движения модели не примут более менее правдоподобный вид.
Созданные анимки в один кадр New удобны еще тем, что вы в любой момент можете изменить любой кадр, не нарушая при этом остальные. и даже если вы случайно испортили анимацию, восстановить ее несложно, так как большинство кадров у вас хранятся в анимках New.
Вообще говоря, какие то анимки можно сделать, скопировав подходящие кадры из уже готовых анимаций, но, чаще всего их все равно приходится поправлять, и тут тоже подойдет описанный способ.

Коротко о других частых багах и ошибках:

1 Дерганье модели во время проигрывания анимации.
Причины:
Необходимо , чтобы первый кадр в точности был одинаков с последним, часто забывают про последний кадр, в Висе все проигрывается нормально, в Варе и В3МЕ – дерганье. Надо КОПИРОВАТЬ КАДР для 1 кадра и сразу ВСТАВИТЬ последний кадр анимации.
  • Если происходит дерганье во время анимации, причину не знаю, обычно появляется баг при правке стандартных аним , а исправить можно 2мя способами:
Создать новую аниму с соответствующей длиной и перекопировать в нее (КОПИРОВАТЬ КАДР) все кадры сбойной анимы через соответствующие промежутки. Сбойную анимацию удалить, созданную назвать именем сбойной.
  • Найти сбойный участок , просмотрев с помощью медленной скорости просмотра аним или передвигаясь по линейке кадров, нажимая стрелки. Скопировать (КОПИРОВАТЬ КАДР) первый кадр сбойного участка , передвинуться на 1 ближе к сбою, вставить, проверить. Если не помогло, то же самое сделать с последним кадром сбойного участка., просмотреть, если не помогло – см. пункт а).
2. Какая-то часть модели, например нога, вместо перемещения по дуге делает полный оборот
Причина: при создании анимации угол поворота какой либо кости между 2мя соседними кадрами должен быть МЕНЬШЕ 90 градусов.
Исправление: вставить между сбойными кадрами еще один кадр способом, описанным в статье, повернув при этом кость на средний угол для соседних кадров, если не помогло, добавить еще промежуточных кадров.
3. Проблемы с видимостью
Бывает необходимо скрыть в части анимаций какую то поверхность, например останки (скелет). Вы спокойно выбираете эту поверхность, и начинаете в каждой анимке в первом кадре выключать видимость (необходимо и достаточно выключать - включать видимость именно в первом кадре анимации), чисто случайно переходите ко второму кадру - ба!, видимость включилась, и так далее, вы пытаетесь выключить видимость во всех кадрах нужных анимаций, и совершенно зря.
Нужно просто открыть сохраненную модель с выключенной в первых кадрах анимаций видимостью, затем открыть ее в War3ME, открыть вкладку ОКНА - РЕДАКТОР АНИМАЦИЙ ПОВЕРХНОСТЕЙ, выбрать Geosetanimation, в которой Альфа анимирована (стоит галочка). Щёлкаем по кнопке Альфа, открывается список с адресами. адр еса должны идти в порядке возрастания, а у вас скорее всего запись 0 :0 или 0 :1 находится где то в середине списка. Просто удаляем эту запись и ставим ее в самом начале списка. Проверяем правильный порядок адресов, и если надо, то исправляем. После двоеточия должна стоять цифра 0 или 1, все цифры, отличные от этих, необходимо переправить на 0. Проверяем анимации, с видимостью все должно быть в порядке.
Такие же списки видимости бывают и у костей, и у эффектов, и у текстур, советую также их проверять, если занимались анимированием этих объектов.
4. Невозможно удалить кадр в анимации (выскакивает ошибка)
Исправление: Надо создать новую аниму и скопировать туда (копировать кадр) все нужные кадры. причем вновь созданная анима как правило, если даже в исходной были баги в виде дерганья, работает лучше, и в ней уже все норм удаляется. Можно попытаться еще сохранить в другой формат, потом оптимизировать, помогает, но редко. Можно распотрошить файл *.mdl, найти там запись типа 12345:-3.3844567 и удалить ее, но скорее всего вы можете ошибиться и удалить не ту запись.
5 Невозможно что-либо сделать с костью или, например, скрыть поверхность, причём она вроде как скрывается, а после сохранения появляется.
Причина: бывает из-за того, что глобальные анимки заползли на область обычных анимаций, для других редакторов моделей это повидимому не имеет значения (очень многие модельки Вара сделаны так и работают), но при редактировании в ВИЗе часто появляется баг.
Исправление: надо следить , чтобы анимки начинались после последнего кадра глобальных аним.
PS: Прошу опытных моделлеров дополнить список багов виза и способов исправления в теме на форуме (ссылка ниже).

Просмотров: 8 014

» Лучшие комментарии


dave_wwid #1 - 8 лет назад 1
Полезная статья. Особенно про баги, ошибки и анимки в один кадр. Еще бы про текстурированию в MDLVIS что-нибудь написали. Как наложить совершенно новую текстуру на модель в MDLVIS
Doberman341 #2 - 8 лет назад 2
В догонку - про изменение положения кости в новой анимации(в данном примере - кисть).
Для того, чтобы такого не происходило нужно для каждой(!) кости, которую хотите анимировать, создавать первый кадр. Дело в том, что, если отсутствует первый кадр, первым кадром считается ближайший к началу кадр, а для каждой кости существует СВОЯ линейка анимаций. Просто на линейке в визе они друг на друга накладываются. Поясню на примере:
есть 2 кости: №1 и №2. Выделяю первую кость, делаю первый кадр и последний.
На линейке анимации вижу два кадра. Допустим, во втором кадре кость 1 смещена вверх на N единиц. Теперь я хочу сделать для второй кости то же самое. Что я сделаю, ежели я не знаю секрета? Правильно, я выделю кадр 2 и подвину кость2. Проигрываю аниму и О УЖАС! В первом кадре кость2 тоже поднята. Все из-за того, что я не создал кадр1 для ВТОРОЙ кости. Чтобы его создать, можно перед анимированием в первом кадре подвигать все кости, чуть сместить их.Времени потеряешь немного, зато потом проблем не будет.
Я кончил, спасибо за внимание.
Если не понятно, вот картинка.
[IMG]http://keep4u.ru/imgs/b/2009/04/26/df/df5bd4177203b4d3d1e2d937d160eef7.jpg[/IMG]
AvatarOfEnkidu #3 - 8 лет назад 2
Крутая моделька *Пад Сталом* :D
Uber #4 - 8 лет назад 1
Насчет подергивания... У меня часто бывало, что при редактировании готовой анимки какая-то часть тела между двумя кадрами движется совсем не он той траектории по которой должна двигаться (например, рука из положения "опущена" в положение "поднята" между двумя кадрами при проигрывании улетает куда-то в сторону, дергается, и возвращается в положение "поднята". Выглядит совсем некрасиво). Позже до меня дошло, что виноват в етом тип контроллера "дерганой" кости - сплайновый. Короче, как вариант устранения етой проблемы: в редакторе движения выделить "дерганую" кость, выбрать инструмент "вращать". На панели инструментов появится окошко "тип контроллера". Указать тип - вместо сплайнового поставить линейный. Все. Теперь положение кости между стартовым и конечным КК изменяется равномерно, и нет никаких "зигзагов". Но именно ето чаще всего портило мне всю анимку. Но процесс трудоемкий - особенно если много костей, и становится сложно найти нужную. Возможно у других будут еще варианты по устранению етой проблемы.
Dr #5 - 8 лет назад 1
Читать умеете?
Прошу опытных моделлеров дополнить список багов виза и способов исправления [b]в теме на форуме[/b].
Uber #6 - 8 лет назад 1
К кому толком ты обращаешься?
На всякий случай, если Dron обращался ко мне тоже:
  1. Я не опытный моделист.
  2. Проблема, которую я описал, не является багом Виса.
  3. Возможности телефона не позволяют мне выложить способ на форуме. Если вдруг мой способ действительно может кому-то помочь, пусть кто угодно выложит его в нужную тему.
KO3bMA #7 - 8 лет назад 1
Doberman341 все правильно, но костей в модели много и твой способ для каждой анимы слишком муторный получица
Maxixalk #8 - 7 лет назад 3
скажите плиз а что за версия мдлвиса
и вот ещё у меня баг с копированием вершин копирую голову артеса нажимаю ctrl+c захожу в другой мдлвис чтобы копировать голову нажимаю ctrl+v чтобы вставить но не вставляется что это подскажите пожалуйста и как это исправить
Hares #9 - 6 лет назад 1
В MDL Vis'е буфер обмена внутренний, потому и не вставляет. Перевожу:чтоб скопить, надо, не закрывая прогу, открыть другую модель (в этом же окне) и тока тогда вставить. Понятно?
Самый страшный баг:
исчезают части поверхности. При этом в редакторе вершин норм всё, но как тока входишь ред аним и нажимаешь "ОБЩИЙ ВИД", порой начинают происходить чудеса: по мере вращения модели пропадают треугольники (причём с противоположных сторон пропадают разные трг, нет такого, что трг никак не виден).
P. S.
По 1)
достаточно активировать (ну хоть в первом кадре) кисть (или что там у вас будет), повернув или сдвинув её, а потом придать ей значение "как было", но ни в коем случае не копированием! только обратным сдвигом, поворотом и масштабированием! Желательно делать сдвиг по Z на 0,000001. Он поймёт, вы не заметите.