Gothic Remake Готика ремейк - общие впечатления и обсуждение
  • 50.702
  • 472
Тема для общего обсуждения Gothic 1 Remake: первых впечатлений, ожиданий, атмосферы, визуального стиля, геймплея, боевой системы, персонажей, локаций и отличий от оригинальной Gothic. Здесь можно...
Новости Релиз Of Ash and Steel состоится 6 ноября
  • 11.927
  • 12
Of Ash and Steel: атмосферный экшен выходит 6 ноября 6 ноября станет важной датой для поклонников сложных и атмосферных игр - именно в этот день состоится релиз долгожданного проекта Of Ash and...
Новости В Of Ash and Steel начался закрытый плейтест
  • 14.221
  • 12
Разработчики "Русской Готики" объявили о старте закрытого плейтеста. Если вы оставляли заявку на участие, не забудьте проверить электронную почту или посмотреть свою библиотеку - возможно игра уже...
Новости Анонсирован Atomic Heart II

Гайд Слои и наложение анимаций в Gothic 2

Exoda

Житель города
Участник форума
Регистрация
10 Окт 2025
Сообщения
119
Реакции
150
Баллы
34
Лучшие ответы
0
#1
Параметр слой (layer) определяет приоритет анимации. Анимации с более высоким слоем имеют преимущество и накладываются поверх анимаций со слоями ниже, но не вытесняют их полностью: фактически воспроизводятся обе анимации, но отображаться будет та, у которой слой выше. То есть это как независимые линии. Слой анимации, как и остальные ее настройки, указывается в блоке ani в MDS файле. Слои и их обычное значение:
  • Слои 0-1: базовый/фоновый слой. Используются для большинства анимаций состояний, например S_RUN (стояние), S_RUNL (бег) и т.д. Именно на этом слое обычно лежат анимации движения.
  • Слои 2+: оверлейные слои. Анимации на этих слоях обычно ложатся поверх базовых и могут накладываться друг на друга. Например, анимация удара одноручным оружием на ходу (T_1HATTACKMOVE) лежит на втором слое, благодаря этому герой может атаковать не прерывая анимацию бега.
Чтобы было понятнее, посмотрим на упомянутый выше пример с анимацией атаки одноручным оружием на ходу (T_1HATTACKMOVE). В этой анимации задействованы только кости верхней части тела (начиная с Bip01 Spine1), то есть фактически эта анимация двигает только корпус и руки. Именно благодаря этому мы можем наложить эту анимацию поверх анимации бега (только движение ног), если поместим ее на слой выше. Вот как конкретно это выглядит в HUMANS.MDS:
Код:
        ani ("T_1HATTACKMOVE"   2   ""   0.1  0.2  M. "HUM_1HS_MOVEATTACK_M01.ASC"   F  1   29)                  
        {
            *eventTag (0  "DEF_HIT_LIMB"  "ZS_RIGHTHAND")
            *eventTag (0  "DEF_OPT_FRAME" "16")      
            *eventSFX (12 "WHOOSH"        EMPTY_SLOT)
        }
Вторым параметром в ani передается слой (как видно, анимации задан второй слой). Итого, у нас есть анимация бега (1 слой, нижняя часть тела) и анимация удара (2 слой, верхняя часть тела). Вкупе это дает анимацию удара на бегу.

Главное учитывать здесь то, что не все анимации можно так легко переопределить. Конкретно в этом примере все устроено максимально просто: у нас есть анимация состояния (бег) и анимация перехода (атака). Анимация атаки одиночная и не влияет на анимацию бега, поэтому он не прерывается. Но в игре есть много анимаций, которые во-первых, применяются кластерами/группами (анимация1 -> анимация2 -> анимация3 и т.п.), а во-вторых могут быть принудительно вставлены движком, даже если такое поведение не описано в MDS файле (например, при использовании зелья автоматически вызовется анимация S_RUN (стояние на месте), которая остановит героя, хотя фактически такое поведение не описано, оно просто есть. Поэтому выпить зелье не прерывая бег не получится).

Еще стоит учитывать, что перемещение на слой выше анимаций, которые были на первом слое, может привести к разнообразным ошибкам, поскольку анимации одного слоя воспроизводятся поочередно, и на этом завязана логика многих анимаций. Особенно это касается анимаций, в которых вызываются какие-либо события (event'ы)

Как сделать анимацию, подобную T_1HATTACKMOVE, которая бы задействовала только определенную часть тела/кости?
Это просто: следуем этому гайду по экспорту анимации, но при экспорте в окне справа надо выбрать только те кости, которые вы и хотите двигать. Например, для анимации использования зелья можно выбрать только кости левой руки и шеи с головой
 
Последнее редактирование:
Сверху Снизу