6.4 KiB
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-версии
Как установить
Официальный способ:
- Скачай актуальный
DOTweenиз официального источника. - Распакуй содержимое в папку
Assets/проекта.
По официальной инструкции пакет не нужно класть внутрь Editor или Resources.
Как настроить после установки
После импорта пакет нужно обязательно прогнать через setup:
- Открой
Tools > Demigiant > DOTween Utility Panel. - Нажми
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 тебе не нужен:
- Открой
Tools > Demigiant > DOTween Utility Panel. - Убедись, что интеграция
EPO Outlineвыключена. - Повтори
Setup DOTween.... - Если ошибки не исчезли, закрой Unity и открой проект снова.
- Если после повторного setup файл всё равно компилируется, временно удали или перемести из проекта файл:
Assets/External/Packages/DOTween/Modules/DOTweenModuleEPOOutline.cs
Это безопасно, если пакет Easy Performant Outline в проекте не используется.
Если EPO Outline действительно нужен:
- Сначала установи сам пакет
Easy Performant Outline. - Только после этого включай соответствующий модуль в
DOTween Utility Panel. - Повтори
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