Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
  • Всего: 29194
  • Последний: WARchild
Сейчас на форуме
Пользователи: 2
Гостей: 685
Всего: 687

0 Пользователей и 1 Гость просматривают эту тему.

Тема: [Anim] Warband Animation + Blender 2.xx  (Прочитано 17629 раз)

  • Сообщений: 91
  • За создание технических проектов различного характера
    • Просмотр профиля
    • Profile
0
« : 31 Декабря, 2010, 16:19 »
Редактирование Warband анимации в Blender'е 2.xx

   Tom Edwards и EasyPickins, респект им огромный, обновили скрипт экспорта/импорта .smd-файлов дав возможность пользователям blender'a править анимацию Warband'a под себя.

Итак, что нужно:
1. openBrf // создание/распаковка/запаковка .brf-файлов, в которых находятся нужные нам анимации .smd
       web: http://forums.taleworlds.com/index.php/topic,72279.0.html
2. io_smd_tools // скрипт экспорта/импорта .smd в blender и обратно.
        web: http://steamreview.org/BlenderSourceTools/
3. blender // бесплатный 3Д-редактор
        web: www.blender.org

Предисловие:
+ установка io_smd_tools в blender;
+ основы работы с blender'oм тут, потом почитаете;

Ход работы в двух словах:
+ Через ОpenBrf открываем .brf-файлы (например из Mount&Blade Warband\CommonRes\..) и ищем анимацию, на основании которой будем делать свою. Многие .brf'ы  содержат по несколько анимаций, выделяем нужную -> клоцаем правой кн. мыши (RClick) -> жмем Export animations, также делаем Export a skin for this ani. В итоге имеем материал для работы: мех человека (human_skin_A.SMD) и его скелет-анимацию (stand_man.SMD). Например, для создания анимации sitting_man я изменял stand_man что в ani_stand.brf (смотрим картинку ниже).

+ Далее, открываем blender, там дефолтный квадрат - удаляем его (X -> Enter);
Импортируем в blender сначало скин, затем саму анимацию:
       1.  File -> Import -> .smd -> human_skin_A.SMD // мех автоматически полностью выделен - ничего не трогая делаем действие №2:
       2. File -> Import -> .smd -> stand_man.SMD // появляются кадры анимации.

+ Далее... анимация бывает активной (удары, движения) и пасивной (позы). Первый случай я пропущу на будущее, а по второму немного добавлю на примере "позы сидя"...
На линейке анимации (смотрим картинку выше) видим число кадров анимации (0-315). Все эти 315 кадров персонаж немного шевелится стоя, а нам нужно сидя. Для этого нам нужно всего-то изменить положение ног во всех кадрах. Кадров много, но мы будем править только один - 1 кадр, остальные подгоним позже в окне граф-эдитора (Graph Editor).
 Погнали: делаем 2 окна -> для второго выбираем тип Graph Editor, на линейке кадров переходим на первый кадр, для главного окна (3D View) меняем режим редактирования с Object Mode на Pose Mode, там же через меню View выбираем нужный вид камеры (Right, Left, Front, Back....).

    Мышь:
       крутить колесо - zoom;
       Shft+крутить колесо - vertical zoom;
       Ctrl+крутить колесо - horizontal zoom;
       зажатое колесо мыши - крутит камеру;
       Shft+зажатое колесо - двигаем картинку в окне;


Продолжаем: вид камеры - Back, крутим нужный zoom, RClick выделяем тазовый узел любой ноги, меняем вид в окне на Right/Left (как удобнее), жмем R (rotation) и поднимаем ногу  на 80-90 град. к телу (LClick или Enter - завершение поворота). Жмем I (Insert keyframes) -> Rotation для фиксации изменений угла поворота анимации данной кости скелета. Затем передвиньте курсор мыши в область окна Graph Editor и покрутите зум чтобы хорошо видеть точки в первом кадре. После наших действий вы заметите, что все линии (за каждую кость скелета отвечают несколько линий, поэтому на графике их так много), начиная с первого кадра и до последнего, относительно ровно-волнистые, но линий 5-6 имеют скачек в первом кадре. Вот их мы и правили, и в дальнейшем нам нужно будет остаток этих измененных линий сровнять по уровню скачка.

