Принципиальные схемы в Blender. FreeStyle

в 7:17, , рубрики: blender, freestyle render, Работа с анимацией и 3D-графикой, схемотехника, Электроника для начинающих

P.S. Месяц назад(вроде уже год пролетел и я всё же решился опубликовать, вдруг это кому-то пригодится.) решил написать короткую статью о рисовании схем в Blender, но в процессе написания подумал, что нужно чуть больше углубиться в Freestyle. Статья разрослась и так получилось, что не успел закончить, а потом и вовсе забыл про неё и вот сегодня увидев в черновиках решил опубликовать, плюс добавить немного информации о графиках.

Введение

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

Принципиальные схемы в Blender. FreeStyle - 1

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

Для того чтобы начать, понадобится собственно Blender, последнюю версию которого можно скачать с офф. сайта (хотя я надеюсь что читатель знаком с основами данного ПО и Blender уже установлен).

Для начала я немного расскажу о рендере FreeStyle, он не так давно был интегрирован в Blender, но как отдельный плагин существовал ранее.

FreeStyle

Данная часть больше рассчитана на новичков, поэтому если вы знакомы с Blender и FreeStyle, то можете смело её пропускать.

FreeStyle — нефотореалистичный 1 рендер. В основном его применяют для создания Рисованной графики, аниме.

Если кто плохо знаком с Blender, то я рекомендую для начала выставить следующие настройки:

* По умолчанию к подсказкам Blender отображаются Python ссылки, которые нужны в основном для тех, кто пишет скрипы. Отключим их, что бы не мешались.
Запускаем блендер, далее File -> User Preferences..., и на первой вкладке Interface снимаем галочку с Show Python Tooltips.

Принципиальные схемы в Blender. FreeStyle - 2
(Вторая половина рисунка лишь для того что бы показать всплывающую подсказку)

* Теперь включим локализацию всплывающих подсказок.
Переходим на вкладку System, ставим галочку на International Fonts, нажимаем Tooltips, Настоятельно не рекомендую переводить весь интерфейс, некоторые слова невозможно дословно перевести, и часто смысл переведённого слова просто непонятен или теряется.

Принципиальные схемы в Blender. FreeStyle - 3

Закрываем окно настроек, переходим на вкладку Render, ставим галочку на FreeStyle

Принципиальные схемы в Blender. FreeStyle - 4

По умолчанию некоторые настройки уже сделаны, и если нажать F12 или Render -> Render Image
То стандартный рендер отрисует нам 3D картину, а FreeStyle рассчитает грани и поверх изображения выведет нужные линии.

Принципиальные схемы в Blender. FreeStyle - 5

Теперь задача следующая, есть куб 9 граней которого нам видны, 3 скрыты.
Требуется белым цветом выделить видимые грани, толщина линий 10px. Скрытые грани прочертить оранжевыми, почти прозрачными (допустим на 80%) штрих пунктирными линиями, толщиной 1.5px. Внешний контур заштриховать, «размашистой», волнистой линией толщиной в 1.5px.

Итак задача поставлена, начнём.

Выделяем куб в окне 3D вида, переходим на вкладку Materials, выбираем чёрный цвет для куба. Так будет лучше видно выделенные границы, а сам куб будет в роли заливки.

Принципиальные схемы в Blender. FreeStyle - 6

Cледуем на вторую вкладку Render Layers к настройкам.

Принципиальные схемы в Blender. FreeStyle - 7

Открываем пункты Freestyle Line Set и Freestyle Line Style, которые нужны для настройки отображения линий и стиля линий соответственно.
Для удобства переименуем пункт «LineSet» в «Visible» пункты a,b рисунка. Здесь мы настроим отрисовку видимых граней. В пункте Visibility нажимаем на кнопку Visible (с). По умолчанию она активна. Теперь изменим цвет линии и толщину. Делается это в пункте Freestyle Line Style
Нажимаем Color (d), выбираем белый цвет, нажимаем Thickness (e) и в поле Thickness: выставляем значение 10.000

Принципиальные схемы в Blender. FreeStyle - 8

Нажимаем F12 и смотрим на результат. Обратите внимание на углы, особенно на выделенный нижний.

Принципиальные схемы в Blender. FreeStyle - 9

У нас не состыковка вышла, т.к. углы линии прямые, для того что бы этого избежать в Freestyle Line Style ищем кнопку Strokes и в свойствах Caps: выбираем круговое перекрытие Round Кстати имя линии тоже можно назначить.

Принципиальные схемы в Blender. FreeStyle - 10

F12. Так гораздо лучше.

Принципиальные схемы в Blender. FreeStyle - 11


Добавим новую линию в набор линий нажатием на +
По аналогии с предыдущими линиями называем их «Hidden», только на этот раз выбираем в пункте в место Visibility, Hidden. Настройкой Visibility мы говорим рендеру, какие грани следует отрисовывать, в данном случае мы указали те, которые скрыты. Меняем цвет линии в Color на оранжевый, задаём толщину линии в Thickness, выставляем 1.500.

Принципиальные схемы в Blender. FreeStyle - 12

Теперь в разделе Stroke активируем пункт Dashed Line так как показано на рисунке. В этом пункте мы выставляем длину промежутков в пикселях. Первый промежуток — штрих (14px), второй — разрыв (7px), третий — штрих (3px), четвёртый — разрыв (7px). Два последних не используем, поэтому выставляем длину промежутка равной 0px, т.е. пятый — штрих (0px), шестой — разрыв (0px).

Принципиальные схемы в Blender. FreeStyle - 13

Переходим в раздел Alpha, в поле Base Transparent изменяем Alpha, вписываем значение 0.200, это как раз 20%, т.е. на 80% линии будут прозрачны.

