Как сделать флаг в блендере

Обновлено: 05.07.2024

Как понятно из названия, темой этого поста является создание т. н. полых фигур в открытом редакторе трехмерной графики Blender.

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

Что такое "полые фигуры" и зачем они нужны? Если вы соберетесь создавать какое-либо здание в Blender с внутрениими интерьерами, комнатами и другими помещениями, в которые можно войти с улицы, то знайте, что ваш дом - полый. Можете представить его себе как куб с вырезанной сердцевиной и оставшимися тонкими стенками.

Что же нужно сделать, чтобы добиться эффекта полой фигуры? Расзберем это на примере куба:

1. Переключитесь в проволочный режим просмотра (Z). Так будет удобнее.
2. Создайте в Blender обычный, но достаточно большой куб.
3. Продублируйте куб (Shift-D), уменьшите размер копии (выделите копию и нажмите S).
4. Поместите получившийся меньший куб внутрь большего
5. Выделите сначала внешний куб (шелчок по нему правой кнопкой мыши), а потом, зажав клавишу Shift, внутренний куб. Получится, что вы выделили оба куба сразу.
6. Нажмите клавишу W, из выпавшего списка выберете Difference, схватите полученную фигуру и оттащите в сторону. На ее месте останется куб с двойными стенками. Вы оттащили такой же. Удаляйте его, он больше не нужен.
11. Все, получили полый куб, который стал цельным объектом. Если теперь попробуете его подвигать, то увидете, что оба куба перемещаются одновременно.
12. Сделаем дверь нашему домику. Создадим еще один небольшой куб, шириной в дверной проем.
13. Пересеките вновь созданный куб со стенкой полого так, чтобы одна стенка "дверного" кубика торчала наружу.
14. Выделите полый куб, а потом "дверной" ( с нажатой клавишей Shift). Повторите действия с пункта 6.
15. Заготовка для домика готова

Ноды геометрии в Blender 2.9 | Geometry Nodes | Уроки на русском для начинающих - Мармелад

Ноды геометрии в Blender 2.9 | Geometry Nodes | Уроки на русском для начинающих - Мармелад

Из этого видео ты узнаешь как работать с нодами геометрии в Blender 2.9. Это мой адаптированный вариант урока от Andrew Price. Original tutorial .

СТОЛ Blender 2.9 Подробный Урок Для Начинающих | Уроки на Русском

СТОЛ Blender 2.9 Подробный Урок Для Начинающих | Уроки на Русском

Привет в этом уроке я покажу как создать модель стола в Blender 2.9 приятного просмотра. В этом уроке я подробно разбираю все действия и он .

Геометрические ноды в Blender

Геометрические ноды в Blender

Blender 2.9|Уроки Для Начинающих| Геометрические Ноды|Geometry Node

Blender 2.9|Уроки Для Начинающих| Геометрические Ноды|Geometry Node

Привет, в этом видео покажу как работать с новым Блендером, а именно с геометрическими нодами. характеристики моего компьютера: Процессо

Geometry Nodes • Базовые принципы • Blender 2.93 LTS • Обновление • Обзор • Уроки на русском

Geometry Nodes • Базовые принципы • Blender 2.93 LTS • Обновление • Обзор • Уроки на русском

Базовые принципы механики Geometry Nodes в Блендере 2.93 LTS. Разбираемся с этим механизмом, как всё устроено и на чём основано. Оригинал на .

ВСЕ НОДЫ МАТЕРИАЛОВ | Shader | Blender 2.8+

ВСЕ НОДЫ МАТЕРИАЛОВ | Shader | Blender 2.8+

Дорога с фонарями • Geometry Nodes • Blender 2.93 • Уроки на русском

Дорога с фонарями • Geometry Nodes • Blender 2.93 • Уроки на русском

Редактируемая дорога с фонарями. Кривая управляет длиной и маршрутом дороги. А фонари смотрят в сторону дороги и не деформируются так ка

НОДЫ ГЕОМЕТРИИ | Geometry, Mesh, Point

НОДЫ ГЕОМЕТРИИ | Geometry, Mesh, Point

В этом видео мы рассмотрим первую пачку нодов геометрии из Blender 2.9+ - Geometry, Mesh и Point. Партнерская программа от XYZ .

Blender 3d 2.93.5 ускоряем работу в Node Editor и Geometry Node.

Blender 3d 2.93.5 ускоряем работу в Node Editor и Geometry Node.

Nodes 4 Noobs | Lvl 1 | Beginners Guide to Nodes | Blender 2.8

Nodes 4 Noobs | Lvl 1 | Beginners Guide to Nodes | Blender 2.8

Обзор 22 новых ноды геометрии • Blender 2.93 • Geometry Nodes • Обновление • На русском