Короче, поворачивайте вторую ногу, дальше таким же манером сгибаем их в коленях.
Так, чел сидит, но ввоздухе. Опускаем его, чтобы ноги были на земле, а табуреты в таверне найдутся: (в 3д окне) меню View -> Right, там же влючаем ортогональный 2Д-вид камеры (View Persp/Ortho    Numpad 5) - чтобы лучше видеть где земля, где ноги. Курсор мыши в области 3Д окна, жмем А пока не выделится весь скелет. Жмем G и опускаем объект на землю. Фиксируем изменения позиции объекта (i - > Location).

C 3D-окном закончили, переходим к окну Graph Editor'a -> дублируем его в отдельное окно для удобства (меню View -> Dublicate Area into New Window)...

Начнем снизу..снимаем выделение всех линий если они выделены (А) и RClick'ом выделяем самую нижнюю точку первого кадра (по уровню этой точки должен идти остаток текущей линии), выделяем линию целиком (L) и снимаем выделение с точки которую выделии вначале (Shft+RClick, если надо увеличивайте зум), она не должна двигаться, жмем G и опускаем выделенный участок линии на уровень точки.

Теперь линия "позиции меха над землей" поправленна для всех 316 кадров.

Так правятся все линии имеющие пики в первом кадре.

Нужно только следить куда ведет пик, вверх или вниз, и соответственно поднимать или опускать остальной кусок линии. После того как все линии будут выровненны, можно переходить в 3D-окно и проверять всю анимацию вцелом (Alt+A), если она прыгает - значит какую-то линию пропустили.
Если с редактом анимации закончили, експортируйте анимацию назад в .smd. Выходной файл переименуте.

В OpenBrf'е создаёте новый .brf (или открываете старый, из которого брали аниму для редакта) и добавляете в него свою новую анимацию (меню Import -> Skeletar animation). Сохраняетесь в Warband\Modules\ВашМод\Resource (если .brf создан вами), добавляете строчку на ваш brf в module.ini, прописываете новый action в module_actions.py вместо "unused_human_anim_XX" с ссылкой на новую анимацию после чего, юзаете его (action-действие) в скриптах.

Чтобы быстро проверить аниму в игре без прописи в файлах указаных выше, добавьте ее в нативовский или другой, уже прописанный brf в котором временно подмените имена анимаций. Например открываем ani_stand_quardsman.brf, там одна анимация stand_quardsman - > переименовываем её (F2) в stand_quardsman1. Импортируем нашу анимацию и обзываем stand_quardsman (т.е. под старым именем теперь новая анимация). Сохраняемся, заходим в игру -> смотрим, все гварды сидят.

Пусть вас не смущает, то что они шевелятся и потом замирают, в стандартной анимации stand_quardsman 2400 кадров, а у нашей всего 315.

