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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в оценке работ на конкурсе "Таинственные миры" 2024!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык
    Ссылка на тему с работами участников- тык

Gothic ½ Расширение возможностей оверлеев и анимаций | zModelProtoExtender [плагин для Union]

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
Мультиплатформенный плагин zModelProtoExtender
Расширение возможностей оверлеев и анимаций




Доступно к скачиванию через Менеджер ресурсов в разделе 'Плагины'
- Скачать Менеджер Ресурсов - 1559419291725.png


Требования: Union 1.0h или выше
Платформа: Gothic I, Gothic Sequel, Gothic II, Gothic II NoTR
Исходный код:
GitHub

Плагин предназначен для загрузки новых анимаций без необходимости в пересборке базового MDS.
Также плагин позволяет загружать оверлеи со скелетами, которые отличаются от скелета базового MDS.
Областью применения плагина может быть что угодно - от пакетов новых mobsi анимаций до собственных ремастеров.
Поставляться такие пакеты могут независимо от установленных модификаций или других кастомных пакетов анимаций.

1. Встраивание новых анимаций:
Изначально движок не способен загружать новые анимации на лету. Для движка идентификатором анимации является ключ, содержащий ее общую информацию. Набор ключей определяется базовым MDS. Это означает, что оверлеи могут иметь любые ключи, но при условии, что одноименный ключ присутствует в базовом MDS.
Поэтому для добавления анимаций пользователь вынужден прописывать новый кллюч в базовый MDS, а затем компилировать его. Иначе любая попытка загрузки оверлея с неизвестными ключами заканчится критической ошибкой.
Сейчас такая проблема в прошлом. Если пользователь попытается загрузить оверлей с неизвестными ключами, плагин самостоятельно допишет их в базовый для всех NPC.

2. Плавный переход оверлеев:
Известно, что при попытке применить оверлей к персонажу, все его анимации принудительно сбрасываются, что влечет за собой ряд неудобств (прим. невозможно реализовать бесшовный спринт) и багов (прим. зависание анимации при работе ai). По сути, эта система является защитой, позволяющей движку перезагрузить анимации, однако, как мы видим, она несовершенна.
Чтобы не портить игроку впечатление от игры, плагин меняет логику переключения оверлеев. Теперь новые или старые анимации незаметно обновляются в списке анимаций. Но если в момент переключения оверлея проигрывается подменяемая анимация, то плагин производит плавный переход из старой в новую.

3. Совместимость анимаций от разных скелетов:
Движок в части анимаций сильно зависим от скелетной иерархии (иерархии узлов модели). Если скелет MDS оверлея отличается от скелета базового MDS, то игрок либо получает критическую ошибку, либо анатомия персонажа ломается до неузнаваемости. Все потому, движок определяет кости не по их виртуальному имени, а по порядковому номеру в иерархии (порядок определяется во время экспорта ASC). Если хотя бы одна кость будет стоять не на своём месте, то все зависимые от конкретного скелета анимации будут сломаны.
Теперь при загрузке оверлея плагин будет сравнивать скелеты. Если у оверлея коллекция костей отличается от базовой, то плагин достраивает недостающие узлы. Если отличается их порядок, то плагин отсортировывает все иерархии по единому шаблону, а также обновляет индексы узлов в самих анимациях на новые.

4. Автоматическое подключение MDS:
Хотя это можно назвать автоподключением оверлеев, на деле этот процесс немного сложнее. Такое подключение предполагает, что плагин позволит загружать не только отдельно взятый MDS (загружаемый), но и вместе с ним все MDS, имя которых содержит префикс с именем загружаемого (встраиваемые). Например:
Daedalus:
HumanS.mds                // загружаемый MDS
HumanS.Remaster.mds       // встраиваемый MDS
HumanS.Remaster_1HST0.mds // встраиваемый MDS

