XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
KO3bMA

offline
Опыт: 45,024
Активность:
Как избежать ошибок и багов при анимировании в Mdlvis
Дополнение к статье "Лягушка-Царевна (о работе с моделями в MDLVis)"

Здесь я не буду писать о геометрии, костях, создании простейших анимаций. Для совсем начинающих настольная книга http://xgm.guru/articles.php?name=mdlvis_tutorial, http://xgm.guru/articles.php?name=frogwoman и еще куча хороших статей в разделе статьи. Пример покажет, как избежать одного неприятного бага Mdlvis. Ситуация: вы делаете анимацию, все хорошо, но вот в предпоследнем кадре надо поправить положение кисти руки, надо чуть повернуть кость, которую до этого вы не трогали. Вы смело поправляете и при проигрывании анимации с ужасом замечаете, что кисть руки изменила положение абсолютно во всех кадрах, и править теперь надо все кадры анимки. Ладно, если анимка простая, а если кисть руки идет по сложной траектории во всех плоскостях, то это уже проблема.
В этом примере будет показано, как этого избежать. Также этот способ может очень пригодится при переделке готовых анимаций, добавлении в модель анимированных обьектов, например попугая Сильверу. Возможно, кто то уже этим пользуется, кто то знает другой, более легкий способ, тогда, плз, просветите меня. Итак, я делаю анимку Stand Ready, пример простой, и потому должен быть понятен. Что я хочу: во время анимации боцман будет крутить костыль из положения для рубилова в положение для стрельбы). Вообще надо мысленно четко представить все движения в создаваемой анимации, можно даже перед зеркалом посмотреть ) , надо мысленно разбить анимацию на ключевые кадры, где принимаемая поза наиболее выразительна, или например конечности находятся в каких то крайних точках движения. Длину анимации и расположение кадров например выстрела лучше брать, как в стандартных варовских анимациях.
Создаем Stand Ready.

Анимация Stand Ready должна начинаться и заканчиваться тем же кадром , что и первый- последний кадр анимации Attack, поэтому смело КОПИРОВАТЬ КАДР в анимации атаки и ВСТАВИТЬ первый и последний кадр в анимации Stand Ready.

По логике, раз боцман держит костыль, как топор, значит в середине анимации он должен держать костыль, как пистоль. Cоздаем анимацию New произвольной длины, так как она нужна только для одного кадра, и ВСТАВИТЬ туда скопированный ранее в анимации атаки кадр.

В анимации New, на вкладке ДВИЖЕНИЕ с помощью соответствующих костей крутим топор, вставляем в руку, поднимаем слегка голову и отводим назад левую руку.

получилось, что боцман приготовился к стрельбе. Если картинка нравится, то КОПИРОВАТЬ КАДР, открываем анимацию Stand Ready, ставим курсор точно посередине линейки кадров и ВСТАВИТЬ, теперь мы уже имеем действующую анимацию из 3х кадров

все вышерассказанное конечно можно было сделать без копирования-вставки, обычным путем, но вот дальше…Проигрываем анимацию и видим

топор летит- вращается в горизонтальной плоскости, а для правды жизни надо в вертикальной, надо править, ставим курсор на линейку кадров точно посередине между 1 и 2 кадрами, КОПИРОВАТЬ КАДР, не снимая курсора с выбранной точки ВСТАВИТЬ, чтобы застолбить место, далее создаем анимку New1, ВСТАВИТЬ, проделываем манипуляции с топором, другими частями тела, КОПИРОВАТЬ КАДР, который вставляется в застолбленное место анимации Stand Ready.

То же самое проделываем для кадра между 2 и последним и
->New 2->
уже лучше, а самое главное, мы крутили вертели перемещали кости, как хотели, и это нисколько не повлияло на уже сделанные кадры. Повторять эту операцию, постепенно увеличивая количество кадров и создавая New3----New хоть до бесконечности, пока движения модели не примут более менее правдоподобный вид. Созданные анимки в один кадр New удобны еще тем, что вы в любой момент можете изменить любой кадр, не нарушая при этом остальные. и даже если вы случайно испортили анимацию, восстановить ее несложно, так как большинство кадров у вас хранятся в анимках New
Вообще говоря, какие то анимки можно сделать, скопировав подходящие кадры из уже готовых анимаций, но, чаще всего их все равно приходится поправлять, и тут тоже подойдет описанный способ.

