• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Эксперименты по сложной оснастке персонажей

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
  • Первое сообщение
  • #1
ВНИМАНИЕ!
Перед изучением статьи будет полезно почитать предыдущую: "Правильное приготовление головы персонажа". Желательны также общие представления о работе в 3DsMax и вставке персонажей в моды для Готики.

Давно хотел описать эксперимент по созданию персонажа с длинными волосами на движке Готики. Данный материал вовсе не призыв бежать и делать что-то аналогичное, а скорее размышления на тему нераскрытого потенцЫала zengin.
Итак, для начала нужен персонаж с косой. Ничего кроме модели леди Крофт мне в голову не пришло. Однако, найти нормальный такой рип, сделанный прямыми руками, мне не удалось. Зато нашлась ее версия с хвостом из TR:Legend, с которой можно было сделать хоть что-то. Игра, кстати, 2006 года и в нее я не играл.
После некоторых чисток и ручной доводки, из рипа получилось вот что:
LR1.jpg
С головой я проделал примерно тот же прием, что и в первой статье. Правда, тут взял только лицо фактически:
LR2.jpg
Это и составило основу "готической" головы. На это раз не поленился даже сделать анимацию моргания, чтобы показать, что такая конструкция позволяет сделать мимику и отыграть ее на zengin.
Глаза и волосы остались частью основного тела (зубы и ротовую полость я удалил, т.к. особой роли для теста они не играют).
Идея теста состоит в следующем: просчитать физику косы (хвоста волос) средствами 3Д-редактора, а затем экспортировать анимацию в готический формат. Ввиду того, что никакой физикой в zengin не пахнет, а анимировать косу вручную удовольствие сомнительное, данный эксперимент весьма интересен.

Косу сделал с помощью стандартных костей Biped: три секции:
LR3.jpg
Сами секции связал средствами Point-Point Constraint, а физику коллизий повесил на кости бипеда. Кости имеют простую геометрию, поэтому расчет физики довольно быстр. Все моделирование делалось средствами reactor. Насколько я знаю, его выпилили из 3DsMax начиная с 2012 версии, и что пришло на замену (и пришло ли), сказать не могу.
В тесте не было цели сделать супер-реалистичную имитацию физики, все настройки подгонялись грубо, лишь бы программа схавала без ошибок и предупреждений.
После симуляции кости косы получают кадры анимации, которые можно удалять, редактировать и т.п. Я воспользовался этим в циклических анимациях, чтобы на пером и последнем кадрах положение косы совпадало. И тут очень полезно, что коса собрана именно костями бипеда, а не отдельными цепочками, т.к. анимацию костей бипеда очень удобно редактировать средствами CS.

Готовую модель собрал для Готики1, компилировал через Gothic Engine Керракса, т.к. там можно раз и навсегда при компиляции модели отключить LOD. Дальнейшие забеги были выполнены на чистой Готике 1.
Видео-отчёт тут:


Какие можно сделать краткие выводы? Ну, zengin вполне способен шевелить модели, которые были в ходу в играх до конца нулевых. Если бы PB развивали движок вглубь, то на нем вполне реально делать как качественную анимацию тела, мимики, так и простую анимацию физики отдельных элементов через движок игры.

Осмелюсь предположить, что не составит также труда анимировать сами глаза, чтобы персонаж ими мог вращать, а не только моргать, глядя в никуда. Штатными средствами.

Также можно экспортировать персонаж составным - руки и ноги отдельно, например. Это дало бы возможность делать, например, составную броню: торс, сапоги, перчатки (при наличии поддержки в движке). Т.е. каждый элемент брони покрывал только отведенную ему часть. Скажем, главный торс - это меш с именем zm_torso, перчатки - zm_arms, а сапоги - zm_boots. В скриптах соответственно: wear_torso/wear_arms/wear_boots.

По прежнему считаю освещение в zengin не подходящим для сложных моделей. С DX11-рендером не пробовал (скорее всего будет заметно лучше). И судя по всему, zengin ничерта не знает про Smoothing Groups :confused:

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

З.Ы. А почему никто никогда не распускал волосы безымянному герою?
 

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Ну, была пара мыслей еще, кушать нормально не мог.
И оно заработало! *yes!* Zengin тащит, если ему данные правильно скормить.

Пришлось прибегнуть к услугам skin-модификатора при привязке шкурки. И осталось додумать, как это реализовать на привычном и стабильном для движка "физикью", т.к. skin не совсем корректно воспроизводит привязку в игре, если использовать vertex weight:
GEngine_2017.jpg
С точки зрения 3dsmax skin - инструмент, конечно, гораздо более мощный и корректный. И кроссплатформенный fbx-формат работает только со skin.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
И оно заработало! *yes!*
Во, другое дело!
— А она боялась, тока юбочка помялась.. © *ok!*

С точки зрения 3dsmax skin - инструмент, конечно, гораздо более мощный и корректный. И кроссплатформенный fbx-формат работает только со skin.
Ну, оно и понятно если смотреть на наш зверинец.. *right*
 
Сверху Снизу