To main content
Как создать риг для плоского 2D мячика

Риг для 2D мячика в Blender

Шарики, мячики, блинчики! Прыгающие, падающие, подскакивающие.. Их много не бывает. В этой публикации о том как сделать риг для шарика-блинчика или 2D мячика.

Начало

2D мячик это блинчик, а блинчик это тот же шарик, только плоский. 2D вариант, так сказать. Безусловно, на Youtube предостаточное количество всевозможных видео на эту тему, но покажу свой вариант.
Вариант состоит из следующих частей:
  1. Создание шарика и преобразование в 2D блинчик;
  2. Создание скелета;
  3. Настройка скелета;
  4. Замена внешнего вида костей на виджеты;
  5. Приложения.
Не много, вроде бы.
1

Создание шарика и преобразование в 2D блинчик

Предварительно удалив всё лишнее [A, X, Delete], создам обычную сферу [Shift+A, Mesh/ UV Sphere]. Разверну панель настроек последней операции, изменю количество сегментов на 12, а колец на 8 [Add UV Sphere/ Segments - 12/ Rings - 8], так проще будет провести последующие операции.
Задам фронтальный вид [Numpad/ 1] и перейду в режим редактирования [Tab]. Изменю способ выделения на выделение граней [Face selection mode], горячая клавиша [3]. С уже выделенной сферы, сниму выделение в шахматном порядке [Select/ Checker Deselect]. Открою вкладку материалов и добавлю два простых материала, без нодов, White_mat и Color_mat. Для второго нужно задать цвет [Base Color/ x.x, x.x, x.x, x.x] и назначу его выделенной части сферы [LMB, Assign].
На этом можно остановится, если нужен просто шарик, а до блинчика еще несколько кликов. Сниму выделение [Alt+A] и переключусь на вид сбоку [Numpad/ 3], изменю отображение на полупрозрачное [Alt+Z]. Изменю способ выделения на выделение вершин [Vertex selection mode], горячая клавиша [1], выделю правую часть сферы и удалю [LMB, X, Vertices]. Выделю оставшееся [A], изменю положение опорной точки трансформаций на курсор [Transform Pivot Point/ 3D Cursor], а курсор находится в центре координат, по умолчанию. Отмасштабирую положение всех точек в ноль по оси Y [S, Y, 0].
Всё, блинчик готов. Переключусь на фронтальный вид [Numpad/ 1], верну нормальное отображение вновь набрав [Alt+Z], покину режим редактирования [Tab]. Если нравится картинка по ярче, тогда нужно переключить режим освещения на плоский [Viewport Shading/ Lighting/ Flat]. Последний штрих - исправление острозубого контура получившегося блинчика. Всё просто, достаточно добавить модификатор сглаживания [Modifier Properties/ Subdivizion Surface]. Уровень увеличу до 2, а в рендере пусть будет 3 [Level Viewport - 2/ Render - 3].
Видеоролик на VK Видео, который демонстрирует процесс описанный в первой части
«Риг для 2D мячика в Blender | Часть 1. Создание шарика и преобразование в 2D блинчик»
Зеркало на Rutube: https://rutube.ru/video/private/f07dd645527dd5ebe0797f06194daa66/?p=7cUmbz7WEtyGOrHXqpitDw
Зеркало на YouTube: https://youtu.be/6KhaFD8XDr4
2

Создание скелета

