Марвин
Участник форума
- Регистрация
- 23 Сен 2007
- Сообщения
- 30
- Благодарности
- 17
- Баллы
- 165
Итак, в этом уроке я постараюсь максимально просто и доступно изложить основы прикрепления меша к скелету (biped).
Для урока я использовал 3dsmax 9, Kerrax ASC Importer\Exporter и GothicSourcer 3,14.
Кто не знает, GothicSourcer я использовал для декомпиляции файла HUMANS.MSB, который есть в комплекте G2MD. Таким образом я с этого файла вытащил файлы моделей и анимации (ASC файлы).
Итак, в 3dsmax я импортировал файл ARMOR_SLD_H.ASC, после чего получил следующее:
то есть как видно — это простой меш внутри которого есть скелет.(Кубики внутри меша это есть скелет).
Скелетом это тяжело назвать, но имеем то что имеем ….
Вот собственно это чудо. Почему я так говорю, так это просто объяснить. Если в будущем планируется создавать хорошую, качественную анимацию, то надо строить свой скелет (biped), и его анимировать. Конечно можно использовать и этот, но это просто самоубийство времени, при чем жесткое! Если надо просто изменить несколько кадров анимации, там допустим поменять градус поворачивания тела, то конечно сгодится для правки и этот костяк. Но если надо все делать с нуля, то имейте ввиду, что лучше создать свой скелет.
Так продолжаем. Допустим есть новый меш, который надо прикрепить к скелету. Прежде всего удаляем старый меш, то есть выделяем его и жмем Delete, в следствии чего мы получим голый скелет (рисунок выше). Далее новый меш нужно подстроить под скелет:
То есть методами масштабирования
(кнопка на панели инструментов), и методом передвижения
меша. Так вот пробуем подогнать все точно под скелет, как на самом первом рисунке, чтобы скелет оказался внутри меша. Немного отойду от темы. Стоит заметить что надо учитывать, как создавать модель для скелета, то есть чтобы не получилось так что созданная модель мягко говоря не катит под скелет. В этом случаи, когда используется старый скелет, это просто катастрофа. Скелет можно править, НО, тогда, могут возникнуть ряд неурядиц и проблем с анимацией, или наоборот придется подправлять меш «на ходу», что тоже не всегда удобно. Вот собственно еще один аргумент в минус использования старого скелета. И вообще я не правильно говорю, всегда скелет настраивают под меш, но в этом случаи, если нужно только махнуть меш, а анимацию оставить, то надо как-то меш приспособить к скелету.
Продолжаем. После того как меш выставили на уровень со скелетом, отправляемся на вкладочку Modify(модификаторы)
, выделяем наш меш и в списке модификаторов выбираем Physique(телосложение).
Вообще еще можно использовать модификатор Skin(кожа) место Physique, и настроек у него будет побольше, но так как модели низко полигональные, то особого смысла использовать этот модификатор я не вижу. Но если умеете с ним работать, то можно использовать и его.
Так вот после того как модификатор был наложен следующим действием будет привязка меша к скелету. Делается это так, на вкладке Physique нажимаем на кнопочку Attach to node
и после этого нажимаем на том кубике скелета, у которого имя Bip01, он находится обычно по центру в тазовой кости скелета. Это так называемый корень нашего скелета.
Найдите его и точно к нему приатачте меш. (Для простоты просто перед атачем меша выделите все ненужные части скелета и командой Hide Selection скройте их.)
Вот на рисунке ниже видно как я скрыл все ненужные мне на данном этапе кости, и оставил только главную, то есть Bip01.
Так вот нажимаем кнопку Attach to node и сразу нажимаем мишкой на этом кубике. После появится окно Physique Initialization в котором идут условия составления телосложения. Особо не стоит заморачиваться, жмем кнопку Initialize
После того как инициализация будет выполнена, можно сказать что 30% работы выполнено. Теперь вполне можно импортировать кадры анимации и посмотреть где меш приклеился к скелету хорошо а где не очень...
Вот что у меня получилось при попытке проиграть анимацию ходьбы. Ужас. Все это говорит о том что есть вершины меша которые не склеились с костями, то есть кость не имеет никакого влияние на этот меш, поэтому происходит такая деформация. Это не страшно, и у кого как, у меня получилось так, у кого то результат может быть гораздо лучше. Будем это исправлять. Для этого выделяем меш, в модификаторе Physique выбираем Vertex(вершины).
Потом снова выделяем меш и видим следующую картину.
Наблюдаем что есть вершины(крестики) разного цвета.
Красный — на эту вершину влияет одна кость.
Вишневый — на эту вершину влияет две или более костей.
Синий — на эту вершину не влияет ни одна кость.
Синие это и есть наша цель.
Пока будем исправлять не привязные вершины. Для этого на вкладке Vertex Link Assignment выберите только синий квадратик.
Это даст нам возможность при выделении части меша, выделять только не привязные вершины, то есть синего цвета.
Теперь самый важный момент, на этой стадии решается как качественно наш меш будет себя вести при его анимировании. Он будет вести себя на столько качественно, на сколько качественно и правильно его привяжут к костям.
Обратите внимание на окошко Vertex Operations.
Здесь есть режимы и операции работы с вершинами. Нас интересует только несколько из них:
Select – режим выделения тех типов вершин, которые указаны на на вкладке Vertex Link Assignment(смотри выше).
Assign to Link – назначать связь. Имеется веду назначить связь выделеной вершины с костями.
Remove from Link – удалить связь. Используем тогда когда видим что не к той кости привязали вершину, или вершина себя «плохо ведет» при анимации. В таком случаи ее надо привязать к другой кости или к нескольким сразу.
Lock Assignments – блокировать вершины. То есть если они заблокированы, то над такими вершинами нельзя произвести операции с назначением удалением связей.
Unlock Assignments – разблокировать вершины.Вот собственно только эти операции нам и надо.
Теперь самое важное. Привожу пример на части ноги:
Так вот есть не привязаны вершины они выделяются синим цветом. Ось связей это изгибы, то есть где у скелета могут происходить изгибы. И собственно сама связь это и есть кость.
И последнее. Берем не привязаны вершины, смотрим с какой костью они на одном уровне и с помощью команды Assign to Link привязываем эти вершины именно к костям.
Привязка происходит на уровне подсознания, надо хоть как то понимать и представлять какая кость на какую вершину влияет!!!
Также одну вершину можно привязать в нескольким костям одновременно. Это уместно тогда когда на вершину могут влиять две кости, например уровень колена или локтя, позвоночник и т.д.
Ну вот и в принципе все. Конечно этого будет достаточно чтобы привязать меш к скелету, но стоит глянуть и на другие параметры Physique, например такой параметр как Envelope, с помощью которого можно решить много проблем с влиянием костей на вершины, настроить вес влияния и т.д.
Последний этап это тестирование нашей привязки. Для этого импортируем анимацию (желательно разнообразную), и проигрываем ее. Смотрим где вершины отрываются, неправильно себя ведут и т.д. Если таковы есть то правим их все тем же методом через Vertex.
Да и еще чуть не забыл:
Название меша должно начинаться на zm_имя , иначе при экспорте можно его потерять.
Все выше написано — это мое субъективное мнение и высказывание по поводу некоторых терминов и объяснений. На этом все. Всем удачи.
Для урока я использовал 3dsmax 9, Kerrax ASC Importer\Exporter и GothicSourcer 3,14.
Кто не знает, GothicSourcer я использовал для декомпиляции файла HUMANS.MSB, который есть в комплекте G2MD. Таким образом я с этого файла вытащил файлы моделей и анимации (ASC файлы).
Итак, в 3dsmax я импортировал файл ARMOR_SLD_H.ASC, после чего получил следующее:
то есть как видно — это простой меш внутри которого есть скелет.(Кубики внутри меша это есть скелет).
Скелетом это тяжело назвать, но имеем то что имеем ….
Вот собственно это чудо. Почему я так говорю, так это просто объяснить. Если в будущем планируется создавать хорошую, качественную анимацию, то надо строить свой скелет (biped), и его анимировать. Конечно можно использовать и этот, но это просто самоубийство времени, при чем жесткое! Если надо просто изменить несколько кадров анимации, там допустим поменять градус поворачивания тела, то конечно сгодится для правки и этот костяк. Но если надо все делать с нуля, то имейте ввиду, что лучше создать свой скелет.
Так продолжаем. Допустим есть новый меш, который надо прикрепить к скелету. Прежде всего удаляем старый меш, то есть выделяем его и жмем Delete, в следствии чего мы получим голый скелет (рисунок выше). Далее новый меш нужно подстроить под скелет:
То есть методами масштабирования
Продолжаем. После того как меш выставили на уровень со скелетом, отправляемся на вкладочку Modify(модификаторы)
Вообще еще можно использовать модификатор Skin(кожа) место Physique, и настроек у него будет побольше, но так как модели низко полигональные, то особого смысла использовать этот модификатор я не вижу. Но если умеете с ним работать, то можно использовать и его.
Так вот после того как модификатор был наложен следующим действием будет привязка меша к скелету. Делается это так, на вкладке Physique нажимаем на кнопочку Attach to node
и после этого нажимаем на том кубике скелета, у которого имя Bip01, он находится обычно по центру в тазовой кости скелета. Это так называемый корень нашего скелета.
Найдите его и точно к нему приатачте меш. (Для простоты просто перед атачем меша выделите все ненужные части скелета и командой Hide Selection скройте их.)
Вот на рисунке ниже видно как я скрыл все ненужные мне на данном этапе кости, и оставил только главную, то есть Bip01.
Так вот нажимаем кнопку Attach to node и сразу нажимаем мишкой на этом кубике. После появится окно Physique Initialization в котором идут условия составления телосложения. Особо не стоит заморачиваться, жмем кнопку Initialize
После того как инициализация будет выполнена, можно сказать что 30% работы выполнено. Теперь вполне можно импортировать кадры анимации и посмотреть где меш приклеился к скелету хорошо а где не очень...
Вот что у меня получилось при попытке проиграть анимацию ходьбы. Ужас. Все это говорит о том что есть вершины меша которые не склеились с костями, то есть кость не имеет никакого влияние на этот меш, поэтому происходит такая деформация. Это не страшно, и у кого как, у меня получилось так, у кого то результат может быть гораздо лучше. Будем это исправлять. Для этого выделяем меш, в модификаторе Physique выбираем Vertex(вершины).
Потом снова выделяем меш и видим следующую картину.
Наблюдаем что есть вершины(крестики) разного цвета.
Красный — на эту вершину влияет одна кость.
Вишневый — на эту вершину влияет две или более костей.
Синий — на эту вершину не влияет ни одна кость.
Синие это и есть наша цель.
Пока будем исправлять не привязные вершины. Для этого на вкладке Vertex Link Assignment выберите только синий квадратик.
Это даст нам возможность при выделении части меша, выделять только не привязные вершины, то есть синего цвета.
Теперь самый важный момент, на этой стадии решается как качественно наш меш будет себя вести при его анимировании. Он будет вести себя на столько качественно, на сколько качественно и правильно его привяжут к костям.
Обратите внимание на окошко Vertex Operations.
Здесь есть режимы и операции работы с вершинами. Нас интересует только несколько из них:
Select – режим выделения тех типов вершин, которые указаны на на вкладке Vertex Link Assignment(смотри выше).
Assign to Link – назначать связь. Имеется веду назначить связь выделеной вершины с костями.
Remove from Link – удалить связь. Используем тогда когда видим что не к той кости привязали вершину, или вершина себя «плохо ведет» при анимации. В таком случаи ее надо привязать к другой кости или к нескольким сразу.
Lock Assignments – блокировать вершины. То есть если они заблокированы, то над такими вершинами нельзя произвести операции с назначением удалением связей.
Unlock Assignments – разблокировать вершины.Вот собственно только эти операции нам и надо.
Теперь самое важное. Привожу пример на части ноги:
Так вот есть не привязаны вершины они выделяются синим цветом. Ось связей это изгибы, то есть где у скелета могут происходить изгибы. И собственно сама связь это и есть кость.
И последнее. Берем не привязаны вершины, смотрим с какой костью они на одном уровне и с помощью команды Assign to Link привязываем эти вершины именно к костям.
Привязка происходит на уровне подсознания, надо хоть как то понимать и представлять какая кость на какую вершину влияет!!!
Также одну вершину можно привязать в нескольким костям одновременно. Это уместно тогда когда на вершину могут влиять две кости, например уровень колена или локтя, позвоночник и т.д.
Ну вот и в принципе все. Конечно этого будет достаточно чтобы привязать меш к скелету, но стоит глянуть и на другие параметры Physique, например такой параметр как Envelope, с помощью которого можно решить много проблем с влиянием костей на вершины, настроить вес влияния и т.д.
Последний этап это тестирование нашей привязки. Для этого импортируем анимацию (желательно разнообразную), и проигрываем ее. Смотрим где вершины отрываются, неправильно себя ведут и т.д. Если таковы есть то правим их все тем же методом через Vertex.
Да и еще чуть не забыл:
Название меша должно начинаться на zm_имя , иначе при экспорте можно его потерять.
Все выше написано — это мое субъективное мнение и высказывание по поводу некоторых терминов и объяснений. На этом все. Всем удачи.
Последнее редактирование модератором: