Кривые и Поверхности

перевод: Sailor

Кривые и поверхности - объекты подобные мешам, но отличаются тем, что они выражены математическими функциями.

Blender предоставляет кривые и поверхности типа Бизье и Non Uniform Rational B-Splines - NURBS (НеРавномерный Рациональный Би-Сплайн). Оба типа, следуют различным математическим законам, используют в названиях настроек "управления вершинами", определение "управление полигонами". Кривая и поверхность интерполируются (Бизье) или притягивается (NURBS) на первый взгляд, может показаться что это похоже на подразделение поверхностей алгоритмом Catmull-Clark'а.

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

Некоторые приемы моделирования возможны только с использованием кривых, например, выдавливание профиля вдоль пути, но управление каждой вершиной, как для меша - невозможно.

Короче говоря, есть ситуации где кривые и поверхности более удобны чем меши, а есть и где без мешей не обойтись. Только опыт и чтение документации даст вам овет, на вопрос - что вывыгодней использовать.

Кривые

В этом разделе будут описаны оба типа кривой Бизье и NURBS, а также будет предоставлен рабочий пример.

Бизье

Кривая Бизье, в большинстве случаев используется для создания надписей и логотипов. Важно понимать, что они широко используются в анимации, как путь для движущегося объекта и как кривая IPO, для изменения свойств объекта с течением времени.

Контрольная точка (вершина) кривой Бизье состоит из точки и двух управляющих рычагов. Точка по средине используется для перемещения контрольной точки целиком; выбор этой точки, также выберит и два рачага управления и позволит вам перемещать вершину целиком. Выбор и перемещение одного или двух рычагов упрвления, позволит вам менять форму кривой.

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

Есть четыре типа управляющих рычагов (Рис 1):

  • Свободный рычаг Free (черный). Это тип может использоваться всегда и где вам угодно. "Горячая клавиша": H (переключает между Free и Aligned);

  • Выровненный Aligned (розовый). Эти рычаги всегда лежат на прямой линии. "Горячая клавиша": H (переключает между Free и Aligned);

  • Вектор Vector (зеленый). Обе части рычагов всегда указывают на предыдущий или следующий рычаг. "Горячая клавиша": V;

  • Автоматический Auto (желтый). Эти рычаги имеют полностью автоматическую длину и направление. "Горячая клавиша": SHIFT-H.

Рис 1. Типы рычагов управления для кривых Бизье

Рычаги можно вращать, выбрав одну из конечных вершин рычага. Для этого кликните по вершине рычага ПКМ, удерживайте кнопку и двигайте мышь.

После вращения рычагов, их тип изменяется автоматически:

  • Тип рычага Auto становится Aligned;

  • Тип рычага Vector становится Free.

Хотя кривая Бизье - непрерывный математический объект, однако она должна быть представлена отдельной формой с точки зрения рендеринга.

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

Разрешение можно установить для каждой кривой Бизье отдельно (число точек, сгенерированных между двумя точкам в кривой)- Рис 2).

Рис 2. Установка разрешения кривой Бизье.

NURBS

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

Рис 3. Кнопки управления NURBS

  • Knots (узлы). Кривые Nurbs имеют узловой вектор, ряд чисел, который определяет параметры кривой. Два параметра очень важны. "Uniform" производит однородное деление для замкнутых кривых, но для открытых, вы получите "свободные" концы, которые будет трудно точно расположить. "Endpoint" устанавливает узлы таким же способом, что первые и последние вершины, которые всегда являются частью кривой, следовательно они намного проще для размещения;

  • Order (порядок). Порядок это 'глубина' вычисления кривой. Order '1' это точка, order '2' - линейный, order '3' - квадратичный и т.д. Для кривой используемой как путь, всегда ставьте order '5'; это избавит вас от раздражающих рывков при движении объекта. Говоря математическим языком, это порядок Числителя и Знаменателя рационального многочлена, определяющего NURBS;

  • Weight (нагрузка, вес). Кривые Nurbs имеют 'нагрузку' на каждую вершину - это сила, с которой вершина "притягивает" к себе кривую.

Рис 4. Настройка управления полигонами и "нагрузкой" для Nurbs.

Рис 4 показывает параметры настройки узла вектора, а также эффект изменения 'нагрузки'(weight) для отдельного узла. Также как и для Бизье, для этой кривой можно установить разрешение.

Рабочий пример

Инструменты работы с кривыми в Blender'е, дает возможность быстро и качественно создавать объемный текст или логотипы. Мы воспользуемся этими инструментами, чтобы создать из эскиза логотипа полноценный 3D-объект.

Рис 5 показывает эскиз логотипа, который мы будем создавать.

Рис 5. Эскиз логотипа.

Сначалы мы импортируем наш эскиз, для того чтобы его можно было использовать как шаблон. Blender поддерживает TGA, PNG и JPG форматы картинок. Чтобы загрузить картинку, вы берите из меню View>Background Image..., в заголовке 3D-окна. Появится окошко настройки картинки для фона, нажмите сначала кнопку Use background Image, а затем кнопку с изображением открытой папки и из окна файлов выберите нужный файл с картинкой. (Рис 6).

