Анимация кодом в Unity: просто, гибко, мощно!
Зачем анимировать кодом?
Полный контроль над каждым кадром
Динамическая адаптация под игровые условия
Меньше зависимостей от сложных анимационных графов
Основные способы
1. Lerp / Slerp – плавные переходы
transform.position = Vector3.Lerp(startPos, endPos, t);
transform.rotation = Quaternion.Slerp(startRot, endRot, t);
Идеально для движения, поворотов, изменения прозрачности (
Color.Lerp).
2. Mathf.Sin / Cos – периодические анимации
float yPos = Mathf.Sin(Time.time * speed) * amplitude;
transform.position = new Vector3(x, baseY + yPos, z);
Подходит для "плавающих" объектов, пульсации, эффектов.
3. DOTween – анимации в одну строку
transform.DOMove(targetPos, 1f).SetEase(Ease.OutBounce);
material.DOColor(Color.red, "_Color", 0.5f);
Библиотека
DOTween делает код лаконичным и мощным.
Осторожно:Сложные скелетные анимации лучше оставить
Animator +
Animation Rigging.
Не забывайте про
оптимизацию (кеширование компонентов, отмена анимаций).
GameDEV #инструменты