Обзор 22 новых ноды геометрии • Blender 2.93 • Geometry Nodes • Обновление • На русском

В Блендер 2.93 добавили 22 новые ноды геометрии (Geometry Nodes). Здесь мы пройдемся по этим нодам и разузнаем что они делают. Если вам .

ПРОЦЕДУРНАЯ ГЕНЕРАЦИЯ ЗДАНИЙ в Blender 2.9 | Geometry Nodes Blender | Ленивый Blender 3.0

ПРОЦЕДУРНАЯ ГЕНЕРАЦИЯ ЗДАНИЙ в Blender 2.9 | Geometry Nodes Blender | Ленивый Blender 3.0

Как сделать многоэтажку? Процедурная Генерация Зданий в Geometry Nodes - это сложно? Помощь и заказ переводов: .

Уроки Блендер для начинающих С НУЛЯ • Уроки Blender 2.92 / 2.8

Уроки Блендер для начинающих С НУЛЯ • Уроки Blender 2.92 / 2.8

Это видео для ПОЛНЫХ НОВИЧКОВ! Для НАЧИНАЮЩИХ которые только открыли БЛЕНДЕР и не понимают, что тут нажимать. Если вы хотите .

ВСЕ НОДЫ МАТЕРИАЛОВ | Input | Blender 2.8+

ВСЕ НОДЫ МАТЕРИАЛОВ | Input | Blender 2.8+

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

Ноды геометрии в Blender 2.9 Часть 2 | Geometry Nodes | Уроки на русском для начинающих - Мармелад

Ноды геометрии в Blender 2.9 Часть 2 | Geometry Nodes | Уроки на русском для начинающих - Мармелад

Из этого видео ты узнаешь как работать с нодами геометрии в Blender 2.9. Это мой адаптированный вариант урока от Andrew Price. Original tutorial .

Blender 3D ► 13. Возможно, самый важный урок про материалы.

Blender 3D ► 13. Возможно, самый важный урок про материалы.

Blender 2.92 GEOMETRY NODES for BEGINNERS: Procedural Environment

Blender 2.92 GEOMETRY NODES for BEGINNERS: Procedural Environment

Геометрические ноды в Blender

Геометрические ноды в Blender

All 80+ Blender material nodes explained in under 30 minutes

All 80+ Blender material nodes explained in under 30 minutes

Видео курс. Урок №1 Моделирование в 3D Blender. Бесплатные уроки 3D дизайна. Ablay-3D

Видео курс. Урок №1 Моделирование в 3D Blender. Бесплатные уроки 3D дизайна. Ablay-3D

Всем доброго времени суток! На нашем канале открывает новый плейлист видеоурок по моделированию в Blender! Из этого урока вы узнаете .

Blender 2.92 | Convert Geometry Nodes object to Mesh

Blender 2.92 | Convert Geometry Nodes object to Mesh

In this video, I will show you how to Convert (Explode ) Geometry Nodes object to Separated Mesh (editable object) using Apply option Make instances real and .

Генерация ландшафтов геометрическими нодами

Генерация ландшафтов геометрическими нодами

Создание анимации в Blender 3D | Уроки Blender

Создание анимации в Blender 3D | Уроки Blender

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

Easy 3D Typography Tutorial Using Geometry Nodes | Blender 2.92

Easy 3D Typography Tutorial Using Geometry Nodes | Blender 2.92

In this tutorial I teach you how to make 3D Typography with random objects using Geometry Nodes in Blender. Stay tuned for more such crazy and easy blender .

Blender Tutorial - Typing Effect with Animation Nodes

Blender Tutorial - Typing Effect with Animation Nodes

Hello everyone and welcome back to another tutorial! I know it's been a couple weeks but I'm back and I have a lot of ideas for tutorials. So stay tuned for those!

Обзор Blender 2.92

Обзор Blender 2.92

Blender 3D ► 12. Материалы. Часть 2.

Blender 3D ► 12. Материалы. Часть 2.

Наклейки (Decals Декали) • Blender 2.93 • Слои • Многослойная текстура • Уроки на русском

Наклейки (Decals Декали) • Blender 2.93 • Слои • Многослойная текстура • Уроки на русском

Учимся рисовать поверх готовой текстуры, наклеивать наклейки, создадим несколько UV Maps. Еще их называют Декали или Decals. Если вам нравятся

ALL ABOUT THE COLOR RAMP NODE IN BLENDER 2.9 EEVEE

ALL ABOUT THE COLOR RAMP NODE IN BLENDER 2.9 EEVEE

The color ramp node in Blender 2.9 Eevee is one of the most important nodes in Blender! Here's a lil tutorial on some of it's features and uses! If you'd like to help .

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

Пользовательский аддон в Blender

Пользовательский аддон в Blender

Возьмем простой скрипт создания трубы:

