Коллбеки к кадрам анимации - ixray-team/ixray-1.6-stcop GitHub Wiki
Anim Notify
- Anim Notify - система коллбеков, которые срабатывают при проигрывании анимации. Эта система позволяет привязать действия к конкретной кости модели при проигрывании определённого кадра анимации. Например, если есть анимация чихания для НПС, где он делает это несколько раз. И с помощью anim notify есть возможность привязать на каждый кадр, соответствующий чиху, отдельный коллбек, чтобы на кости рта проигрался звук того, как НПС чихает.
- Имеется возможность привязать к кадрам анимации следующие действия:
- Выдача инфопоршня
- Убирание инфопоршня
- Вызов Lua функции
- Проиграть партикл на кости
- Проиграть звук на кости
Создание коллбека
Поле с коллбеками представлено в виде дерева с 3 уровнями строк:
- Все коллбеки в анимации
- Все коллбеки на кости
- Группа коллбеков на кости
- Уровень 3 создан на случай, если необходимо привязать два и более коллбека на одну и ту же кость в одном и том же либо близких кадрах. В то же время, только метки на 3 уровне являются интерактивными.
Добавление коллбека
- В AE в окне KeyForm раскрыть поле
Notifies
и нажать кнопкуAdd
. - В появившемся окне выбрать нужную кость, на которую добавляется коллбеки. Появится отдельная строка с нотифаями, которые относятся к выбранной кости
- Раскрыть поле с нужной костью и нажать на кнопку
Add
. После этого отдельная строка с нотифаями, но которой можно разместить коллбеки.
- Имеется альтернативная возможность поставить коллбек: в поле проигрывания анимации выставить ползунок на нужный кадр, и нажать кнопку
Current keyframe
справа от нужной строки.
Удаление коллбека
- Для того, чтобы убрать коллбек, можно воспользоваться одним из двух действий:
- Навестись в поле Notify на метку и нажать ПКМ.
- В поле настройки нажать на кнопку
Del
.
- Для того, чтобы убрать строку целиком, нужно нажать кнопку
Del
соответствующей строки
Очистка кости от коллбеков
- Для того, чтобы очистить кость от всех коллбеков, нужно нажать на кнопку
Remove Bone
в поле, соответствующей нужной кости.
Окно настройки коллбека
- Информацию о коллбеке хранится в отдельном конфиге. Если навестись на нужный коллбек и нажать ЛКМ, то ниже всех строк откроется поле с настройками коллбека. В текстовое поле
External ref
нужно вписать имя секции, на которую будет ссылаться коллбек в конфигах.
Хранение информации в конфиге
- При хранении информации в конфиге используется имя коллбека как идентификатор. Можно создавать несколько коллбеков с одинаковым именем
- Имя коллбека не учитывает регистр. Поэтому, например
Callback_Name
иcallback_name
будут одним и тем же именем - Нужно в директории
gamedata/configs/misc
создать папкуanim_notify
и в нём создать файл со следующей секцией:
[имя_коллбека]
type = тип_коллбека ; доступный варианты `give_info`,`disable_info`,`lua_functor`,`play_sound` или `play_particle`
Info = имя_инфопоршня ; только для типов `give_info` или `disable_info`
Func = имя_файла_скрипта.имя_функции ; только для типа `lua_functor`
particle = путь\до\партикла\имя_партикла ; только для типа `play_particle`
sound = путь\до\звука\имя_звука ; только для типа `play_sound`