К сожалению нужно ставить новые руки на автомат, а я делаю наоборот -
ставлю автомат на новые руки, это менее трудоемко, хоть и теряется
старая анимация автомата - будет та, которая на руках. Ну да ладно,
расскажу - как знаю))) Замена осуществляется в редакторе моделей
MilkShape 3d, наверное большинство пользователей портала Games World с ним
уже знакомы))) Для примера нам потребуется наш новый автомат с
руками от 1.5 - возьмем АК-47 со штык-ножом OLAF'а. Также нужен будет
базовый автомат с руками от 1.6 и похожей анимацией - воспользуемся
стандартным АК47 из 1.6. Запускаем Милк, декомпилируем базовый АК47, импортируем основной .smd - в окошечке с галочками выбираем все три пункта.
Переходим на вкладку со списком костей - Joints, посмотрим какие части и
к каким костям нам надо будет привязывать на нашем новом автомате.
Справа в меню посерединке есть функция "Draw vertex weights", ставим в
ней галочку, теперь щелкая на кость автомата - мы сможем наглядно видеть
на экране какая именно деталь к ней привязана. В большинстве случаев
кости автомата находятся в низу списка. На многих моделях их называют по
деталям, которые к ним привязаны - то есть например Trigger (курок),
Clip или Magazine (магазин с патронами), Bolt (затвор), Handle и Slide у
пистолетов (рукоятка и затвор пистолета соответственно) и т.п. Но у нас
в примере модель Valve'вская, так что все кости просто цифрами
пронумерованы.
Итак, смотрим с низу вверх по списку - Bone52 - на экране красным
цветом выделяется затвор; Bone50 - магазин; 48 - защелка магазина;
Bone25 - курок; Bone_AK47 - само оружие. Остальные кости предназначены
для других частей модели. Стоит также отметить, что для каждой модели
свое количество костей и называются они по разному. Вернемся к нашему
примеру - запоминаем название наших нужных костей и детали, которые к
ним привязаны, если память не работает - можно записать.
Потом заходим на вкладку Groups, выделяем все части оружия и жмем
кнопочку Regroup - теперь нам не так важны части базового оружия, как
само его расположение. Регруппировка позволяет переименовать названия
групп, чтобы при добавлении нового оружия в программу не было совпадений
в названии, которые привели бы к значительным затруднениям.
Дальше декомпилирем наш новый автомат и импортируем основной .smd в эту
же открытую программу к базовому, но - при появлении маленького
окошечка с тремя галочками убираем две нижние и оставляем только
Triangles.
Затем на вкладке Groups удаляем лишее с нашей новой модели - руки, если
есть, если нет - хорошо. Удаление можно произвести выделив в с писке
групп названия hand и thumb и щелкнув кнопку Del на клавиатуре. Потом
выделяем все группы нового оружия в списке и с помощью кнопок Move
(двигать), Rotate (разворачивать) и Scale (сжимать/растягивать) начинаем
в ручную или по значениям координат чуть ниже перемещать нашу новую
модель так, чтобы основные детали нового (курок, рукоятка, магазин) были
на тех же местах что и у базового.
После того как наши автоматы практически на одном и том же месте,
заходим в Groups и удаляем базовый, выделив его перегруппированную часть
Regroup01 и щелкнув Del. Теперь самое интересное - будем
привязывать кости базового автомата с вкладки Joints к деталям нашего
нового автомата. Для удобства первым делом привяжем весь автомат в
основной кости - выделяем все группы на вкладке Groups, переходим на
вкладку Joints, вспоминаем нашу кость самого оружия - Bone_AK47,
выбираем ее в списке и жмем кнопочку Assign.
Затем перевяжем нужные нам части - магазин, то есть группа в списке
magazine.bmp - к кости Bone50, магазинную защелку и курок в группах
отдельно найти нельзя, поэтому придется приблизить изображение колесиком
и выбрать мышкой в ручную, назначаем на нашу Bone48 и Bone25
соответственно как и было на базовом.
Кости привязаны, теперь экспортируем модель под именем основного .smd
нашего базового стандартного автомата, спросит о замене - соглашаемся.
Готово. Компилируем файлы по скрипту базового стандартного автомата и
теперь у нас вместо стандартного АК47 - наш тот самый АК-47 со
штык-ножом, который был с руками от 1.5. Теперь он у нас с руками 1.6,
вот результат: Скажу, что подобным образом можно менять не только руки с 1.5 на 1.6, можно брать руки от CZ или от Source, алгоритм такой же. С уважением, gEfesT