F12. Вот что получилось.

Принципиальные схемы в Blender. FreeStyle - 14

Остался последний пункт, выделить внешний контур (на рисунке ниже закрашено красным)

Принципиальные схемы в Blender. FreeStyle - 15

Откройте окно 3D редактора, выделите куб и нажмите Tab для перехода в режим редактирования. Что бы лучше было видно грани нажмите Z. Для того что бы перейти в режим выделения рёбер нажмите на соответствующую пиктограмму.

Принципиальные схемы в Blender. FreeStyle - 16

Теперь правой кнопкой мыши, зажав Shift выделите нужные рёбра. Нажмите Ctrl+E и из выпадающего меню выберите пункт Mark Freestyle Edge. Таким образом мы отмечаем рёбра которые хотим использовать в наборе. Выходим из режима редактирования Tab.
Наш куб всё ещё выделен, поместим его в группу Ctrl+G Переименуем группу в cube_group. Для этого можно использовать боковую панель 2, либо следом за Ctrl+G нажать F6 и ввести название.

Принципиальные схемы в Blender. FreeStyle - 17

Группы очень полезны, к примеру если у нас есть два куба на которых мы отметили рёбра через Mark Freestyle Edge, и нам требуется что бы рёбра первого куба были синими, а на второго красными, то просто раскидываем на разные группы. Позже в настройках набора линий я покажу где выставляется группа для набора линий.

Добавляем третий набор линий в список линий. Дадим ему имя, к примеру «Wave»

Принципиальные схемы в Blender. FreeStyle - 18

Отожмём кнопку Visibility, и нажмём Group. Снимаем все галочки кроме Edge Mark и добавляем набор в группу cube_group

Переходим к настройки стиля линий. Вновь меняем цвет линии в Color на красный, задаём толщину линии в Thickness, выставляем 1.500. Теперь во вкладке Geometry добавляем 2 новых модификатора, Sinus Displacement и Spatial Noise. Как из названия видно, первый нужен для того, что бы создать из прямой волну, второй для добавления шума.
Выставляем настройки модификаторов примерно так же как на рисунке ниже…

Принципиальные схемы в Blender. FreeStyle - 19

Рис.5

F12
Должно выйти примерно так.

Принципиальные схемы в Blender. FreeStyle - 20

Пожалуй это всё, о чём я хотел рассказать про FreeStyle

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

Подготавливаем сцену

Открываем новый проект. Удаляем куб ( для этого выделяем его и нажимаем X). Выделяем камеру, и в окне Properties3, изменяем значения положения камеры на X: 0, Y: 0, Z: 10, значения поворота выставляем все в 0
Схема у нас плоская, поэтому в настройках камеры на вкладке Data выставляем режим Ortographic.
Масштабируем захватываемый объём камеры с помощью Ortographic Scale я поставил 14.
Нажимаем на цифровой клавиатуре 04 для переключение на просмотр из камеры.
Устанавливаем 3d курсор в центр экрана, для этого жмём пробел, в появившемся меню пишем «snap», и из оставшегося списка выбираем Snap Cursor to Center

Принципиальные схемы в Blender. FreeStyle - 21

Добавим плоскость. Shift+A выбираем Mesh -> Plane

Принципиальные схемы в Blender. FreeStyle - 22

Не снимая выделения, отмасштабируйте плоскость до нужных размеров нажатием клавиши S.
Нажмите Tab для перехода в режим редактирования. Затем W, выбираем Subdivide. В левой боковой панели2 выставите значение Number of Cuts в 20, в место неё вы можете использовать всплывающее окно по F6.
Должна появиться сетка как на рисунке ниже.

Принципиальные схемы в Blender. FreeStyle - 23

Не снимая выделения с рёбер нажмите Ctrl+E и из выпадающего меню выберите пункт Mark Freestyle Edge.
Выходим из режима редактирования Tab.
Наша плоскость всё ещё выделена, поместите её в группу Ctrl+G. Переименуйте группу в plane_group.
Во вкладке настроек материала, задайте синий цвет для плоскости.
Во вкладке настройки мира установите параметры как на рисунке.

Принципиальные схемы в Blender. FreeStyle - 24

Можно переместить источник света чуть правее и увеличить его яркость до 2х, пункт Energy вкладки Data.

Включите Freestyle на вкладке render, и настройте набор линий на вкладке render layers
Нужно закрепить за набором группу «plane_group», установить значение Edge Mark, выбрать белый цвет линий, выставить прозрачность в 50%, и толщину линий в 0.5px.

Принципиальные схемы в Blender. FreeStyle - 25

F12, должно получится вроде этого.

Принципиальные схемы в Blender. FreeStyle - 26

Теперь добавим тёмные, чуть заметные линии. Продублируйте плоскость Shift+D, расположив её ниже первой.
Войдите в режим редактирования, затем W, выбираем Subdivide, изменяем Number of Cuts на 2.
Ctrl+E -> Mark Freestyle Edge.
Измените группу плоскости на вкладке Object на backplane_group, либо сначала удалите продублированную плоскость из группы путём комбинации Shift+Ctrl+Alt+G и создайте новую Ctrl+G.

Настройте набор линий. Закрепите за набором группу «backplane_group», установите значение Edge Mark, выставите прозрачность в 80% (0.200), и толщину линий в 0.5px.

Принципиальные схемы в Blender. FreeStyle - 27

Продолжение следует...

Примечания

1) Нефотореалистичность здесь следует воспринимать как особенность
2) Если у вас отсутствует левая панель «Tool Shelf», то воспользуйтесь горячей клавишей T для вызова.

Файл примера.

Автор: Zeeeee

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js