HumanS_1HST2.mds          // загружаемый MDS
HumanS_1HST2.Remaster.mds // встраиваемый MDS
Встраиваемые MDS при загрузке не создают новую скелетную иерархию, а берут от загружаемого MDS. То есть анимации всех встраиваемых MDS добавляются в список анимаций загружаемого, при необходимости перезаписывая их или добавляя новые ключи и кости.
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
KirTheSeeker, там используется более старая версия этого плагина. Union на основании временных меток тома возьмет более актуальный плагин, то бишь этот. Ожидай адекватно быстрые загрузки и стабильную работу в целом.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
alexeich2019, ошибку не получилось словить. Скриптами компилишь или марвином? Hum_BodyNaked0 правильный есть в asc виде?

И еще вопрос. Можно ли не оверлей добавлять, а напрямую расширять хуманс или аналогичный главный оверлей?
Можно. Для этого имя оверлея должно иметь вид: [имя родительского mds].[псевдоним этого оверлея].mds. Например HumanS.TestAnims.mds будет автоматически встроен в тушку людей. Так сделано в плагине на HumansRemaster например.
 

alexeich2019

Участник форума
Регистрация
28 Июн 2019
Сообщения
191
Благодарности
73
Баллы
125
ошибку не получилось словить. Скриптами компилишь или марвином? Hum_BodyNaked0 правильный есть в asc виде?
Ошибка на моей стороне где-то. После отправки сообщения я проверил на чистой готике, все работает корректно.

Можно. Для этого имя оверлея должно иметь вид: [имя родительского mds].[псевдоним оверлея].mds. Например HumanS.TestAnims.mds будет автоматически встроен в тушку людей. Так сделано в плагине на HumansRemaster например.
Спасибо. Теперь если что, будет где примеры посмотреть.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
alexeich2019, ну вообще я все никак не соберусь чендж логи выкатить ни для модел, ни для парсер экстендеров, хотя поменялось в них очень много. И конкретно эта фишка с автоподключением оверлеев тоже нигде не описана. Если кратко, то работает оно не совсем по принципу оверлея. Такой MDS напрямую встраивается в родительский. Начиная от анимаций, заканчивая иерархией костей.
 

Den4ik

Участник форума
Регистрация
14 Ноя 2020
Сообщения
51
Благодарности
1
Баллы
65
alexeich2019, ну вообще я все никак не соберусь чендж логи выкатить ни для модел, ни для парсер экстендеров, хотя поменялось в них очень много. И конкретно эта фишка с автоподключением оверлеев тоже нигде не описана. Если кратко, то работает оно не совсем по принципу оверлея. Такой MDS напрямую встраивается в родительский. Начиная от анимаций, заканчивая иерархией костей.
Приветствую, у меня почему то ломает гг, нога через голову, можете подсказать в чем причина?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625

Den4ik

Участник форума
Регистрация
14 Ноя 2020
Сообщения
51
Благодарности
1
Баллы
65
Обожаю вопросы без описания проблемы.
Поставил плагин, на готике стоит хуманс ремастер, из мода возвращение взял анимацию боя копьем, закинул в compiled, зашёл в игру и увидел ошибку
 

Den4ik

Участник форума
Регистрация
14 Ноя 2020
Сообщения
51
Благодарности
1
Баллы
65
Помогите пожалуйста, если нужны ещё какие нибудь сведения, я расскажу.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.802
Баллы
995
Поставил плагин, на готике стоит хуманс ремастер, из мода возвращение взял анимацию боя копьем, закинул в compiled, зашёл в игру и увидел ошибку
В возвратке оригинальный скелет и анимы заточены под него, поэтому не удивительно что гг у тебя корежит..
те.. анима не совместима с ремастером...
 

Den4ik

