Узел Curve Spiral (спираль)
Узел создаёт полисплайн в форме спирали. Его можно использовать для создания пружин или других подобных объектов. По умолчанию спираль закручивается по часовой стрелке.
Входы
Resolution (разрешение)
Количество точек на один оборот спирали.
Сколько раз спираль делает полный оборот.
Start Radius, End Radius (начальный/конечный радиус)
Радиус начальной и конечной точки спирали. Радиус спирали изменяется линейно между двумя значениями по всей спирали.
Переключение закручивания спирали по часовой/против часовой стрелки.
Свойства
Этот узел не содержит свойств.
Выходы
Полисплайн, сгенерированный из входных данных.
© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License. Обновлено: 03/15/2024.
- Edit Page
- Сообщить об ошибке на этой странице
Как создать изогнутую пружину
Господа, с Blender знаком не так давно, начал месяца 3 назад. Возникла надобность создать пружину изогнутую в форме полукруга. Разобрался, как создать обычную пружину, но как изогнуть её, я не понял. Так же возникла проблема с её маштабированием, ибо при изменение размера она просто перемещается. Буду благодарен, если поможете.
17.01.2020 в 00:15 #20233
создаешь фигуру или поверхность переходишь в едит мод отдаляешь от курсора и жмешь модификатор screw там ползунки пожмякай ,есть настройки
Просмотр 2 сообщений — с 1 по 2 (из 2 всего)
- Форум «Моделирование и скульптинг» закрыт для новых тем и ответов.
Авторизация
Рубрики
- Анимация и риггинг
- Загрузки
- Материалы и текстуры
- Моделирование и скульптинг
- Новости и обзоры
- Основы Blender
- Рендеринг и освещение
- Симуляция и частицы
- Скриптинг на Python
- Создание игр в Blender
Метки
О сайте
На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.
Контакты
Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:
Следите за нами
Подписывайтесь на наши страницы в социальных сетях.
На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.
Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.
Пружина на Blender Geometry Nodes
Для того чтобы сделать пружину при помощи Geometry Nodes в Blender нужно всего лишь применить немного векторной математики. Взяв за основу прямую линию можно переместить ее точки в соответствии с формулой окружности так, что в итоге они образуют пружину.
.blend file on Patreon
Откроем пустую сцену в Blender, добавим в ее куб (shift+a – Mesh – Cube), повесим на него модификатор Geometry Nodes и нажатием на кнопку New создадим пустое дерево нод геометрии.
Удалим нод Group Input так как мы не будем использовать исходную геометрию куба, а построим пружину с нуля.
Добавим нод Curve Line (shift + a – Curve Primitives – Curve Line). Этот нод создает прямую линию, состоящую из двух точек. Местоположение первой из них установим в начале координат – все координаты точки Start установим в 0.0. Вторую точку расположим на расстоянии 10 метров по оси X – координату X у точки End зададим равной 10.0, а остальные – 0.0.
Соединим нод с нодом Group Output.
Подразобъем кривую, добавив ей промежуточных точек. Для этого добавим в дерево нод Resample Curve (shift + a – Curve – Resample Curve) и поставим количество добавляемых точек равное 100.
Теперь немного математики.
Для того чтобы получить из линии пружину, нам нужно сдвинуть каждую ее точку так, чтобы она лежала на цилиндре, ось которого совпадает с нашей линией.
Так как цилиндр – это окружность, растянутая вдоль нашей прямой, мы можем использовать формулу окружности для подсчета, на сколько нам нужно сдвинуть точки.
Координаты X и Y точек на окружности определяются в зависимости от угла наклона вектора “a”, который в нашем случае трансляции окружности вдоль прямой напрямую зависит от текущего положения точки на нашей прямой.
Вернемся к нашим нодам.
Для того чтобы сдвигать точки прямой нужным образом, добавим в дерево нод Set Position (shift+a – Geometry – Set Position).
Смещение точек нам нужно подать не его вход Offset. Этот вход имеет векторный тип.
Реализуем формулу для окружности с помощью нод.
Добавим нод Combine XYZ (shift + a – Vector – Combine XYZ).
Так как наша прямая лежит вдоль оси X, если посмотреть на нее с торца (так, чтобы цилиндр выглядел как окружность), ось Z буде соответствовать оси Y из формулы, а ось Y – оси Х из формулы.
Поэтому формулу нужно собирать, подавая значения sin() и cos() на входы Y и Z нода Combine XYZ.
Добавим нод Math (shift + a – Utilities – Math), переключим его в режим “sin” и соединим его выход Value со входом Z нода Combine XYZ.
Добавим еще одни такой же нод Math, переключим его в режим “cosine” и соединим со входом Y нода Combine XYZ.
Теперь нужно связать формулу с координатами точек на прямой.
Добавим нод Position (shift + a – Input – Position). Этот нод возвращает вектор положения каждой точки нашей прямой.
Так как угол поворота “a” у нас зависит только от удаленности точки от начала прямой, то от положения точек на прямой нам нужна только их X координата.
Добавим нод Separate XYZ (shift + a – Vector – Separate XYZ) и соединим его вход Vector с выходом Position нода Position. Выход X нода Separete XYZ соединим со входами Value обоих нодов Math.
Таким образом мы получили смещение каждой точки прямой к окружности. Соединим выход Vector нода Combine XYZ с входом Offset нода Set Position, чтобы задать точкам прямой рассчитанное смещение.
Прямая превратилась в спиральную пружину.
Для придания ей толщины добавим нод Curve To Mesh (shift + a – Curve – Curve To Mesh) в основную ветку нодового дерева, после нода Set Position.
Также добавим нод Curve Circle (shift + a – Curve Primitives – Curve Circle). Этот нод будет задавать профиль, который обходя по нашей пружине, придаст ей толщину. Соединим его выход Curve со входом Profile Curve нода Curve To Mesh.
Значение поля Radius установим равное 0.25. Изменяя значение этого поля можно динамически менять толщину пружины.
Для того чтобы управлять количеством витков пружины по ее длине, нам нужно всего лишь добавить коэффициент при просчете угла “a” в формуле смещения точек по окружности.
Добавим нод Math (shift + a – Utilities – Math), переключим его в режим умножения Multiply и вставим в ветку расчета формулы перед нодами “sin” и “cosine”. Значение Value у нода установим равное 2. Изменяя его мы можем динамически менять количество витков у нашей пружины на единицу длины.
Чем больше витков на единицу длины мы ставим, тем более “ломаная” пружина у нас получается. Это происходит из-за того, что для достижения гладкости ей не хватает точек.
Для достижения гладкости мы можем просто увеличить количество точек, на которые подразбиваем исходную прямую, увеличивая значение поля Count нода Resample Curve.
Или же, пока наша прямая имеет тип Curve, задать автоопределение касательной к ее точкам.
Для этого добавим в основную ветку дерева нод Set Spline Type (shift + a – Curve – Set Spline Type) и вставим его перед нодом Curve To Mesh. Переключим его в режим Bezier. Добавим нод Set Handle Type (shift + a – Curve – Set Handle Type), переключим его в режим Auto и вставим в основную ветку дерева после нода Set Spline Type.
Теперь мы можем задать большую плотность нашей пружине не увеличивая существенно количество точек в ее геометрии.
Для того чтобы динамически менять диаметр пружины нужно всего лишь добавить коэффициенты в нашу формулу расчета смещения точек по окружности по оси X и Y.
Добавим нод Math (shift + a – Utilities – Math), переключим его в режим умножения Multiply и вставим в ветку расчета смещения точек межу нодами Sin и Combine XYZ. Точно такой же нод добавим в ветку между нодами Cosine и Combine XYZ.
В обоих нодах установим значение Value равное 2. Меняя его можно динамически менять диаметр пружины.
Модификатор Screw
Модификатор Screw похож на инструмент Screw, расположенный на панели инструментов, тем, что он также берет профиль объекта, меша, сетки или кривой, и создает из них спиралеобразную форму. Данный профиль должен быть двумерным и выровнен по двум осям, относительно оси скручивания.
Режим работы: Любой режим
- Axis
Ось, вдоль которой необходимо построить спираль. - Screw
Высота скручивания спирали. - AxisOb
Имя объекта для определения оси направления. - Object Screw
Использование объекта (AxisOb) для определения величины скручивания. - Angle
Угол поворота спирали (в градусах). - Steps
Число шагов, используемое для одной итерации (отображаемое в окне 3D-вида). - Render Steps
Число шагов, используемое для одной итерации во время рендеринга (чем выше, тем качественнее результат). - Calc Order
Пересчитывает направление нормалей. Необходимо для меш-объектов. - Flip
Изменяет направление нормалей. - Iterations
Количество итераций. - Smooth Shading
Переключение режима отображения граней между плоским и сглаженным. - Merge Vertices
Объедините вершины, которые лежат на оси вращения. Используйте данную опцию, чтобы закрыть края объекта с помощью треугольников. - Merge Distance
Регулирует расстояние, на котором работает опция Merge Vertices.