Коротко о частых багах и ошибках:
1 Дерганье модели во время проигрывания анимации
причины:
1 необходимо , чтобы первый кадр в точности был одинаков с последним, часто забывают про последний кадр, в Висе все проигрывается нормально, в Варе и В3МЕ – дерганье. Надо КОПИРОВАТЬ КАДР для 1 кадра и сразу ВСТАВИТЬ последний кадр анимации
2 если происходит дерганье во время анимации, причину не знаю, обычно появляется баг при правке стандартных аним , а исправить можно 2мя способами:
а) создать новую аниму с соответствующей длиной и перекопировать в нее (КОПИРОВАТЬ КАДР) все кадры сбойной анимы через соответствующие промежутки. Сбойную анимацию удалить, созданную назвать именем сбойной.
б) найти сбойный участок , просмотрев с помощью медленной скорости просмотра аним или передвигаясь по линейке кадров, нажимая стрелки. Скопировать (КОПИРОВАТЬ КАДР) первый кадр сбойного участка , передвинуться на 1 ближе к сбою, вставить, проверить. Если не помогло, то же самое сделать с последним кадром сбойного участка., просмотреть, если не помогло – см. пункт а)

2 Какая то часть модели, например нога, вместо перемещения по дуге делает полный оборот.
Причина: при создании анимации угол поворота какой либо кости между 2мя соседними кадрами должен быть МЕНЬШЕ 90 градусов.
Исправление: вставить между сбойными кадрами еще один кадр способом, описанным в статье, повернув при этом кость на средний угол для соседних кадров, если не помогло, добавить еще промежуточных кадров

3 Проблемы с видимостью.
бывает необходимо скрыть в части анимаций какую то поверхность, например останки (скелет). Вы спокойно выбираете эту поверхность, и начинаете в каждой анимке в первом кадре выключать видимость(необходимо и достаточно выключать- включать видимость именно в первом кадре анимации), чисто случайно переходите ко второму кадру - ба, видимость включилась, и так далее, вы пытаетесь выключить видимость во всех кадрах нужных анимаций, и совершенно зря. нужно просто открыть сохраненную модель с выключенной в первых кадрах анимаций видимостью, затем открыть ее в ВАР3МЕ, открыть вкладку ОКНА-РЕДАКТОР АНИМАЦИЙ ПОВЕРХНОСТЕЙ, вабирать Geosetanimation, в которой Альфа анимирована (стоит галочка). щелкаем по кнопке Альфа, открывается список с адресами. адреса должны идти в порядке возростания, а у вас скорее всего запись 0 :0 или 0 :1 находится где то в середине списка. Просто удаляем эту запись и ставим ее в самом начале списка. проверяем правильный порядок адресов, и если надо, то исправляем. После двоеточия должна стоять цифра 0 или 1, все цифры, отличные от этих, необходимо переправить на 0. Проверяем анимации, с видимостью все должно быть в порядке. Такие же списки видимости бывают и у костей, и у эффектов, и у текстур, советую также их проверять, если занимались анимированием этих объектов

4 Невозможно удалить кадр в анимации (выскакивает ошибка)
Надо создать новую аниму и скопировать туда (копировать кадр) все нужные кадры. причем вновь созданная анима как правило, если даже в исходной были баги в виде дерганья, работает лучше, и в ней уже все норм удаляется. Можно попататься еще сохранить в другой формат, потом оптимизировать, помогает, но редко. Можно распотрошить файл mdl, найти там запись типа 12345:-3.3844567 и удалить ее, но скорее всего вы можете ошибиться и удалить не ту запись)

5 Невозможно что либо сделать с костью или например скрыть поверхность, причом она вроде как скрывается, а после сохранения появляется
бывает из-за того, что глобальные анимки заползли на область обычных анимаций, для других редакторов моделей это повидимому не имеет значения (очень многие модельки Вара сделаны так и работают), но при редактировании в ВИЗе часто появляется баг. То есть надо следить , чтобы анимки начинались после последнего кадра глобальных аним.
PS: продолжение следует
PS: PS: прошу опытных моделлеров дополнить список багов виза и способов исправления

Отредактировано KO3bMA, 28.06.2009 в 12:40.
Старый 18.03.2009, 18:14
WebSter
Товарищ Mechanicus
offline
Опыт: 86,111
Активность:
KO3bMA, полезная статья! Думаю пригодиться при создании анимаций =) Буду пробовать этот способ.
Ещё было бы хорошо, если бы ты описал больше багов виса в отношении анимаций, а то у меня один раз было так, что модель не просто не правильно выполняла анимации, а дёргалась из стороны в сторону...

WebSter добавил:
KO3bMA, кстати, не можешь сказать зачем нужны Глобальные анимации?
Старый 19.03.2009, 07:43
KO3bMA

