Тэг текущей анимации

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Тэг текущей анимации

Сообщение Norman 24 мар 2023, 08:47

Всем доброго! Не подскажете, как получить тэг анимации из аниматора? Хотел бы выводить его в UI для себя, чтобы видеть текущий тэг. Я знаю только как работает проверка на тэг (этот ли тэг в данный момент):
Синтаксис:
Используется csharp
if (_animator.GetCurrentAnimatorStateInfo(0).IsTag("Idle"))
        {
                //Делать чего-то();
        }

Но как получить имя текущего тэга чтоб куда-то вывести?
Вроде на форуме Юнити писали, что это напрямую невозможно, но писали довольно давно. А в доках есть такая страница - https://docs.unity3d.com/2022.2/Documen ... State.html . И вроде исходя из неё следует, что можно получить имя тэга, там есть в списке параметров tag - https://docs.unity3d.com/2022.2/Documen ... e-tag.html .
Но как получить доступ к AnimatorState, я что-то не пойму.
Norman
UNIт
 
Сообщения: 111
Зарегистрирован: 31 мар 2017, 18:38

Re: Тэг текущей анимации

Сообщение waruiyume 24 мар 2023, 11:32

AnimatorController AnimatorController.layers AnimatorControllerLayer.stateMachine AnimatorStateMachine.states
Я бы забил и и создал бы словарь int, string, в ключ записать Animator.StringToHash, а в значение имя тега. А смотреть хеш тега можно через Animator.GetCurrentAnimatorStateInfo AnimatorStateInfo.tagHash.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 29


cron