Создам арматуру как объект [Shift+A, Armature], переименую [F2], пусть будет называться "2D_Ball_RIG". Размер и положение единственной на этот момент кости должен соответствовать размеру мячика. Положение лучше и точнее настроить по 3D-курсору. Выделю блинчик, перейду в режим редактирования [LMB, Tab], выделю самую нижнюю точку и переставлю на неё 3D-курсор [LMB, Shift+S, Cursor to Selected]. После этого выйду из режима редактирования [Tab]. Перейду в режим редактирования скелета [Tab], переставлю кость на курсор [LMB, Shift+S, Selection to Cursor] и переименую её [F2], пусть называется "Squash". Теперь размер, подсмотреть его можно на боковой панели, в первой сверху вкладке есть подраздел габаритов [Sidebar/ Item/ Transform/ Dimensions]. Изменить размер кости можно так же на боковой панели в окошке "длинна" [Sidebar/ Item/ Transform/ Lenght - 2], где и увеличу длину до двух.
Выделю хвост кости [LMB], от хвоста экструдирую новую кость [E], назову "Target" [F2]. Выделю тело кости и разорву парент связь с костью "Squash" [LMB, Alt+P, Clear Parent]. Вновь изменю режим отображения на полупрозрачный [Alt+Z]. Верну 3D-курсор в начало координат [Shift+S, Cursor to World Origin].
Создам новую кость [Shift+A], выделю тело новой кости, назову "Location" [F2] и поверну от себя по оси Х [R, X, -90]. Кость повернулась относительно курсора, поскольку во время работы с блинчиком было изменю положение опорной точки трансформаций на курсор. Чтобы убедиться в этом достаточно переключиться на вид сбоку [Numpad/ 3]. Дублирую кость [Shift+D], переименую [F2], эта будет "Rotation". В боковой панели изменю длину кости на 0,5 [Sidebar/ Item/ Transform/ Lenght - 0,5]. Созданных четырех костей достаточно для управления шариком и блинчиком тоже.
Видеоролик на VK Видео, демонстрирующий процесс описанный во второй части
«Риг для 2D мячика в Blender | Часть 2. Создание скелета»
Зеркало на Rutube: https://rutube.ru/video/private/ec74b8530e7befd53edb9566f5b8e41a/?p=3fsnZZ3O2myapQwozg5qTQ
Зеркало на YouTube: https://youtu.be/lQdHxqjyG54
3

Настройка скелета

Осталась выделенной кость "Rotation", добавлю выделение кости "Squash" [Shift+LMB] и создам для этой пары парент связь [Ctrl+P, Keep Offset], таким образом "Rotation" прикреплена к "Squash" и будет повторять все её пируэты. Последовательно выделю: "Target"; "Squash" и "Location". Строго так. Снова создам, уже для этих костей, парент связи [Ctrl+P, Keep Offset]. Уберу полупрозрачность набрав [Alt+Z]. Перейду в режим позирования [Ctrl+Tab, Pose Mode]. Выберу всё [A] и переключу Кватерионы на Эйлер [Ctrl+R, XYZ Euler]. Выделю "Target", затем "Squash" и назначу констрейнт [Shift+Ctrl+C, Stretch To].
На боковой панели в разделе трансформаций объекта или в аналогичном разделе на вкладке свойств кости нужно для каждой кости заблокировать лишние трансформации, а чтобы видеть все кости можно переключиться в каркасный режим отображения [Z, Wireframe].
Выделяя поочерёдно кости включаю замочки:
  • Target - запретить вращение и масштабирование по всем осям, и запретить перемещение по оси Z;
  • Squash - аналогично предыдущей, запретить вращение и масштабирование по всем осям, и перемещение по оси Z;
  • Rotation - запретить все трансформации за исключением вращения по оси Y;
  • Location - запретить вращение по оси X и оси Z.
В структурном редакторе (outliner), выберу блинчик-шарик [LMB], затем кость "Rotation" [Ctrl+LMB] и создам связь [Ctrl+P, Bone].
Переключу режим отображения [Z, Solid], верну положение опорной точки трансформаций на значение по умолчанию [Transform Pivot Point/ Median Point]. Подвигаю кости, всё должно работать.
Видеоролик на VK Видео, демонстрирующий процесс описанный в третьей части
«Риг для 2D мячика в Blender | Часть 3. Настройка скелета»
Зеркало на Rutube: https://rutube.ru/video/private/1283681d484f6cc73e3270d1d9c3cf0b/?p=-8Gfb2kdlTOu63oCLa6J2g
Зеркало на YouTube: https://youtu.be/0_9k3MWhezo
4

Замена внешнего вида костей на виджеты

