Unity - Посібник Blend Trees (Дерева змішування)
Однією з найпоширеніших завдань в ігровій анімації є змішування двох або більше схожих анімацій. Можливо, найбільш відомий приклад, це змішування анімацій кроку та бігу, відповідно до швидкості персонажа. Іншим приблизно є нахил персонажа ліворуч або праворуч у разі повороту під час бігу.
Важливо розрізняти переходи (Transition) та Blend Trees. Хоча вони використовуються для створення плавних анімацій, але використовуються для різних видів ситуацій.
Transitions використовується для плавного переходу від однієї анімації до іншої протягом заданого часу. Переходи вказані як частина Animation State Machine. Перехід від одного руху до іншого зазвичай протікає нормально, якщо перехід відбувається швидко.
Blend Trees використовуються для плавного змішування кількох анімацій шляхом об'єднання їх усіх по-різному. Значення, яке кожен рух вкладає у фінальну анімацію, управляється параметром змішування, який є одним із числових параметрів анімації, пов'язаних з Animator Controller. Щоб змішаний рух виглядав осмислено, рухи, що змішуються, повинні бути приблизно рівні за довжиною і природою. Blend Trees – це особливий вид анімації в Animation State Machine.
Прикладами подібних рухів можуть бути анімації ходьби та бігу. Для того, щоб змішування працювало нормально, переміщення в кліпах повинні відбуватися на тому самому місці за нормалізованого часу. Наприклад, анімації ходьби і бігу можуть бути прив'язані так, що в момент контакту ноги з підлогою вони залишаються на місці при нормалізованому часі (наприклад, ліва нога потрапляє на 0.0, а права на 0.5). Т.к. використовується нормалізоване час, то тривалість кліпів ролі не грає.
Використання Blend Trees
Для початку роботи з новим Blend Tree вам потрібно:
- Натиснути правою кнопкою миші на вільному місці у вікні Animator Controller.
- Вибрати Create State > From New Blend Tree з контекстного меню .
- Двічі натисніть на Blend Tree, щоб відкрити Blend Tree Graph.
Тепер вікно аніматора (Animator Window) відображає графік всього Blend Tree, тоді як інспектор показує поточний вибраний вузол та його дочірні елементи.

Щоб зробити animation clips до blend tree ви можете вибрати blend tree, клацніть на plus icon в motion field in the inspector.

Крім того, ви можете зробити animation clips або child blend nodes праворуч-clicking на blend tree і selecting from the context menu:
В контексті menu, коли праворуч-clicking на blend tree node.
Це дає графічне уявлення про те, як комбінуються анімації у міру зміни значення (у міру того, як ви перетягуєте повзунок, стрілки біля кореня дерева змінюють з відтінку, показуючи домінуючий кліп анімації).

Ви можете вибрати будь-який вузол у графіку Blend Tree, щоб вивчити його в інспекторі. Якщо вибраний вузол виявиться кліпом анімації, інпектор відобразить інформацію про цей кліп анімації. Параметри не будуть доступні для зміни, якщо анімація була імпортована з моделі. Якщо вузол є вузлом змішування, тови побачите інспектор вузлів змішування.
Ви можете вибрати або одновимірне або двовимірне змішування з меню Blend Type; різниця між типами описана на сторінках, що відповідають цим типам.
Blend Trees (дерева змішування) та Root Motion (кореневий рух)
Змішування анімацій управляється використовуючи лінійну інтерполяцію (тобто. підсумкове “значення” анімації обчислюється знаходженням середнього значення окремих анімацій під впливом параметра змішування). Однак, вам варто зауважити, що кореневий рух інтерполюється не так само. Див. root motion для подальших деталей того, як це може вплинути на ваші персонажі.