offline
Опыт: 45,024
Активность:
WebSterдопишу про баги, которые знаю, щас просто некогда
про глобальную анимку смотри http://xgm.guru/articles.php?name=mdlvis_tutorial, а вообще это анимация, которая действует во время всех остальных анимаций, например моргание глаз у морлоков, шевеление от ветра плаща
обновил 1 пост

Отредактировано KO3bMA, 19.03.2009 в 16:23.
Старый 19.03.2009, 09:45
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
Вы смело поправляете и при проигрывании анимации с ужасом замечаете, что кисть руки изменила положение абсолютно во всех кадрах, и править теперь надо все кадры анимки.

нет, просто в начале надо задать ей начальное положение

Цитата:
1 Дерганье модели во время проигрывания анимации
причины:
1 необходимо , чтобы первый кадр в точности был одинаков с последним, часто забывают про последний кадр, в Висе все проигрывается нормально, в Варе и В3МЕ – дерганье. Надо КОПИРОВАТЬ КАДР для 1 кадра и сразу ВСТАВИТЬ последний кадр анимации

молодец, догадался =) (какой щас год?)
Цитата:
4 Невозможно удалить кадр в анимации (выскакивает ошибка)

переоткрываем модель и о чудо!
Старый 19.03.2009, 16:55
KO3bMA

offline
Опыт: 45,024
Активность:
1
ScorpioT1000виз делает в файле мдл какие то невооБразимые записи (иногда) типа 12345 :-3.3844567, так что
Цитата:
нет, просто в начале надо задать ей начальное положение

Цитата:
переоткрываем модель и о чудо!

очень часто не помогает
2
Цитата:
молодец, догадался =) (какой щас год?)

я пишу не для тебя и и тем более не для себя, загляни в тему про виз, вопросов у людей много, поэтому не стоит иронизировать
Старый 19.03.2009, 17:05
KO3bMA

offline
Опыт: 45,024
Активность:
Мдяя, давненько я не заглядывал в Моделлинг FAQ http://xgm.guru/forum/showthread.php?t=16306, , баги уже рассказаны), ну про анимки способ как бы действующий, статью переделаю, более удачный пример приведу, а то щас не понятно, зачем ето нужно, если и так можно сделать
Старый 21.03.2009, 15:45
Hexus
Looking for a victim
offline
Опыт: 19,166
Активность:
KO3bMA, можно еще добавить:
1 При создании модели с нуля лучше создать ей скелет самому в В3МЕ также с нуля - при цеплянии к близзовским костям часто вылетают сообщения об ошибках и модель оказывается запорота.
2 Как правильно создать кость:
создаем в В3МЕ нужные кости и сохраняем
открываем Вис, присоединяем геометрию к костям, и только после этого сохраняем.
При невыполнении этих пунктов получается, что созданная кость, которую не присоединили к геометрии, превращается в хелпер после следующего открытия этого файла с моделью. При присоединении участка геометрии к хелперу в висе появляются многочисленные глюки.
Старый 30.03.2009, 07:09
KO3bMA

offline
Опыт: 45,024
Активность:
Hexusкости норм создаются в Висе
Старый 01.04.2009, 16:01
ARCHIMONDE
Маг'хар
offline
Опыт: 16,313
Активность:
KO3bMA
У меня в редакторе анимаций при проигрывании збиваются интервалы кадров,а сами кадры иcчезают, непример анима имеет интервал 267167 - 268833 после нажатия "Play" 0 - 268833.

Отредактировано ARHIMOND5, 01.04.2009 в 18:33.
Старый 01.04.2009, 18:26
Hexus
Looking for a victim
offline
Опыт: 19,166
Активность:
KO3bMA, В3МЕ удобнее с его иерархией...
Старый 02.04.2009, 07:16
WebSter
Товарищ Mechanicus
offline
Опыт: 86,111
Активность:
Hexus, ну не знаю, мне как-то удобнее видеть, какую кость куда цепляешь, а не видеть одни названия костей.
Старый 02.04.2009, 11:11
KO3bMA

offline
Опыт: 45,024
Активность:
ARHIMOND5попробуй скопировать последний кадр анимы и всавить в первый кадр анимы, хотя чесно я такого не встречал, какая версия Виса?
Старый 02.04.2009, 20:23
Skolozdra

offline
Опыт: 772
Активность:
KO3bMA
Статья полезная.
Ситуация: вы делаете анимацию, все хорошо, но вот в предпоследнем кадре надо поправить положение кисти руки, надо чуть повернуть кость, которую до этого вы не трогали. Вы смело поправляете и при проигрывании анимации с ужасом замечаете, что кисть руки изменила положение абсолютно во всех кадрах, и править теперь надо все кадры анимки. Ладно, если анимка простая, а если кисть руки идет по сложной траектории во всех плоскостях, то это уже проблема.

