127 lines
6.4 KiB
Markdown
127 lines
6.4 KiB
Markdown
# 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`
|
||
|
||
Если после импорта появляются ошибки вида:
|
||
|
||
```text
|
||
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 файл всё равно компилируется, временно удали или перемести из проекта файл:
|
||
|
||
```text
|
||
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:
|
||
|
||
```text
|
||
UNITASK_DOTWEEN_SUPPORT
|
||
```
|
||
|
||
Но добавлять его нужно только после реальной установки `DOTween`.
|
||
|
||
## Минимальная практическая настройка для проекта
|
||
|
||
Для текущего проекта на первом этапе достаточно:
|
||
|
||
- установить актуальный `DOTween` из официального источника
|
||
- выполнить `Setup DOTween`
|
||
- проверить, что проект компилируется
|
||
|
||
Если в проекте уже используется `UGUI`, имеет смысл убедиться, что нужный модуль UI активирован.
|
||
|
||
## Как проверить, что всё настроено
|
||
|
||
- в Unity есть меню `Tools > Demigiant`
|
||
- `DOTween Utility Panel` открывается
|
||
- `Setup DOTween...` проходит без ошибок
|
||
- после добавления `using DG.Tweening;` в скрипт проект не ругается на отсутствие namespace
|
||
|
||
## Официальные источники
|
||
|
||
- https://dotween.demigiant.com/getstarted.php
|
||
- https://dotween.demigiant.com/support.php
|
||
- https://dotween.demigiant.com/download.php
|
||
- https://www.nuget.org/packages/DoTween
|