Копирование событий анимаций на другую анимацию

Программирование на Юнити.

Копирование событий анимаций на другую анимацию

Сообщение novavision 22 дек 2016, 08:05

Привет.

Еще пару месяцев назад столкнулся с такой проблемой, но ввиду того, что объем переделки был не большой, решил сделать все вручную. Сейчас объем очень большой и надо найти автоматизируемое решение.

Проблема - при замене анимаций в проекте (переделывали FBX, добавляли и изменяли анимации) нельзя скопировать события с клипа на другой клип. Событий много... Я пытался найти что-то в сети, но ни одно решение не походит. Вернее просто не работает. Например это

Есть ли рабочие варианты? Думаю идеально было бы по такому же принципу, как в этом примере выше, указывая source/destination clip и копировать.
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Копирование событий анимаций на другую анимацию

Сообщение TEHb 22 дек 2016, 08:53

Было бы классно если бы ты приложил код событий и как ты используешь для примера мне просто интересно твое решение
TEHb
UNец
 
Сообщения: 20
Зарегистрирован: 11 ноя 2016, 18:59

Re: Копирование событий анимаций на другую анимацию

Сообщение novavision 22 дек 2016, 15:49

TEHb писал(а):Было бы классно если бы ты приложил код событий и как ты используешь для примера мне просто интересно твое решение


Решение взято с купленного ассета, и мне показалось очень удобным. События анимации запускают функцию ExecuteEvent с string параметром.
http://take.ms/2T1jv
На персонаже скрипт AnimatorMonitor имеет метод ExecuteEvent(string param) и уже оттуда рассылает события через кастомный EventHandler.
Синтаксис:
Используется csharp
 EventHandler.RegisterEvent(m_GameObject, "OnAnimatorShortClimbComplete", ShortClimbComplete);
 EventHandler.UnregisterEvent(m_GameObject, "OnAnimatorShortClimbComplete", ShortClimbComplete);
 EventHandler.ExecuteEvent(m_GameObject, "OnAnimatorShortClimbComplete");
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Копирование событий анимаций на другую анимацию

Сообщение TEHb 23 дек 2016, 10:33

Спасибо за разъяснение.
Платный вариант для меня не вариант.
Думал просто неверно описываешь термин "событие"
Ожидал что это триггер какой то, но ты реально используешь события.

Мне не нравятся события, подписываться на них отписываться,
сложно на мой взгляд отслеживать.

Еще раз спасибо.
TEHb
UNец
 
Сообщения: 20
Зарегистрирован: 11 ноя 2016, 18:59


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16