Участник форума
Регистрация
14 Ноя 2020
Сообщения
51
Благодарности
1
Баллы
65
В возвратке оригинальный скелет и анимы заточены под него, поэтому не удивительно что гг у тебя корежит..
те.. анима не совместима с ремастером...
Так насколько я понимаю плагин должен объединить их, подстроить скелет. И без плагина при использовании стороннего оверлея не заточеннлго под ремастер вылетает ошибка, а с ним работает, но криво)
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
Так насколько я понимаю плагин должен объединить их, подстроить скелет. И без плагина при использовании стороннего оверлея не заточеннлго под ремастер вылетает ошибка, а с ним работает, но криво)
Фиг знает, надо посмотреть что конкретно у тебя за анимации. Скинь мне куда-нибудь свою папку anims, посмотрю как время появится.
 

Den4ik

Участник форума
Регистрация
14 Ноя 2020
Сообщения
51
Благодарности
1
Баллы
65
Фиг знает, надо посмотреть что конкретно у тебя за анимации. Скинь мне куда-нибудь свою папку anims, посмотрю как время появится.
Приветствую, только сейчас вернулся к тому вопросу, хочу сказать вот что, я попробовал поставить на оригинальную готику хуманс ремастер со встроенным этим плагином, и все заработало, любые анимации, модели доспехов и тд, и тут у меня возникли несколько вопросов, в описании этого ремастера написано, что используется более новая версия плагина, чем та которую можно скачать отдельно, может дело быть в этом, другой вопрос, как нужно правильно расположить все анимы? Я хуманс ремастер под себя подстраивал, и он в папке work находится, новые анимы тоже туда кидаю это правильно или нет?
 

Den4ik

Участник форума
Регистрация
14 Ноя 2020
Сообщения
51
Благодарности
1
Баллы
65
Приветствую, только сейчас вернулся к тому вопросу, хочу сказать вот что, я попробовал поставить на оригинальную готику хуманс ремастер со встроенным этим плагином, и все заработало, любые анимации, модели доспехов и тд, и тут у меня возникли несколько вопросов, в описании этого ремастера написано, что используется более новая версия плагина, чем та которую можно скачать отдельно, может дело быть в этом, другой вопрос, как нужно правильно расположить все анимы? Я хуманс ремастер под себя подстраивал, и он в папке work находится, новые анимы тоже туда кидаю это правильно или нет?
Давайте с вами лично свяжемся где нибудь
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
Сейчас везде аккуратные версии. Скинь Дискорд в ЛС, отвечу туда по мере возможности. Но не ближайшее время точно.
 

jp4003

Участник форума
Регистрация
9 Дек 2022
Сообщения
8
Благодарности
0
Баллы
20
Hello, i want to replace Gothic's 1 and Gothic's 2 default fight animation with 10 % (For Gothic 1) and 60% (For Gothic 2) for two handend and one handed weapons but i even don't know how to start with it, can someone help me? Thanks.
 

Mr.Ermieλ

Участник форума
Регистрация
13 Фев 2022
Сообщения
293
Благодарности
30
Баллы
75
2. Плавный переход оверлеев:
Известно, что при попытке применить оверлей к персонажу, все его анимации принудительно сбрасываются, что влечет за собой ряд неудобств (прим. невозможно реализовать бесшовный спринт) и багов (прим. зависание анимации при работе ai). По сути, эта система является защитой, позволяющей движку перезагрузить анимации, однако, как мы видим, она несовершенна.
Чтобы не портить игроку впечатление от игры, плагин меняет логику переключения оверлеев. Теперь новые или старые анимации незаметно обновляются в списке анимаций. Но если в момент переключения оверлея проигрывается подменяемая анимация, то плагин производит плавный переход из старой в новую.
Так, у меня сейчас есть плагин на спринт с новой анимацией. Допустим если поставить этот плагин, то вот эти промежутки, когда сменяется анимация обычного бега с анимацией быстрого бега, будут не ощутимы и на это будет приятно смотреть? Я правильно понимаю?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
Если автор сделал просто вкл выкл оверлея, то да.
 
Сверху Снизу