Как установить для анимации «Время цикла» значение false из скрипта (Unity 2020.1.15f1)

#c# #unity3d

#c# #unity3d

Вопрос:

Я потратил много времени, пытаясь найти какое-либо решение, но все, что я нахожу, похоже, для более старых версий или что-то в этом роде? По сути, я хочу установить AnimationClip.LoopTime из true в false или наоборот из скрипта.

небольшой рисунок инспектора, показывающий AnimationClip.Время цикла

Я хочу, чтобы это позволило объекту завершить текущий цикл анимации. Аниматор GameObjects.ApplyRootMotion=true, чтобы анимация выполнялась в текущем положении объектов.

Если я просто установлю для аниматора значение enabled=false, как это рекомендуется в некоторых сообщениях, анимация, конечно, сразу же останавливается, и это оставляет объект вне позиции.

Я получаю желаемую информацию с помощью myAnimator.GetCurrentAnimatorClipInfo(0)[0].clip.isLooping но это не позволяет мне его установить…

Каким-то образом должно быть возможно просто установить looping=false и избежать необходимости создавать дополнительные сложные переходы или что-то в аниматоре?

Любая помощь / подсказка приветствуется!

Комментарии:

1. Вы пробовали устанавливать его wrapMode ?

2. вы можете просто добавить пустую анимацию с нормальным состоянием и с помощью скрипта воспроизвести ее с помощью GetComponent<Animator>().Play(name);

3. @derHugo Да, почему-то это ничего не делает. Есть довольно много сообщений, которые пытались это сделать и потерпели неудачу с WrapMode… Кажется, что это как-то работало в прошлом, но больше не работает?

4. @Leoverload Извините, это не работает. Для аниматора в GameObject установлено значение ApplyRootMotion=true, поскольку эффект анимации должен быть применен к текущему GameObject. Transform.Position. Если я просто запускаю другую анимацию, новая уже начинается с позиции «смещение».

Ответ №1:

Поместите событие в конец анимации, которое вызовет функцию внутри скрипта. Функция может отключить Animator или остановить анимацию, в зависимости от ваших потребностей в дальнейшем включении.

введите описание изображения здесь

Комментарии:

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