Дополним его функционал до полноценного аддона.

Для превращения скрипта в аддон Blender нужно выполнить 4 обязательных требования Blender API:

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

Так же API требует, чтобы все пользовательские классы были статическими, поэтому в них не требуется определять конструктор __init__ и деструктор __del__.

В нашем примере от аддона требуется выполнить действие по созданию меша. В классе bpy.types.Operator определена функцию execute, которая выполняется в момент обращения к классу через API Blender – как раз то, что нужно для выполнения какого-то определенного действия. Поэтому оборачиваем код скрипта в класс и наследуем его от bpy.types.Operator. Переопределяем функцию execute и заносим в нее весь исполняемый код нашего скрипта. Функция execute должна возвращать указание о успешном выполнении :

Класс, наследующий bpy.types.Operator становится полноправным оператором Blender API.

Кроме функции execute операторы имеют следующие предопределенные переопределяемые функции:

  1. poll – выполняется перед выполнением самого оператора, и если в ходе ее выполнения произошла ошибка – сам оператор далее не выполняется
  2. invoke – используется для интерактивных операций, таких как перетаскивание элементов
  3. draw – вызывается для создания графических элементов, панелей
  4. modal – используется в операторах, которые требуют периодического вызова, например при разрезании нескольких ребер. Не прерывают работу после возвращения
  5. cancel – вызывается при отмене выполнения оператора
  1. Для того, чтобы созданный класс подключился к Blender API, нужно его зарегистрировать, вызвав функцию bpy.utils.register_class(), указав в ее параметрах имя регистрируемого класса:

Так как мы оформляем наш класс в виде аддона, операцию регистрации класса нужно выполнить в момент инициализации аддона, а операцию разрегистрации класса – в момент его отключения. Для этого в API предусмотрено следующее условие: если в коде аддона определены функции register и unregister, они будут вызваны: первая при подключении аддона, вторая – при его отключении.

Добавим в конец кода нашего аддона эти две функции и проведем в них соответственно регистрацию и разрегистрацию нашего класса:

В качестве идентификатора необходимо использовать строковую константу с предопределенным именем bl_idname. Такая константа обязана присутствовать в любом подключаемом к API Blender классе. Кроме обязательного предопределенного имени константы к ней есть еще одно требование – в ее значении должна присутствовать точка. Скорее всего это сделано для более удобной группировки идентификаторов классов внутри API.

Для определения идентификатора нашего класса создадим такую переменную и присвоим ей значение ‘mesh.create_tube’:

После чего функционал (функция execute) нашего класса, который после регистрации в API становится оператором, может быть вызван через:

Так же в области видимости класса должна быть объявлена текстовая константа bl_label, содержащая в значении текст. Этот текст будет использоваться при отображении панелей или меню с участием нашего класса.

Определим необходимые константы в классе нашего аддона:

