Модификатор Mirror

Большинство объектов реального мира обладают симметрией. У них могут быть как оси, так и плоскости симметрии. У человека есть только одна плоскость, так как только его левую и правую половины можно считать симметричными. Через куб можно провести несколько осей и плоскостей симметрии, а через шар – множество.

Симметричные половины не совсем идентичны. Они являются зеркальными отражениями друг друга. То, что у одной расположено слева, у другой – справа. Однако это не мешает создавать только уникальную часть объекта, даже если простым дублирование ее нельзя будет достроить до целого. На помощь приходят инструменты зеркального отражения, которые предусмотрены в средах 3D-моделинования, в том числе Blender.

В Blender есть модификатор Mirror. При его использовании следует учитывать ряд особенностей.

Настройки модификатора Mirror

Ключевыми настройками являются оси (axis), вдоль которых происходит отражение объекта. То есть воображаемая плоскость симметрии перпендикулярна выбранной оси.

Отражение по оси X, Y и Z

Обратите внимание, где находится центральная точка объекта. Отражение происходит относительно нее. Если вы попробуете отзеркаливать куб в неизменном виде, то ничего не увидите, так как отражения будут находиться в том же месте. Это следствие того, что центральная точка объекта находится в его центре, а сам объект симметричен относительно всех трех осей.

Отсюда следует, что перед тем, как применять модификатор Mirror, обычно изменяют положение центральной точки. Для этого надо установить 3D-курсор в желаемое место, нажать Ctrl+Shift+Alt+C и в появившемся меню Set Origin выбрать Origin to 3D Cursor. То же самое можно сделать через вкладку Tools полки инструментов.

Нередко центральную точку устанавливают в позицию одной из вершин объекта. Для этого надо выделить эту вершину в режиме редактирования. Нажать Shift+S и выбрать Cursor to Selected. После этого 3D-курсор будет установлен на место вершины. Далее в объектном режиме переместить центральную точку к курсору, как описано в предыдущем абзаце.

При использовании модификатора Mirror отражение происходит вдоль локальных, а не глобальных осей. Если объект не поворачивался (R), то эти оси совпадают. После поворота обычно это уже не так. Чтобы увидеть локальные оси объекта, надо из списка ориентаций, расположенного в заголовке 3D View, выбрать Local (локально).

Локальные оси объекта

На изображении видно, что после того, как куб был повернут, глобальные оси (зеленая и красная линия) не совпадают с направлениями его локальных осей. Так ось Z куба теперь смотрит в сторону, а не вверх.

Если теперь сместить центральную точку и отзеркалить, например по оси Z, то отражение появится не вверху, как это было бы, если бы куб не поворачивали, а на северо-востоке.

Отражение по локальной оси Z

При отражении может использоваться не собственная центральная точка, а точка другого объекта и, следовательно, чужие оси. В настройках модификатора Mirror в поле Mirror Object можно указать объект, относительно которого следует выполнять отражение.

Этот факт может применяться не только как самостоятельное явление, но также в случае, если локальные оси объекта не совпадают с глобальными, а отразить надо вдоль глобальной оси. Тогда можно использовать объект, который не был повернут. В этом случае бывает полезен объект-пустышка (Shift+A → Empty), который не имеет "физического" воплощения и служит для вспомогательных целей.

Mirror относительно Empty

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

Модификатор Mirror позволяет включить отражение сразу по нескольким осям. Если будет включено по двум, то объект учетверится. Если по трем, то увосьмерится.

Mirror по всем осям

Практическая работа

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

Модель гантели

Гантель – простая фигура, ее можно сделать, объединив цилиндр и две сферы. Однако, если в дальнейшем потребуется ее править, то делать это будет не просто. Во первых, придется изменять каждый шар по отдельности. Во-вторых, в режиме редактирования mesh-объекта, чтобы отделить вершины шара от вершин цилиндра, потребуется немало усилий.

Первая проблема решается модификатором Mirror, вторая – созданием группы вершин.

В данном случае уместно использовать отражение только по одной оси, т. е. изготовить половину гантели.

Добавим на сцену цилиндр. С помощью масштабирования (S) зададим ему желаемую форму. Цилиндр – это половина рукоятки гантели.

Сразу установим точку центра масс цилиндра у его нижнего основания. Проще не помещать туда 3D-курсор, а оставить его в центре сцены и приподнять цилиндр по оси Z. Далее нажать Ctrl+Shift+Alt+C и выбрать Origin to 3D Cursor.

Теперь переключимся в режим редактирования. Перед тем как добавлять сферу создадим группу для ее вершин. Для этого надо перейти на вкладку Object Data редактора свойств и в панели Vertex Groups добавить новую группу. Группу можно переименовать.

Панель групп вершин

Теперь надо добавить сферу и, не снимая выделения, назначить (Assign) ее вершины группе. В дальнейшем, если потребуется править сферу, следует выбрать группу и нажать Select. Будут выделены вершины группы. Если нужно будет править цилиндр: выделить все (A), затем нажать Deselect для группы Ball. Также можно создать отдельную группу для вершин цилиндра.

Осталось применить модификатор Mirror с отражением по оси Z (в объектном режиме).

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

Создано

Обновлено