Нюансы:
Точка в 0-кадре на линии "положение объекта над землей" (на графике, она у меня самая нижняя)  должна иметь координаты [0;0]. Так как мы опускали эту линию ровняя с пиком, точку в нулевом кадре нужно поднять на старое место. Иначе, в игре, мех будет висеть в воздухе (это видно в OpenBrf'e).


Туторы:
Создание новых скелетов и изменение их размера | Добавление новой анимации

FAQ:
*Насчет питона - блендер на борту уже несет библиотеки питона 3.1, дополнительно устанавливать ничего не нужно (без нужды естесно).

Цитировать (выделенное)
нажав на StudiomdlData(.smd.vta.qc)выскочил эррор:io_smd_toolspy”line1742.in invoke….Atribute Error:Windows Manager ..object has no attribute”add_fileselect”…location:<uncnown lacation>:-1
без ерроров у меня работает пара Blend 2.55+Smd 0101.

Цитировать (выделенное)
Куда конкретно экспортируются SMD ИЗ Опен БРФа?
при экспорте из ОпенБрф 0.51 у меня появляется окно "куда экспортировать, с каким именем и кнопкой Сохранить". Разве у вас не так?

Цитировать (выделенное)
Если сделана часть анимы,то как можно сейвануть часть работы,чтобы продолжить в другой день?
(В Blender'e)
Сохранить проект: File -> Save As -> имя_файла_проекта_на англ.blend
Открыть: File -> Open (Open Recent...) -> ваш_файл_проекта.blend

« Последнее редактирование: 23 Декабря, 2014, 20:24 от Shcherbyna »
  • Сообщений: 3
    • Просмотр профиля
0
« Ответ #1 : 10 Октября, 2011, 13:32 »
Я решил сделать примерно по этой инструкции колющий удар, но когда я его сделал он почему то действует только с 8 кадра.

  • Ник в M&B: MrNesquik
  • Сообщений: 7
    • Просмотр профиля
0
« Ответ #2 : 07 Июля, 2012, 13:57 »
Дайте ссылку на нормально работающий архив блендера и скрипта на импорт/экспорт. А то перепробовал уже несколько версий и в итоге или блендер вылетает с ошибкой, или не может установить скрипт, или скрипт тупо не видит .smd файлы  facepalm

Учусь делать еще один бесполезный и никому не нужный мод!
  • Сообщений: 7578
  • За наиболее важные для развития сайта идеи За особо выдающиеся авторские тексты За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов И создали они сайт... Призер конкурса Футболка по версии Всадников
    • Просмотр профиля
Моя конфигурация:
Нормальная, мне хватает.
  • Сообщений: 1181
    • Просмотр профиля
0
« Ответ #4 : 09 Июля, 2012, 17:13 »
Победитель народов,

Вот Блендер 2.55 и io_smd_tools_0101
http://depositfiles.com/files/rw907ry1e
Проверен.
Небольшое дополнение по началу «движения костей»:
1.ПКМ на кость
Далее ЛКМ (по красной стрелке) в правом верхнем углу на маленьком кружочке с крестиком
чтобы открыть меню координат W,X,Y,Z
2.Открываем(см.желтым =меню координат W,X,Y,Z)и правим по правым-левым стрелкам (ЛКМ на дробях и можно вбить любую цифру=поточнее «крутануть»кость)


« Последнее редактирование: 09 Июля, 2012, 18:28 от Baltijec »
  • Сообщений: 7
    • Просмотр профиля
0
« Ответ #5 : 10 Июля, 2012, 22:49 »
HunterWolf, Baltijec,
Спасибо! Продолжаю обучаться  :thumbup:

Учусь делать еще один бесполезный и никому не нужный мод!
  • Сообщений: 176
    • Просмотр профиля
0
« Ответ #6 : 05 Января, 2013, 19:19 »
Ребята, немного не по теме, но все же попрошу откликнуться. Ситуация следующая: привязку я делаю в максе, но там существует одна проблема - плагин экспорта смд не очень корректный, посему решил попробовать экспортнуть через блендер. Т.е. я привязанную модель импортировал в формате 3ds в Blender. И вот такая странная штука получилась

Люди до сих пор всегда создавали себе ложные представления о себе самих, о том, что они есть или чем они должны быть. Согласно своим представлениям о боге, о том, что является образцом человека, и т. д. они строили свои отношения. Порождения их головы стали господствовать над ними. Они, творцы, склонились перед своими творениями. Освободим же их от иллюзий, идей, догматов, от воображаемых существ.
  • Сообщений: 1
    • Просмотр профиля
0
« Ответ #7 : 21 Марта, 2013, 16:12 »
Спасибо ОГРОМНОЕ ребят!))

Слава Рюрику!

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC