Как сделать array по кругу блендер

Обновлено: 19.05.2024

Продолжаю писать статьи начинающим пользователям Blender. Сам я тоже начинающий, так что пишу и для себя тоже, чтобы не забыть.

Я сейчас делаю простенькую 3D-модель ноутбука, который состоит из многих мелких деталей, особенно клавиш. Представьте, что я захочу передвинуть ноутбук на новое место. Мне придётся выделить все его детали, не так ли? А если я забуду хоть одну и обнаружу это слишком поздно, когда Ctrl+Z нажимать уже не захочется, то придётся мне подбирать её удачное местечко вручную, хотя всю эту работу я уже когда-то делал, только в другом месте. Обидно, да? Впрочем, при простом перемещении это ещё не самое страшное. А вот если я весь ноутбук передвину и поверну? Мороки с забытой деталькой потом будет ещё больше.

Есть два средства от забывчивости, которые помогут не попадать в такие ситуации.

Есть два средства от забывчивости, которые помогут не попадать в такие ситуации.

Первый способ - "сгруппировать" все необходимые детали. Делается это просто: выделяем все нужные части и нажимаем Ctrl+G (или в меню: Object→Group), затем выбираем "Add to New Group" - добавить в новую группу. Теперь объекты незримо связаны (хотя и зримо тоже - обратите внимание на зелёные контуры), хотя по-прежнему не зависят друг от друга. "Группа" не даёт никаких супервозможностей, кроме возможности выделить все объекты, входящие в группу, одним махом. Просто выделяем один любой объект из группы, нажимаем Shift+G (или Select→Grouped), выбираем вариант №7 ("Objects in Same Group" - объекты из той же группы; можно просто нажать цифру "7" на клавиатуре) - и к выделению присоединяются все детали нашего ноутбука. Теперь можно двигать их вместе. Все новые детальки, которые я буду добавлять, я буду присоединять к группе с помощью варианта "Add to Existing Group" в меню Ctrl+G, и тогда при перемещении точно ничего не забуду.

Кроме того, группы будут удобны, если вы впоследствии будете использовать ноутбук в других файлах, присоединяя его с помощью "File→Append or Link. " - вместо того чтобы импортировать каждую клавишу по отдельности, вы просто выберите нужную группу и заполучите в свой новый файл сразу весь свой старый ноутбук. Если групп в файле несколько, то имеет смысл их содержательно обозвать, просто выбрав любой из сгруппированных объектов и изменив текст в поле "GR:" на вкладке "Objects and Links" свойств этого объекта. Напишите там, например, "Notebook". Название группы автоматически изменится и у всех остальных "одногруппников" этой детали.

Но выбор всей группы - это лишние нажатия кнопок при каждом выделении, что не очень удобно, а выгода от группировки, как видите, проявляется только при импорте в другой файл. Поэтому, хотя группировать лучше всё и всегда, для удобства массового перемещения лучше всего намертво привязать одни объекты к другим. Давайте выберем основной объект - у ноутбука таковым можно назначить, например, основу нижней части (в реальной жизни ноубуки в открытом виде тоже обычно именно за нижнюю часть таскают, правда?). Так вот, этот объект надо назначить "родителем" для всех других объектов, которые относятся к ноутбуку. Тогда при перемещении, повороте или изменении размера "родителя" все его "дети" будут неотступно следовать за ним, перемещаясь на то же расстояние, поворачиваясь на тот же угол (и относительно той же оси!) и масштабируясь в тех же пропорциях.

Сначала выделите всех детей, которых хотите привязать к родителю, а потом (порядок важен!) - самого родителя. Теперь нажмите Ctrl+P (или в меню: Object→Parent→Make Parent), чтобы установить родительскую связь. Вопрос-уточнение будет простым и конкретным:

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

У каждой клавиши привязанность к родителю отражена там же, где и принадлежность к группе, а именно на панели кнопок, в разделе Object (F7), на вкладке "Objects and Links". Имя родителя отражено в поле "Par":

Удалить привязку к родителю можно нажатием на Alt+P, или же через меню Object→Parent→Clear Parent.

С верхней частью ноутбука я поступил немного по-другому. Я сделал два маленьких цилиндра, который располагаются между нижней и верхней частями ноутбука и которые якобы скрепляют их. Фактически так и есть: оба эти цилиндрика являются детьми нижней части и, значит, передвигаются вместе с ней, а один из них, в свою очередь, является родителем для верхней части. Таким образом, и верхняя часть отставать от нижней не будет. Верхняя же часть, в свою очередь, является родителем для монитора - простой плоскости, на которой будут отображаться картинки. :-)

Зачем же такая сложная многоходовая конструкция, спросите вы? Да просто ради того, чтобы ноутбук можно было удобно открывать и закрывать. Я буду поворачивать этот цилиндрик вокруг его оси, и вся верхняя часть с монитором будет автоматически поворачиваться вокруг оси этого цилиндрика! Почему же тогда нельзя было привязать монитор напрямую к цилиндрику, спросите вы? Да так, на всякий случай. Чтобы, даже если я вдруг "забуду" про цилиндрик и стану вертеть верхнюю часть напрямую, монитор не остался в стороне от дел.

