Проблема, которую вы описываете, может возникать по нескольким причинам. Вот несколько возможных причин и решений, которые могут помочь:
1. **Идентичные ссылки на один и тот же объект**: Убедитесь, что каждый экземпляр вашего скрипта анимации ссылается на разные объекты или компоненты. Если два скрипта ссылаются на одну и ту же анимацию или один и тот же объект, это может привести к нежелательному поведению. Проверьте, правильно ли вы указываете свойства и объекты для каждого экземпляра анимации.
2. **Неочищенные состояния анимации**: Если анимация не сбрасывается должным образом при переходе к следующему триггеру, это может привести к тому, что вы будете наблюдать поведение старой анимации. Убедитесь, что вы вызываете метод `Reset` или аналогичный для очистки состояния между анимациями.
3. **Логика анимации**: Возможно, ваша логика, управляющая анимацией, неправильно реализована. Проверьте, как именно вы обрабатываете триггеры и переходы между анимациями. Например, если вы используете `Animator.SetTrigger`, убедитесь, что соответствующие триггеры не перекрывают друг друга.
4. **Кэширование состояний анимации**: Если скрипты анимации используют какие-то глобальные или статические переменные для хранения состояния анимации, это может привести к непредсказуемому поведению. Попробуйте использовать локальные переменные или экземпляры классов для каждого объекта.
5. **События анимации**: Если у вас есть события, связанные с анимациями, убедитесь, что они не вызываются неправильно при переходе между анимациями.
6. **Отладка**: Используйте отладочные сообщения (`Debug.Log`) для отслеживания, когда запускаются ваши анимации, какие триггеры активируются и какие значения имеют ключевые переменные. Это может помочь выявить проблему.
Если у вас есть конкретные фрагменты кода, которые вы можете предоставить, их анализ может помочь найти более точное решение вашей проблемы.