Рис 6. Окно для загрузки фоновой картинки (в новой версии немного отличается).

Закройте это окошко, нажав на крестик в верхнем левом углу и у вас получится сцена с загруженной картинкой фона (Рис 7). Вы можете скрыть картинку фона (шаблон), выбрав снова из меню View>Background Image... и нажав на кнопку Use background Image.

Рис 7. Эскиз логотипа загружен как фоновая картинка.

Добавьте новую кривую, нажатием Пробел >>CURVE>>BEZIER CURVE. Появится сенмент кривой, в режиме редактирования. Мы будем перемещать и добавлять точки кривой чтобы обвести шаблон логотипа.

Вы можете добавлять точки (вершины) следующим образом: выберите сначала одну из крайних точек, удерживайте клавишу CONTROL и кликайте ЛКМ в нужном месте. Оратите внимание, что новая точка сразу соединяется с выбранной. После того как вы добавили новую точку, вы можете перемещать ее, выбрая управляющие вершины и нажимая клавишу G. Вы можете изменять изгиб кривой, выбирая и перемещая одну из вершин управляющего рычага (Рис 8).

Рис 8. Управляющие рычаги Бизье

Можно добавить новую точку между двумя существующими точками, просто выберите две точки и нажмите W и из меню выберите SUBDIVIDE (Рис 9).

Рис 9. Добавление контрольной точки.

Удалить точку можно ыбрав ее, и нажав X>>SELECTED. Разделить кривую на две, можно выбрав две контрольные вершины (точки) и нажать X>>SEGMENT.

Чтобы сделать угол кривой острым, выберите контрольную точку и нажмите CTRL-V. Вы заметите как цвет управляющих рычагов изменится с сиреневого на зеленый (Рис 10). В этой точке, вы можете корректировать рычаги, для изменения пути, по которому кривая входит и оставляет контрольную вершину(точку) (Рис 11).

Рис 10. Управляющие рычаги-векторы (зеленые) .

Рис 11. Свободные управляющие рычаги (черные).

Чтобы замкнуть кривую в еденую линию, выберите две крайние контрольные вершины и нажмите C. Это действие объединит две выбранные контрольные вершины сегментом (Рис 12). Вам понадобится проделать много разных манипуляций с управляющими рычагами, чтобы добиться нужной формы.

Рис 12.

Выйдите из режима редактирования клавишей TAB и включите режим отображения граней Z и отрендерьте сцену, вы увидите, что кривая имеет цельную форму фигуры (Рис 13). Нам нужно сделать несколько вырезов на форме, чтобы вставить глаза и крылья для дракона. Приработе с кривыми, Blender автоматически определяет оверстия на поверхности и обрабатывает их соответственно. Вернитесь в каркасный режим Z и войдите снова в режим редактирования TAB.

Рис 13. Логотип с тенями.

В режиме редактирования добавьте кольцо Пробел>>CURVE>>BEZIER CIRCLE (Рис 14). Масштабируйте кольцо до нужного размера клавишей S и перемещайте G.

Рис 14. Добавление кольца.

Придайте кольцу нужную форму используя приемы описанные выше (Рис 15). Напоминаю, что вы можете добавлять вершины с помощью W>>SUBDIVIDE.

Рис 15. Создание глаза.

Создайте вырез в крыле, добавив кольцо Бизье, конвертируйте все точки в острые углы и затем подстройте как нужно. Вы можете сделать копию этого выреза, скопировав первый и сделать, таким образом, второй вырез крыла . Для этого, убедитесь что ни одна точка не выбрана, потом поместите курсор мыши над одной из вершин первого выреза крыла и выберите все связанные вершины (точки) с помощью клавиши L (Рис 16). Сделайте копию с помощью SHIFT-D и переместите ее в нужное место.

Рис 16. Создание крыльев.

Если вы хотите добавить больше деталей, не связанных с основной фигурой логотипа (например, сфера в изогнутом хвосте дракона), вы можете сделать это, используя основное меню Пробел или SHIFT-A и добавляя большее количество кривых как на Рис 17

Рис 17. Сфера внутри хвоста.

Теперь у нас есть кривая необходимой формы, нам нужно подстроить опции ее толщины и скоса. Выберите кривую, перейдите к кнопкам редактирования (F9). Параметр "Ext1" определяет толщину, а "Ext2" устанавливает размер скоса (фаски). BevResol определяет разрешение скоса (острый или более плавный).

Рис 18 показывает настройки примененные для этой кривой.

Рис 18. Настройки

Tip Кривые в Мешь-объект
 

Если вы хотите проделать еще более сложные операции моделирования, то преобразуйте кривую в меш, с помощью ALT-C>>MESH. Обратите внимание, что эта операция необратима: вы не сможете конвертировать меш снова в кривую.

После того как логотип полностью готов, добавьте материалы, освещение и отрендерьте его (Рис 19).

Рис 19. Результат.