Если в области видимости класса определяются другие константы, рекомендуется снабжать их все префиксом bl_.

  1. Для окончательного оформления аддона нужно сделать его описание. Это требование не является в полной мере обязательным, но его все равно стоит выполнять. Написав несколько аддонов без описаний, даже их автору очень сложно разобраться в их назначении. Для составления описания аддона служит словарь с предопределенным именем bl_info, который имеет следующие предопределенные пункты:
    1. name – название аддона
    2. author – ФИО автора
    3. version – версия аддона
    4. blender – версия Blender под которую разрабатывался аддон
    5. category – категория, в которую аддон будет помещен
    6. location – указание на то, где искать панель аддона
    7. url – указание на исходный код аддона (откуда он распространяется)
    8. description – строка с более подробным описанием аддона

    По минимуму стоит заполнять пункты name, category и blender.

    Добавим в начало кода нашего аддона описание для него:

    Полный текст аддона теперь выглядит так:

    Аддон готов в минимальном исполнении. Можно подключить его в Blender, открыть окно Python Console и вызвать оператор командой bpy.ops.mesh.create_tube().

    Установленный аддон и вызов его функционала из Python Console

    Установленный аддон и вызов его функционала из Python Console

    Вызывать созданный функционал через Python Console очень неудобно. Доработаем немного функционал аддона – добавим в меню создания мешей (Shift+a – Mesh) пункт для вызова нашего оператора – создания трубы.

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

    Объект layout содержит в себе структуру определяемого меню, в которую мы добавили один пункт, связав его с нашим оператором через его bl_idname.

    Для того, чтобы этот пункт добавлялся в меню в момент регистрации аддона и удалялся при его разрегистрации, добавим в функции register и unregister нужные команды:

    Полный код аддона:

    Если вы установили аддон, его нужно переустановить – удалить нажатием на кнопку Remove в окне User Preferences – Add-ons – Add Mesh: Create Tube Addon и установить заново из дополненного файла.

    После установки и активации аддона в меню добавления меша появится новый пункт Create Tube.

    Добавление пункта в меню Add Mesh для вызова функционала аддона

    Добавление пункта в меню Add Mesh для вызова функционала аддона

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

    Для того, чтобы при создании трубы в N-панели выводилась панель создаваемого объекта, в описание класса нужно добавить переменную с предопределенным именем bl_options. Эта переменная – нумерованное множество, от содержания которого зависит, какие опции будут доступны оператору. Обязательным значением является “REGISTER” – собственно регистрация опций (это значение используется по умолчанию, когда переменная явно не определена). Добавим в bl_options опцию “UNDO” для того, чтобы оператор был включен в стек отмены – возврата операций (undo – redo) и ему была доступна отдельная панель в N-панели.


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



    Включение бевельного объекта для кривой Путь в табе Геометрия в Свойствах Кривых.


    Материал

    Вторая часть видеоурока на любителя. Это схемы материала чувака: A, B

    Я пробовал, терпения не хватило. Сильно долго. Этот вопрос скорее теоретический, чем практически применимый. Сайклз вообще медленный сам по себе.

    Но я сделал нечто подобное для рендерера Блендер. Идея заключается в том, чтоб вдоль волосяных кусков пустить борозды из нормала, а кончики сделать прозрачными.

    1

    2

    3

    4

    5

    6

    1

    Material Nodes
    2

    Composition Nodes



    Oписание

    В рендерере Блендер узловой материал не работает прямо на кривых. Почему-то UV геометрия на кривые не ложится, хотя и активирована в табе Текстурное пространство в Свойствах Кривых. Наверное, она только в Сайклз работает. Потому волосы я перевел в мэш, уменьшив разрешение Preview U на волосах до 2, а на бевеле до 6, чтоб комп сильно не тормозил. Ниже вы найдете подробное описание, как конвертировать кривые в полисетку. Потом, чтоб волоса стали поглаже, на мэш я поставил модификатор Subdivision Surface.


    Потом я подключил узловой материал к этим волосам.


    Для волос я сделал отдельный слой визуализации, а слой, где голова, включил как z-маскировочный, чтоб изнанка волос за головой не ренделась.


    Потом в Свойствах Визуализация я включил Затенение: Альфа: С прозрачностью.


    А потом с узлами композитинга я прорендил картинку.

    1
    2
    3


    Конвертирование кривых в полисетку


    Бевел может быть любой формы. Но если это кольцо, то после перевода кривой в мэш, труба должна быть разомкнута, а то волосы не получатся.

    Я в качестве бевела использую окружность NURBS, а не безье, как на видео выше. Можно использовать любую кривую.



    Nurbs Curve as Bevel



    Path as a hair strand



    Path + Bevel

    Перед конвертированием надо уменьшить Resolution: Preview U на бевеле и, возможно, на волосах. Если оно сильно большое компьютер может зависнуть.


    Path в мэш переводится комбинацией Alt-C.


    Конвертирование полисетки в систему частиц


    Сначала надо сделать швы на поперечных реберных петлях. Волосы будут расти поперек них и повдоль продольных реберных петель.

    В Object Mode в разделе Particles в табе HairNet включи Emit Hair on Itself и нажми Add Hair From Sheets.


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

    Переключись в Particle Mode. Кликни по волосам.

    Кликать обязательно, чтоб система частиц стала нередактируемая, а волосы не разлетелись в разные стороны.

    Еще помогает стереть дубликаты: A > W > Remove Doubles.

    В Свойствах Particles поставь


    Tab

    Option

    Value
    Children Display 1
    Children Render 3
    Children Radius 0.01
    Children Roundness 0
    Render Strand Render OFF
    Render Bi-Spline ON
    Render Steps 6
    Roughness Uniform 0.2
    Roughness Size 1
    Roughness Endpoint 0.5
    Roughness Shape 10
    Roughness Random 1
    Roughness Size 10

    Radius желательно ставить низкий. Так натуральней выглядит. Radius - это расстояние на которое дети Simple расползаются от родителя. Для разных прядей можно ставить разный радиус.

    По желанию еще можно экспериментировать с Kink, но это не обязательно.


    Если волоса получатся толстые и бугристые, то картинку надо прорендить на большее разрешение - чем больше, тем лучше - а потом уменьшить ее в GIMP.


    Axis
    Value
    Y 600
    X 800
    Size 200%



    Axis
    Value
    X 800
    Y 600
    Size 800%

    Но сначала старайся уменьшить толщину волос в Material > Strand, поставив Blender Units.


    Чтоб спрятать эмитер поставь Bounds в Maximum Draw Type. Для анимации прикрепи его к черепу Ctrl-P.


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





    Мягкая тень от волос

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