Итак, что же в итоге?

- Мы можем выбрать все составляющие ноутбука сразу, потому что они сгруппированы.

- Также мы можем перемещать весь ноутбук, "ухватившись" всего лишь за его нижнюю часть, а также открывать и закрывать ноутбук, "ухватившись" всего лишь за один цилиндрик, и это не станет сложнее, даже когда мы приделаем наверх веб-камеру и логотип производителя в мельчайших подробностях - надо будет только не забыть сделать их всех "детьми" крышки ноутбука.

- Родительская связь односторонняя, так что при нажатии клавиши ноутбук не будет перемещаться вслед за ней. :D

После установления родительских связей дальнейшая работа над любой моделью будет удобнее!

Этот урок требует от читателя некоторых базовых умений работы с Blender'ом: умение оперировать видами, каркасами и кривыми Безье (Bezier Curves).

Традиционный метод

Традиционный метод создания объектов вращения хорошо известен и рассмотрен в различных обучениях — напомним вкратце.

Создайте профильный (каркасный) объект. Переключитесь в Front View [NUM1] и сделайте что то похожее на каркас внизу.


Выберите все вершины. Выставите "Degr" в 360; "Steps" в некоторое разумное значение (например, 32) — и нажмите "Spin". Зам. вращение профиля будет производится с центром в 3D-курсоре.


Переключитесь в режим просмотра "вид сверху" ("top view") [NUM7] — объект вращения создан.


Выделите все вершины, затем "Remove Doubles", что бы избавиться от ненужных вершин, "Recalculate Normal Outside" [CTRL]+[N], что предотвратить артефакты визуализации, и "Set Smooth" (в окне кнопок), чтобы добиться сглаженности.


Это метод работает достаточно хорошо, однако он не очень гибок: если после третьего шага ваш объект выглядит неудовлетворительно, вы будете вынуждены откатиться, отредактировать профиль и повторить вращение. Фактически, вам придётся повторить эти операции много раз, прежде чем вы достигнете удовлетворительного результата.

Было бы лучше, имей вы возможность редактировать профиль и видеть изменения объекта в реальном времени. Следующая техника, использующая Bezier Curves, позволяет легко реализовать это: ваш профиль является кривой Безье (Bezier Curve), легче поддающейся изменениям, чем каркасная модель.

Bevel Object method

В режиме просмотра "вид сверху"[NUM7] добавьте Bezier circle: ADD -> Curve -> Bezier Circle. Он будет играть роль гончарного круга.


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


Переключитесь в режим просмотра "вид спереди" ("frontview", клавиша [NumPad 1]) и добавьте Bezier Curve: ADD -> Curve -> Bezier Curve.



В объектном режиме ("Object Mode") сдвиньте кривую влево так, чтобы её центр (жирная розовая точка) лежал точно на левой грани круга (используйте клавишу [CTRL] при перемещении тогда перемещение будет осуществляться значениями целых чисел т.е. мы сможем легко позиционировать кривую на круге.


Присвойте кривой легко запоминающееся имя. (т.к. мы собираемся делать бокал то присвоим ему имя "Glass BO", суфикс BO означает Bevel Object))


Теперь выберите круг…


… и введите имя вашей кривой в поле BevOb.


Вуаля… Вы получили трёхмерный объект, представляющий собой кривую-профиль, вращающуюся вокруг оси z. / я бы написал "кривую вращающуюся по траетории круга"… запутанно /


Изменяйте кривую-профиль так как вам хочется: вы увидите как ваши изменения появляются немедленно. Так как ваш Bevel Object является кривой Безье (Bezier Curve) вы можете добавлять или удалять контрольные точки, создавать острые угры или оставляь их плавными гораздо легче чам с каркасными моделями…


Но подождите…бокал закупорен =) По умолчанию Blender соединяет кривые, и если вы хотите открыть бокал…


…выберите круг, т.е. не бокал (не кривую!), и "выключите" кнопки "Back" и "Front".


Совет: если вы сгрупируете круг и кривую-профиль, сделав круг родительским обьектом, вы сможете легко перемещать, вращать или маштабировать всё и при этом оставляя возможность "редактирования обьекта на месте"


Заметьте, что во время визуализации (rendering) Blender производит автоматическое конвертирование кривая-в-каркас (curve-to-mesh), так что ваша кривая всегда визуализирована, как полигональная модель. Вы можете контролировать уровень подразбиения полигонов получающейся модели с помощью значения DefResolU кривой-профиля и тоже самое для круга (устанавливает число шагов вращения). После именения значений необходимо нажать кнопку "Set" и возможно войти и выйти из режима редактирования (Edit Mode), чтобы увидеть изменения.


Если вы хотите отредактировать бокал как полигональную модель или наложить текстуры методом UV-mapping, вы всегда сможете конвертировать ваш бокал из кривой в модель с помощью [Alt+C] (не забудьте "Remove Doubles" и "Recalculate Normal Outside" [CTRL]+[N]), но вы потеряете возможность изменять её в реальном времени.