Всё работает, всё замечательно, вот только управлять скелетом без контролов весьма экзотично.
Поэтому заменю внешний вид костей на созданные из меш объектов фигуры - виджеты или просто контролы (контроллеры управления). Выделю кость "Squash" и установлю на её основание 3D-курсор [LMB, Shift+S, Cursor to Selected]. Перейду в объектный режим [Ctrl+Tab], создам круг [Shift+A, Mesh/ Circle], переименую [F2], назову "WGT_Squash". Поверну круг на 90 градусов по оси Х [R, X, 90]. Перейду в режим редактирования [Tab], изменю масштаб [S] и подожму по оси Z [S, Z].
Вернусь в объектный режим [Tab]. Выделю скелет и перейду в режим позирования [LMB, Ctrl+Tab]. На вкладке свойств кости "Squash" изменю отображение на созданную фигуру [Bone Properties/ Viewport Display/ Castom Shape/ Castom Object/ WGT_Squash], флажок «масштабировать по кости» [Scale to Bone Length] можно снять и отключить отображение оригинальной фигуры в аутлайнере. Выделю кость "Target", так же на вкладке свойств кости изменю отображение на ту же фигуру [Bone Properties/ Viewport Display/ Castom Shape/ Castom Object/ WGT_Squash] и сниму флажок «масштабировать по кости» [Scale to Bone Length].
Перейду в объектный режим [Ctrl+Tab], перемещу 3D-курсор в начало координат [Shift+S, Cursor to World Origin]. Создам кольцо [Shift+A, Mesh/ Circle], переименую [F2], назову "WGT_Location". Перейду в режим редактирования [Tab] и поверну круг на 90 градусов по оси Х [R, X, 90]. Изменю масштаб [S], выделю четыре противоположных точки и снова масштабирую [S]. Вернусь в объектный режим [Tab], выделю скелет и перейду в режим позирования [LMB, Ctrl+Tab]. На вкладке свойств кости "Location" изменю отображение на "WGT_Location" [Bone Properties/ Viewport Display/ Castom Shape/ Castom Object/ WGT_Location], флажок «масштабировать по кости» [Scale to Bone Length] сниму и отключу отображение оригинального меш объекта в аутлайнере.
Перейду в объектный режим [Ctrl+Tab], вновь создам кольцо [Shift+A, Mesh/ Circle], переименую [F2], назову "WGT_Rotation". Перейду в режим редактирования [Tab] и поверну круг на 90 градусов по оси Х [R, X, 90]. Изменю масштаб [S], выделю верхнюю и нижнюю часть круга, удалю выделенное [X, Vertices]. Выделю четыре конечных точки, от них экструдирую новые с масштабированием [E, S] и ещё отмасштабирую по оси Z [S, Z]. Вернусь в объектный режим [Tab] и перейду в режим позирования [LMB, Ctrl+Tab]. Изменю отображение кости "Rotation" на "WGT_Rotation" [Bone Properties/ Viewport Display/ Castom Shape/ Castom Object/ WGT_Rotation], сниму флажок «масштабировать по кости» [Scale to Bone Length] и отключу отображение меша фигуры в аутлайнере.
Конечный результат, вид мячика и контролов
Конечный результат, вид мячика и контролов
Видеоролик на VK Видео, демонстрирующий процесс описанный в четвёртой части
«Риг для 2D мячика в Blender | Часть 4. Замена внешнего вида костей на виджеты»
Зеркало на Rutube: https://rutube.ru/video/private/711894eb7c43412a6cff2386b1576546/?p=cGRtEVhOsBW2YV8ip6kR3Q
Зеркало на YouTube: https://youtu.be/eA8APha38MY
5

Приложения

Все части собраны. Мячик или блинчик готов. Можно прилинковывать и анимировать.
Для удобства освоения, на Яндекс диске есть демонстрационный файл, в котором по сценам разложены все четыре макета по количеству частей публикации. Файл создан в Blender 3.1.
Ссылки
Дополнительные файлы к публикации.
Yandex Диск: https://disk.yandex.ru/d/nMWwF07wbX6Nog
Расположение макетов по частям публикации в сценах демонстрационного файла
Расположение макетов по частям публикации в сценах демонстрационного файла
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website