P.S. Месяц назад(вроде уже год пролетел и я всё же решился опубликовать, вдруг это кому-то пригодится.) решил написать короткую статью о рисовании схем в Blender, но в процессе написания подумал, что нужно чуть больше углубиться в Freestyle. Статья разрослась и так получилось, что не успел закончить, а потом и вовсе забыл про неё и вот сегодня увидев в черновиках решил опубликовать, плюс добавить немного информации о графиках.
Введение
Вспомнил сегодня о способе создания чертежей с помощью FreeStyle, и подумал, почему бы не применить его в рисовании электронно-принципиальных схем (Вспомнил, что когда то в детстве видел вроде таких схем к советской радиоаппаратуре).
Сразу оговорюсь, что данный способ не подходит для рисования сложных схем, выполнять такую работу в Blender дольше, чем в предназначенном для этого редакторе.
Для того чтобы начать, понадобится собственно Blender, последнюю версию которого можно скачать с офф. сайта (хотя я надеюсь что читатель знаком с основами данного ПО и Blender уже установлен).
Для начала я немного расскажу о рендере FreeStyle, он не так давно был интегрирован в Blender, но как отдельный плагин существовал ранее.
FreeStyle
Данная часть больше рассчитана на новичков, поэтому если вы знакомы с Blender и FreeStyle, то можете смело её пропускать.
FreeStyle — нефотореалистичный 1 рендер. В основном его применяют для создания Рисованной графики, аниме.
Если кто плохо знаком с Blender, то я рекомендую для начала выставить следующие настройки:
* По умолчанию к подсказкам Blender отображаются Python ссылки, которые нужны в основном для тех, кто пишет скрипы. Отключим их, что бы не мешались.
Запускаем блендер, далее File -> User Preferences..., и на первой вкладке Interface снимаем галочку с Show Python Tooltips.
(Вторая половина рисунка лишь для того что бы показать всплывающую подсказку)
* Теперь включим локализацию всплывающих подсказок.
Переходим на вкладку System, ставим галочку на International Fonts, нажимаем Tooltips, Настоятельно не рекомендую переводить весь интерфейс, некоторые слова невозможно дословно перевести, и часто смысл переведённого слова просто непонятен или теряется.
Закрываем окно настроек, переходим на вкладку Render, ставим галочку на FreeStyle
![Принципиальные схемы в Blender. FreeStyle - 4 Принципиальные схемы в Blender. FreeStyle - 4](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-4.png)
По умолчанию некоторые настройки уже сделаны, и если нажать F12 или Render -> Render Image
То стандартный рендер отрисует нам 3D картину, а FreeStyle рассчитает грани и поверх изображения выведет нужные линии.
Теперь задача следующая, есть куб 9 граней которого нам видны, 3 скрыты.
Требуется белым цветом выделить видимые грани, толщина линий 10px. Скрытые грани прочертить оранжевыми, почти прозрачными (допустим на 80%) штрих пунктирными линиями, толщиной 1.5px. Внешний контур заштриховать, «размашистой», волнистой линией толщиной в 1.5px.
Итак задача поставлена, начнём.
Выделяем куб в окне 3D вида, переходим на вкладку Materials, выбираем чёрный цвет для куба. Так будет лучше видно выделенные границы, а сам куб будет в роли заливки.
![Принципиальные схемы в Blender. FreeStyle - 6 Принципиальные схемы в Blender. FreeStyle - 6](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-6.png)
Cледуем на вторую вкладку Render Layers к настройкам.
![Принципиальные схемы в Blender. FreeStyle - 7 Принципиальные схемы в Blender. FreeStyle - 7](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-7.png)
Открываем пункты 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 Принципиальные схемы в Blender. FreeStyle - 8](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-8.png)
Нажимаем F12 и смотрим на результат. Обратите внимание на углы, особенно на выделенный нижний.
![Принципиальные схемы в Blender. FreeStyle - 9 Принципиальные схемы в Blender. FreeStyle - 9](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-9.png)
У нас не состыковка вышла, т.к. углы линии прямые, для того что бы этого избежать в Freestyle Line Style ищем кнопку Strokes и в свойствах Caps: выбираем круговое перекрытие Round Кстати имя линии тоже можно назначить.
![Принципиальные схемы в Blender. FreeStyle - 10 Принципиальные схемы в Blender. FreeStyle - 10](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-10.png)
F12. Так гораздо лучше.
![Принципиальные схемы в Blender. FreeStyle - 11 Принципиальные схемы в Blender. FreeStyle - 11](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-11.png)
Добавим новую линию в набор линий нажатием на +
По аналогии с предыдущими линиями называем их «Hidden», только на этот раз выбираем в пункте в место Visibility, Hidden. Настройкой Visibility мы говорим рендеру, какие грани следует отрисовывать, в данном случае мы указали те, которые скрыты. Меняем цвет линии в Color на оранжевый, задаём толщину линии в Thickness, выставляем 1.500.
![Принципиальные схемы в Blender. FreeStyle - 12 Принципиальные схемы в Blender. FreeStyle - 12](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-12.png)
Теперь в разделе Stroke активируем пункт Dashed Line так как показано на рисунке. В этом пункте мы выставляем длину промежутков в пикселях. Первый промежуток — штрих (14px), второй — разрыв (7px), третий — штрих (3px), четвёртый — разрыв (7px). Два последних не используем, поэтому выставляем длину промежутка равной 0px, т.е. пятый — штрих (0px), шестой — разрыв (0px).
![Принципиальные схемы в Blender. FreeStyle - 13 Принципиальные схемы в Blender. FreeStyle - 13](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-13.png)
Переходим в раздел Alpha, в поле Base Transparent изменяем Alpha, вписываем значение 0.200, это как раз 20%, т.е. на 80% линии будут прозрачны.
F12. Вот что получилось.
![Принципиальные схемы в Blender. FreeStyle - 14 Принципиальные схемы в Blender. FreeStyle - 14](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-14.png)
Остался последний пункт, выделить внешний контур (на рисунке ниже закрашено красным)
![Принципиальные схемы в Blender. FreeStyle - 15 Принципиальные схемы в Blender. FreeStyle - 15](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-15.png)
Откройте окно 3D редактора, выделите куб и нажмите Tab для перехода в режим редактирования. Что бы лучше было видно грани нажмите Z. Для того что бы перейти в режим выделения рёбер нажмите на соответствующую пиктограмму.
![Принципиальные схемы в Blender. FreeStyle - 16 Принципиальные схемы в Blender. FreeStyle - 16](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-16.png)
Теперь правой кнопкой мыши, зажав Shift выделите нужные рёбра. Нажмите Ctrl+E и из выпадающего меню выберите пункт Mark Freestyle Edge. Таким образом мы отмечаем рёбра которые хотим использовать в наборе. Выходим из режима редактирования Tab.
Наш куб всё ещё выделен, поместим его в группу Ctrl+G Переименуем группу в cube_group. Для этого можно использовать боковую панель 2, либо следом за Ctrl+G нажать F6 и ввести название.
![Принципиальные схемы в Blender. FreeStyle - 17 Принципиальные схемы в Blender. FreeStyle - 17](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-17.png)
Группы очень полезны, к примеру если у нас есть два куба на которых мы отметили рёбра через Mark Freestyle Edge, и нам требуется что бы рёбра первого куба были синими, а на второго красными, то просто раскидываем на разные группы. Позже в настройках набора линий я покажу где выставляется группа для набора линий.
Добавляем третий набор линий в список линий. Дадим ему имя, к примеру «Wave»
![Принципиальные схемы в Blender. FreeStyle - 18 Принципиальные схемы в Blender. FreeStyle - 18](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-18.png)
Отожмём кнопку Visibility, и нажмём Group. Снимаем все галочки кроме Edge Mark и добавляем набор в группу cube_group
Переходим к настройки стиля линий. Вновь меняем цвет линии в Color на красный, задаём толщину линии в Thickness, выставляем 1.500. Теперь во вкладке Geometry добавляем 2 новых модификатора, Sinus Displacement и Spatial Noise. Как из названия видно, первый нужен для того, что бы создать из прямой волну, второй для добавления шума.
Выставляем настройки модификаторов примерно так же как на рисунке ниже…
![Принципиальные схемы в Blender. FreeStyle - 19 Принципиальные схемы в Blender. FreeStyle - 19](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-19.png)
Рис.5
F12
Должно выйти примерно так.
![Принципиальные схемы в Blender. FreeStyle - 20 Принципиальные схемы в Blender. FreeStyle - 20](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-20.png)
Пожалуй это всё, о чём я хотел рассказать про FreeStyle
В дополнение тут можно скачать файл проекта.
Подготавливаем сцену
Открываем новый проект. Удаляем куб ( для этого выделяем его и нажимаем X). Выделяем камеру, и в окне Properties3, изменяем значения положения камеры на X: 0, Y: 0, Z: 10, значения поворота выставляем все в 0
Схема у нас плоская, поэтому в настройках камеры на вкладке Data выставляем режим Ortographic.
Масштабируем захватываемый объём камеры с помощью Ortographic Scale я поставил 14.
Нажимаем на цифровой клавиатуре 04 для переключение на просмотр из камеры.
Устанавливаем 3d курсор в центр экрана, для этого жмём пробел, в появившемся меню пишем «snap», и из оставшегося списка выбираем Snap Cursor to Center
Добавим плоскость. Shift+A выбираем Mesh -> Plane
![Принципиальные схемы в Blender. FreeStyle - 22 Принципиальные схемы в Blender. FreeStyle - 22](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-22.png)
Не снимая выделения, отмасштабируйте плоскость до нужных размеров нажатием клавиши S.
Нажмите Tab для перехода в режим редактирования. Затем W, выбираем Subdivide. В левой боковой панели2 выставите значение Number of Cuts в 20, в место неё вы можете использовать всплывающее окно по F6.
Должна появиться сетка как на рисунке ниже.
Не снимая выделения с рёбер нажмите Ctrl+E и из выпадающего меню выберите пункт Mark Freestyle Edge.
Выходим из режима редактирования Tab.
Наша плоскость всё ещё выделена, поместите её в группу Ctrl+G. Переименуйте группу в plane_group.
Во вкладке настроек материала, задайте синий цвет для плоскости.
Во вкладке настройки мира установите параметры как на рисунке.
![Принципиальные схемы в Blender. FreeStyle - 24 Принципиальные схемы в Blender. FreeStyle - 24](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-24.png)
Можно переместить источник света чуть правее и увеличить его яркость до 2х, пункт Energy вкладки Data.
Включите Freestyle на вкладке render, и настройте набор линий на вкладке render layers
Нужно закрепить за набором группу «plane_group», установить значение Edge Mark, выбрать белый цвет линий, выставить прозрачность в 50%, и толщину линий в 0.5px.
F12, должно получится вроде этого.
Теперь добавим тёмные, чуть заметные линии. Продублируйте плоскость 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 Принципиальные схемы в Blender. FreeStyle - 27](https://www.pvsm.ru/images/2014/12/04/principialnye-shemy-v-Blender-FreeStyle-27.png)
Продолжение следует...
Примечания
1) Нефотореалистичность здесь следует воспринимать как особенность
2) Если у вас отсутствует левая панель «Tool Shelf», то воспользуйтесь горячей клавишей T для вызова.
Файл примера.
Автор: Zeeeee