Существует множество видео и статей по настройке и различным нюансам в работе Blender 2.8. В этой статье я решил собрать различные советы по работе и настройке blender 2.8.

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

Горячие клавиши Blender 2.8 наиболее востребованные мной.

Ctr+A — обнулить (применить) перемещение, трансформацию

Shift+N — перевернуть все нормали

H — скрыть объект, выделенную область

Alt+H — показать объект, выделенную область

Alt+M — объеденить точки, ребра

L — выделение связанной геометрии

Ctrl+R — сделать разрез

Shift+S перемещение 3d курсора

Shift+C — переместить в центр координат, переместится

Ctrl+C фаска

I — ключевой кадр

ё— меню вида

ё+1 вид из камеры

Ctrl+J — объединить объекты

F — закрыть отверстие

Настраиваем интерфейс blender 2.8 для двух мониторов.

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

blender окна

Так же можно выбрать этот пункт в верхнем меню window затем new window.

blender меню

Если выбрать в этом же меню пункт new main window, то откроется второе окно программы — полная копия.

blender меню

Горячие клавиши Blender 2.8 которые используются в режиме редактирования.

1,2,3 — Переключает режимы выделения вершин, ребер и граней.

SHIFT + 1,2,3 — Позволяет вам комбинировать режимы.

E — Экструдирование.

K — Нож. Позволяет вырезать новую топологию.

V — Разрывает связь между гранями.

F — Создает ребро/грань. Если выделены 2 вершины – создается ребро, если 3 или 4 – грань.

CTRL + B — Создать фаску.

SHIFT + W — Деформация. Выбранные вершины могут быть изогнуты по окружности с помощью этой функции. Центром окружности при этом является 3D-курсор.

CTRL + NUM+ — Добавляет в выделение все вершины соединенные с выделенной вершиной ребрами.

CTRL + NUM- — Удаляет вершины из выделения.

ALT + J — Объединяет треугольные грани, в четырехугольные.

CTRL + T — Конвертирует все выделенные грани в треугольные.

Различные меню Blender 2.8

Alt+N — меню работы с нормалями

Ctrl+Tab — режим кругового меню

Статья будет дополнятся мной в процессе изучения нового.

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

Вы так же можете рассказать о своих хитростях и используемых вами горячих клавишах.

Для начала нужно создать поверхность воды. Сделать это можно разными способами.

Способ 0: Dynamic Paint

Добавленную в сцену плоскость необходимо несколько раз подразделить (выделить всё в режиме редактирования W Subdivide). Чем больше подразделений — тем выше→→качество, но и больше нагрузка на комп.

После подразделения отправляемся во вкладку Physics (панель инструментов), жмём кнопку Dynamic Paint Add Canvas Surface Type: Waves. Водная поверхность готова.→→Теперь создаём объект, который будет создавать, собственно, волны. Для этого сойдёт любой меш. Выбираем его, опять идём в Dynamic Paint, но на этот раз вместо Canvas выбираем Brush, жмём Add Brush и больше ничего не трогаем.

Перемещаем Brush — создаём волны. Только при этом не забыть включить проигрывание анимации (Alt+A). Для наглядности сделал убогую гифку:

Способ 1: Displacement map

Правда, такая рябь будет статичной (разве что попробовать анимировать какие-то параметры у Noise Texture, но сам не пробовал).

Суть сводится к тому, что добавленному в сцену плейну добавляется модификатор Ocean, после чего настраиваются его параметры. Подбирать параметры — по вкусу. Из наиболее значимых:

1. Resolution — чем больше — тем лучше, более-менее оптимально — 15-17.

2. Size — размер плейна (эффект не идентичен тому, что достигается при использовании кнопки S и мыши — попробуйте сами и поймёте, в чём разница).

3. Scale — высота волн.

4. Chopping — увеличение этого параметра делает гребни волн более отчётливыми.

Если хочется, чтоб этот океан был не статическим (например, при создании видеоролика),то нужно анимировать параметр Time (который по умолчанию 1.00)

Теперь, когда поверхность создана понравившимся способом, создадим материал воды.0. Добавляем новый материал плейну.

1. Difuse BSDF удаляем.

2. Вместо него ставим Mix Shader.

4. Добавляем Transparent BSDF и подключаем на нижний инпут Shader у Mix Shader’а.

5. Добавляем узел Layer Weight, аутпут Fresnel подключаем к инпуту Fac у Mix Shader’а.

6. Между Layer Weight и Mix Shader’ом втыкаем узел RGB Curves. Как настраивать? Как больше нравится. Включите режим просмотра Rendered и играйтесь с кривыми, пока результат не начнёт нравится.

7. Теперь желательно сделать так, чтоб по мере увеличения глубины становилось темнее. Для этого добавляем Volume Absorption и подключаем к инпуту Volume у узла MaterialOutput. Цвет и Density, опять же, подбираем сами по вкусу и ситуации.

Читайте также: