EN
Andrey Sokolov
Andrey Sokolov
730 subscribers
goals
21 of 500 paid subscribers
Когда я наберу 500 платных подписчиков, смогу больше времени уделять записи видео и разработке аддонов для Blender.
359.48 of $ 1 131 money raised
Донаты || Donates
37.45 of $ 566 money raised
Cделать аддон True Time Remapping бесплатным для всех желающих навсегда. Make True Time Remapping add-on free for everyone forever.
113.08 of $ 114 money raised
На дисковый накопитель 4Tb для хранения бэкапов курса «Blender Избушка».

Волосы на геонодах ► 06. Толщина волос

Следующая задача - контролировать толщину волос и как она меняется от начала к концу волоса. Напомню, что для того, чтобы у волос в принципе появилась толщина, в панели с настройками рендера внизу справа, вкладка с иконкой фотоаппарата, во вкладке Curves тип должен быть выставлен на Strip (по умолчанию выставлен на Strand).
Буду очень благодарен всем, кто решит поддержать проект материально. В данный момент это можно сделать только здесь, на Boosty, сделав разовый платёж или оформив спонсорскую подписку приемлемого для вас уровня (от 200 р. в месяц).
Это будет один из самых коротких уроков серии. На данный момент у нас есть нод-группы, которые контролируют длину волосугол наклонаизгиб волос и настройки дочерних волос ↓
Для определения толщины волос нам понадобится нод Set Curve Radius, с помощью которого можно задавать радиус кривых ↓
🛈 Обратите внимание, радиус кривой задаётся для всего объекта одновременно. Да, можно использовать вход Selection, чтобы определить, для какой именно части волос будет переопределён радиус, но может сложиться ситуация, когда, например, с помощью Join Geometry у вас будут объединены две разные геометрии с разными сплайнами, и для обоих будет определён радиус с помощью Set Curve Radius. Мы можем ожидать, что в таком виде у нас будет два комплекта сплайнов с разной толщиной, но на практике, если параметр Selection для Set Curve Radius в этих ветках не задан, одна ветка переопределит радиус другой. 
В принципе, на этом можно было бы и закончить урок - просто использовать Set Curve Radius для определения общей толщины волос. Но почему бы, раз уж мы этим занялись, нам не сделать систему, позволяющую контролировать толщину волос от корней до самых кончиков, чтобы ваши волосы были мягкими и шелковистыми? О чём это я... Ах да, для контроля толщины на протяжении длины волоса в качестве основы мы можем использовать Factor из нода Spline Parameter для параметра Radius в Set Curve Radius 
Поскольку Factor из нода Spline Parameter для каждого сплайна генерирует значения от 0 до 1 от начальной до конечной точки, при использовании Factor на начале волос их толщина становится равной 0, а на концах волос - 1 м. 
Кстати, обратите внимание, что всё это мы делаем уже после того, как подразделили кривые, добавив им точек.
Чтобы сделать кривые не такими гигантскими, умножим значение фактора на 0.01 с помощью Math в режиме Multiply (умножение) ↓
А чтобы поменять местами толщину на начале и конце, чтобы у корня волос был потолще, а к концу постепенно сужался, до умножения, инвертируем значения фактора, вычтя их из единицы с помощью Math в режиме Subtract (вычитание) ↓
Сейчас изменение толщины происходит линейно от начала к концу волоса. Чтобы регулировать огибающую можно использовать и Curves и ColorRamp, но мне бы хотелось, чтобы этот параметр можно было контролировать снаружи будущей группы, поэтому я предлагаю использовать для этой цели Math в режиме Power (возведение в степень) ↓ 
При значениях, близких к нулю он будет переносить утоньшение к самому концу волоса... ↓
...а при значениях выше единицы, наоборот, оставлять толстыми только корни волос ↓
Создадим два временных нода Value, которые будут обозначать будущие входы в группу - общий радиус и регулировку огибающей. Значение, определяющее радиус, подключим через дополнительный нод Math > Multiply (умножение), предварительно перемножив его с 0.01 для удобства управления. Подключим его к умножению с фактором, инвертированным с помощью вычитания из единицы через Math > Subtract (вычитание) и изогнутым с помощью Math > Power (возведение в степень), параметр Exponent которого регулируется вторым нодом Value ↓
С помощью Ctrl+G объединим ноды в группу, в N-панели во вкладке Group установим правильный порядок для входов, переназовём их так, чтобы было понятно, что они делают. Для входа, подключенного к Math > Power (возведение в степень), установим минимальное значение 0.001, чтобы случайно не возвести число в нулевую степень и внезапно не получить на выходе единицу, а максимальное, например 8, потому что больше для регулировки огибающей нам вряд ли понадобится ↓
Выйдем из группы с помощью Tab, активируем щиток, назовём группу GN Hair Radius ↓
Теперь можно подстроить все параметры - радиус, количество детей, изгиб, длину и т.д. ↓
Поздравляю! Пятый элемент управления готов!
Вы видите эти уроки, благодаря тем, кто забирает их к себе на стенки, рассказывает друзьям, знакомым, в сообществах, пабликах, чатах, коммьюнити. Без такой поддержки развитие проекта было бы невозможным, и я благодарен каждому.
Выражаю большую благодарность спонсорам. Вы даёте мне возможность продолжать, а другим - бесплатно учиться.

Subscription levels

1-й уровень

$ 2,27 per month
1-й уровень

2-й уровень

$ 5,7 per month
2-й уровень

3-й уровень

$ 11,4 per month
3-й уровень

4-й уровень

$ 22,7 per month
4-й уровень

5-й уровень

$ 57 per month
5-й уровень

Максимальная поддержка

$ 114 per month
Максимальная поддержка
Go up