Создание труб и проводов в Blender с помощью кривых

Моделировать тонкие протяженные объекты вроде труб и проводов при создании сцен приходится достаточно часто — в интерьерных сценах, научных, технических или фантастических. Одним из самых простых и удобных способов создания подобных объектов — использовать кривые (curves).

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

Простые провода

  1. Добавим в сцену кривую:
    1. shift + a — Curve — Bezier
  2. Перейдем в режим редактирования (TAB) и придадим форму кривой, перемещая, вращая и масштабируя ее точки.
    • перемещение точки: g
    • вращение: r
    • добавление точки в конец кривой: выделить точку на конце — e
    • вставка точки между двумя другими: выделить две точки — w — subdivide
    • удаление точки или сегмента кривой: x или del
    • дублирование точек и сегментов: shift + d
    • соединение двух точек: f
  3. Осталось придать кривой объем:
    1. В окне Properties во вкладке Object Data установить:
      1. Shape:
        1. Fill — указать Full
      2. Geometry:
        1. Bevel
          1. Depth = 0.005 — Этот параметр как раз придает объем.
          2. Здесь же можно поднять значение параметра Resolution — он отвечает за плотность сетки т.е. насколько гладко будет выглядеть кривая внешне. Но вместо этого проще и удобнее перейти во вкладку модификаторов, добавить модификатор Subdivision Surface и управлять сглаживанием кривой через него.

Назначив кривой подходящий материал, получим готовый ровно уложенный провод:

  1. А теперь посмотрим, насколько легко этим управлять:
    1. Выделим две точки, образовывающие угол провода.
      1. w — Subdivide — указать количество разбиений равное 8
    2. И просто начнем передвигать и поворачивать полученные дополнительные точки.

В результате этих нехитрых манипуляций провод стал выглядеть гораздо интереснее:

Трубы

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

  1. Добавим в сцену еще одну кривую.
  2. Придадим ей нужное положение, добавляя и перемещая точки.

  1. Зададим диаметр:
    1. Shape — Fill = Full
    2.  Geometry — Bevel — Depth = 0.05.
  2. И назначим подходящий материал, например хромированный металл.

Произвольные сечения и обводка

Трубы и провода имеют круглое сечение, которое легко устанавливается регулировкой параметра Bevel — Depth. Однако очень часто нужно моделировать длинные объекты, имеющие произвольное сечение. Это может быть плинтус, короб для проводов, рельсы, балки и множество иных объектов, в процессе создания которых хотелось бы так же использовать легкость и гибкость построения объектов кривыми.

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

  1. Добавим в сцену 2 кривые, которые будут служить направляющими.
  2. Отредактируем их форму и расположение.
  3. Добавим им модификатор Subdivision Surface для сглаживания.

  1. Добавим в сцену кривую для создания формы обводки в виде «уголка».
    1. Назовем ее: «Profile1».
    2. Отредактируем ее форму так, чтобы она образовывала профиль необходимого нам сечения.
    3. Для получения прямого угла в нужной точке кривой необходимо изменить ее тип:
      1. Выделить нужную точку — v — Free
      2. После чего управляющие отрезки точки можно перемещать независимо друг от друга.
    4. Особое внимание нужно уделить расположению точек кривой относительно центра origin. Именно точка origin будет выстраиваться вдоль направляющей кривой при построении объекта.
    5. Немного уменьшим ее размер, итоговый «уголок» будет соответствовать размерам исходного профиля.

  1. Выделим первую из направляющих кривых.
    1. В окне Properties во вкладке Object Data
      1. в панели Geometry в поле Bevel Object
        1. указать созданную кривую профиля Profile1
    2. Если установить чекбокс Fill Caps в панели Geometry — на концах полученного объекта профиль будет закрыт.

  1. Добавим в сцену кривую для создания формы обводки в виде «короба».
    1. Назовем ее: «Profile2».
    2. Как и для первого профиля придадим ей нужную форму относительно точки origin и отрегулируем размер.

  1. Выделим вторую направляющую кривую и укажем в поле Bevel Object профиль «Profile2».

  1. Еще раз убедимся в замечательной гибкости нашего подхода к моделированию — сделаем на поверхности «короба» выемку. Если бы «короб» создавался из меша, пришлось бы вручную экструдировать точки по все его поверхности. Здесь же нужно лишь:
    1. Выделить кривую образующую профиль (Profile2) и в режиме редактирования изменить ее форму:

Сделанные изменения сразу же отражаются на итоговом «коробе»:

  1. Назначим готовым объектам материалы:

Ребра и переменный диаметр

Все объекты, рассматриваемые выше, по всей своей длине имеют одну и ту же толщину. А что делать, если необходимо смоделировать трубу с переменным диаметром? Путем несложных манипуляций с кривыми, такое тоже возможно.

  1.  Для начала добавим в сцену направляющую кривую и расположим ее необходимым образом.

  1. Создадим кривую, которая будет отвечать за изменение диаметра на определенном участке:
    1. Назовем ее: «Taper».
    2. Здесь опять нужно обратить внимание на размещение точек кривой относительно центра origin. Здесь расстояние от origin до точек кривой указывает на величину диаметра моделируемого объекта.

  1. Добавим в сцену еще одну кривую, которая будет состоять всего из двух точек, соединенных прямым отрезком. Из этой кривой мы и создадим итоговый объект.
    1. Установим диаметр кривой знакомым способом:
      1. Bevel — Depth = 0.01
    2. Добавим к кривой модификатор Subdivision Surface для сглаживания.
    3. В той же панели Geometry
      1. В поле Taper Object указать кривую «Taper»

Таким образом мы получили участок трубы с переменным диаметром. Осталось применить к нему направляющую.

  1. Во вкладке модификаторов Modifiers
    1. Добавить для кривой модификатор Array и настроить параметры:
      1. Fit Type = Fit Curve
      2. Curve — указать направляющую кривую
    2. Добавить для кривой модификатор Curve:
      1. в поле Object — указать направляющую кривую

  1. Назначим получившейся трубе материал.

Заполнение направляющей или постоянное количество ребер?

Для построения труб с переменным диаметром характерны два случая:

  1. Как в рассмотренном выше примере — вся длина направляющей заполняется фиксированными сегментами. Количество сегментов заранее не известно, но рассмотренный способ всегда обеспечит полное заполнение направляющей по всей ее длине. Если длину трубы нужно увеличить, достаточно просто увеличить длину направляющей, дополнительные сегменты будут добавлены автоматически.

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

  1. Во втором же случае, характерным примером которого является гофрированная труба, количество сегментов на длину трубы должно оставаться постоянным. В этом случае при растягивании трубы сегменты тоже должны растягиваться.
    1. Создадим, как в примере выше 3 кривые:
      1. направляющую, назовем ее «Path2»
      2. основание для сегмента трубы «Segment2»
      3. и кривую изменения диаметра «Taper2»
    2. Для сегмента «Segment2» выполним операции для создания трубы по направляющей, как в предыдущем примере:
      1. Установим диаметр через Bevel — Depth = 0.2
      2. Установим изменение диаметра, указав в поле Taper Object кривую «Taper2»
      3. Для того, чтобы ребра полученной трубы напоминали классический «гофр», сожмем сегмент вдоль его оси до получения хорошего результата.
      4. Добавим модификатор Subdivision Surface.
      5. Добавим модификатор Array с параметрами:
        1. Fit Type = Fixed Count
        2. Count = 30
      6. и модификатор Curve, указав в поле Object направляющую «Path2».
    3. Выделим направляющую «Path2»:
      1. В окне Properties во вкладке Object Data в панели Shape установить два чекбокса:
        1. Stretch
        2. Bounds Clamp

Теперь, если перемещать или экструдировать точки направляющей, новые сегменты не добавляются, а имеющиеся растягиваются в соответствии с изменением длины направляющей:

Осталось расположить направляющую нужным образом и назначить трубе материал.

  • Nikolay sungreen (sungreen)

    Красиво о простом. Но поясни за счет чего происходит «Расчет сцены для рендера с кривыми так же производится быстрее, чем с мешами».

    • Кривые всегда считаются быстрее. Скорее всего из-за того, что под расчет идут только точки самой кривой, а объем идет как нечто вроде инстанса. А у меша обсчитывается полный массив точек.