6.4 KiB
Raw Blame History

DOTween

Зачем это нужно

DOTween нужен для tween-анимаций объектов, UI и значений без написания собственных систем интерполяции с нуля.

Сравнение официального источника и NuGet

На момент проверки расхождение между каналами очень большое:

  • на nuget.org пакеты DoTween, DoTween_Unity и DoTween_Unity_Editor имеют версию 1.0.0 и дату обновления 2020-04-07
  • на официальном сайте DOTween в update notes уже фигурирует v1.2.825
  • в официальном support-разделе отдельно указано, что special upgrade path нужен для free-версий старее 1.2.815

Вывод для этого проекта однозначный:

  • NuGet for Unity для DOTween использовать не нужно
  • NuGet-пакеты сильно устарели относительно официального дистрибутива
  • основной канал должен быть только официальный сайт DOTween или Asset Store для Pro-версии

Как установить

Официальный способ:

  1. Скачай актуальный DOTween из официального источника.
  2. Распакуй содержимое в папку Assets/ проекта.

По официальной инструкции пакет не нужно класть внутрь Editor или Resources.

Как настроить после установки

После импорта пакет нужно обязательно прогнать через setup:

  1. Открой Tools > Demigiant > DOTween Utility Panel.
  2. Нажми Setup DOTween....

Этот шаг нужен для переимпорта дополнительных библиотек и включения модулей под текущий проект.

Частая ошибка: DOTweenModuleEPOOutline.cs

Если после импорта появляются ошибки вида:

Assets/.../DOTween/Modules/DOTweenModuleEPOOutline.cs(5,7): error CS0246: The type or namespace name 'EPOOutline' could not be found
Assets/.../DOTween/Modules/DOTweenModuleEPOOutline.cs(...): error CS0246: The type or namespace name 'SerializedPass' could not be found

это означает, что в проект попал optional-модуль интеграции с Easy Performant Outline, но самого пакета EPO Outline в проекте нет.

Что важно для текущего проекта:

  • в Assets/Resources/DOTweenSettings.asset модуль epoOutlineEnabled должен быть выключен
  • если ошибка всё равно появляется, значит модульный файл не был корректно переписан после setup или у проекта остался активный define для EPO

Как исправить

Если EPO Outline тебе не нужен:

  1. Открой Tools > Demigiant > DOTween Utility Panel.
  2. Убедись, что интеграция EPO Outline выключена.
  3. Повтори Setup DOTween....
  4. Если ошибки не исчезли, закрой Unity и открой проект снова.
  5. Если после повторного setup файл всё равно компилируется, временно удали или перемести из проекта файл:
Assets/External/Packages/DOTween/Modules/DOTweenModuleEPOOutline.cs

Это безопасно, если пакет Easy Performant Outline в проекте не используется.

Если EPO Outline действительно нужен:

  1. Сначала установи сам пакет Easy Performant Outline.
  2. Только после этого включай соответствующий модуль в DOTween Utility Panel.
  3. Повтори Setup DOTween....

Практическое правило

Для всех optional-модулей DOTween действует одно и то же правило:

  • сначала ставится внешний пакет-зависимость
  • потом включается интеграционный модуль в DOTween

Не наоборот.

Что важно для этого проекта

С учетом наличия NuGet for Unity в проекте не нужно пытаться унифицировать DOTween через NuGet.

Причины:

  • официальный Unity-сценарий у DOTween идет через импорт ассетов
  • пакет содержит editor tooling и setup pipeline
  • NuGet-канал для него устарел и не отражает актуальную версию

Если позже в проекте появится UniTask, для интеграции с ним может понадобиться define:

UNITASK_DOTWEEN_SUPPORT

Но добавлять его нужно только после реальной установки DOTween.

Минимальная практическая настройка для проекта

Для текущего проекта на первом этапе достаточно:

  • установить актуальный DOTween из официального источника
  • выполнить Setup DOTween
  • проверить, что проект компилируется

Если в проекте уже используется UGUI, имеет смысл убедиться, что нужный модуль UI активирован.

Как проверить, что всё настроено

  • в Unity есть меню Tools > Demigiant
  • DOTween Utility Panel открывается
  • Setup DOTween... проходит без ошибок
  • после добавления using DG.Tweening; в скрипт проект не ругается на отсутствие namespace

Официальные источники