В последнем посте я использовал вращение и пару ключевых кадров для создания анимированного андроида. Вы можете многое сделать с парой хорошо продуманных ключевых кадров. Но ключевые кадры — это только часть истории. В Blender есть еще одно мощное средство анимации: ключи формы.

Ключи формы позволили мне создать эту анимацию. Вот эталонный файл Blender, который я использовал (и другие файлы, на которые есть ссылки из этого поста).

Ключи формы позволяют вам хранить альтернативные позиционные данные для вершин в сетке, не затрагивая исходные данные сетки. Вот плоскость с парой ключей формы, каждый из которых деформирует одну вершину.

Ключи формы похожи на ключевые кадры, которые позволяют вам интерполировать между начальной и конечной точкой, но они различаются по трем основным параметрам.

  1. Ключевые кадры привязаны к определенному времени на временной шкале. Ключи формы привязаны к сетке.
  2. Для определенного атрибута одновременно может быть активен только один ключевой кадр. Несколько ключей формы могут влиять на сетку одновременно.
  3. Конкретный кадр либо является, либо не является ключевым кадром. В дополнение к тому, что несколько ключей формы могут действовать одновременно, вы также можете установить степень влияния каждого ключа формы на исходную сетку.

Создание ключа формы

Начиная с плоскости в сцене, перейдите в меню данных, обозначенное треугольником. Сначала нам понадобится базовый ключ или состояние меша без какой-либо деформации. Нажатие кнопки «плюс» на панели «Ключи формы» создаст базовый ключ. Повторный щелчок по плюсу создаст новый ключ формы, который мы можем настроить. Выбрав нужный ключ, войдите в режим редактирования (Tab), и вы сможете перемещать вершины. Когда вы выходите из режима редактирования, он должен вернуться к позициям основы. Это потому, что ключ по умолчанию не влияет на сетку.

Создание ключей формы для дерева

Чтобы анимировать дерево, я начал с масштабированной плоскости, которая была разделена несколько раз, чтобы дать мне достаточно вершин для перемещения. Я переместил их в грубую форму сосны.

Одна небольшая особенность создания в Blender и экспорта в AVD заключается в том, что Blender с радостью позволит вам применять разные материалы к разным частям сетки. Чтобы AVD уважал мой выбор материалов, я заставил свои ключи формы работать так, как я хотел, а затем назначил новый материал основанию дерева и разделил его по материалам. Разделение автоматически создало ключи для вершин, которые ранее были в более крупном объекте.

Создание ключевых кадров

После создания всех необходимых ключей формы остается только создать ключевые кадры, чтобы определить, когда ключи формы будут влиять на сетку. Вы делаете это, переходя к нужному кадру, устанавливая значение ключа формы и нажимая клавишу I, чтобы установить ключевой кадр, полоскание, повтор.

Чтобы анимировать орнаменты, я установил ключевые кадры на альфа-значения всех материалов.

Вероятно, вы не будете создавать или использовать новогоднюю елку одиннадцать месяцев в году, поэтому вот более практичный пример преобразования кнопки воспроизведения в кнопку паузы. Поскольку компоненты симметричны, я усовершенствовал преобразования на одном полигоне, а затем продублировал его.

Собираем все вместе

Попытка экспортировать все в один слой приводит к тому, что Android не отображает все правильно. Возможно, это потому, что есть перекрывающиеся и конфликтующие геометрии. Поэтому я переместил орнаменты на отдельный слой, экспортировал каждый как отдельный файл SVG и преобразовал их в отдельные файлы Shape Shifter/AVD.

В проекте Android вы можете наслаивать AVD, создавая LayerDrawable в коде или файл XML <layer-list>. Вам придется обрабатывать запуск обеих анимаций.