Я эту проблему решал другим способом
Когда создал анимацию, то сперва редактировал второй кадр, не первый (нулевой и одновременно конечный). Во втором кадре я ВСЕ кости поворачивал на 0.0000001 градусов, каждую кость отдельно поворачивал. Также каждую кость во втором кадре перемещал на 0.0000001. После этого я редактировал первый кадр (он же и последний). Далее редактировал второй (как угодно), а дальше спокойно добавлял остальные кадры и делал с ними что хотел и ничего не портилось. И в конечном итоге анимация получалась отличной, без проблем.

Еще один баг заметил давно: почти с нуля создал модель в редакторе геометрии, создал текстуры, потом перешел на анимации. Все шло хорошо. Потом в игре проверил модель, пока все хорошо было. Далее залез в редактор, чтобы кое-что подправить, и некоторые анимации уже были испорчены (то нога оказалась почему-то за границами сетки, то рука двигалась в неправильном направлении). И уже повороты костей не работали. Но я нашел способ "обойти" эту проблему. Когда вы создали свою модель (без анимаций), сохраните ее. Открываете какую-ту другую, ВСЕ там удаляете (кости, анимации, поверхности, все). Потом создавайте анимации, которые вы бы хотели сделать для своей созданной модели. После создания анимаций, скопируйте туда свою модель с ее текстурами и спокойной редактируйте анимации. После этого проблем не было.
Старый 14.05.2009, 01:20
KO3bMA

offline
Опыт: 45,024
Активность:
SkolozdraSkolozdra
Цитата:
Я эту проблему решал другим способом

все правильно, но если это делаеш для каждой анимы, то муторно
Цитата:
Еще один баг заметил давно: почти с нуля создал модель в редакторе геометрии, создал текстуры, потом перешел на анимации. Все шло хорошо

часто помогает простое копирование(покадровое, неиспорченные кадры), всей анимации, потом удаление испорченной
Старый 26.06.2009, 10:49
KO3bMA

offline
Опыт: 45,024
Активность:
дополнил 1 пост еще 1 багом)
Старый 28.06.2009, 12:52
WebSter
Товарищ Mechanicus
offline
Опыт: 86,111
Активность:
KO3bMA, весьма полезная информация)

А можно я сделаю дополнение?

Я иногда сталкивался с таким багом виса - во время пересадки мяса бывает так, что при попытке в редакторе скелета привязать точки к некоторым костям, мдлвис вылетат, бывает с ошибкой, а бывает и без. Исправляется это созданием кости, с похожим названием, привязанием к ней нужных вершин и установлением зависимости: "Неработающая кость - Новая кость".

Конечно, совет пустяковый, но я думаю кому-то да приодится)
Старый 29.06.2009, 21:37
KO3bMA

offline
Опыт: 45,024
Активность:
WebSter, может проще заменить кость?
новый ( для меня ) баг, правда не знаю, ВИЗа или В3МЕ: после правки нормалей в визе и проверки в В3МЕ в одной из моделей пиратов нарушились анимации видимости поверхностей и эффектов (хотя я это не трогал), причом нарушились последовательности, виз опять прописал числа типа -3,4563,218. я исправил последовательность, в В3МЕ все норм, в игре ружье у моатрос постоянно видно(надо, чтобы кое где пропадало). оказалась интересная весчь - виз или в3ме прописал аниму видимости для одной поверхности 2 раза, и даже с правильными значениями в игре-баг. исправилось просто-удалил лишнюю аниму видимости
Старый 27.07.2009, 17:59
WebSter
Товарищ Mechanicus
offline
Опыт: 86,111
Активность:
WebSter, может проще заменить кость?
Так анимы старой-то потеряются... Конечно можно, используя блокнот, скопировать все КК старой кости и вставить значения в КК новой. Однако у меня после любых изменений КК блокнотом модель перестаёт открываться в w3me =\
Старый 27.07.2009, 21:29
Saturas
Kicked by !
offline
Опыт: 568
Активность:
Очень хорошая статья.
Надеюсь мне пригодитьса ето знание что я здесь прочел.
Старый 29.07.2009, 01:01
Wulfrein
где я?
offline
Опыт: 88,142
Активность:
Hexus:
KO3bMA, В3МЕ удобнее с его иерархией...
а координаты? оО
Wolverine добавил:
WebSter:
Однако у меня после любых изменений КК блокнотом модель перестаёт открываться в w3me =\
пунктуацию нарушаешь мб или не переписываешь число КК при удалении оных
Старый 29.07.2009, 03:29

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:09.