NURBS являются трехмерными. Это важно уяснить для понимания работы с ними. В режиме редактирования поверхности предлагают структуру, внешне напоми- нающую вспомогательный объект Lattice (рис. 3.18). Рис. 3.18. Nurbs Surface в режиме редактирования Кривые, поверхности NURBS 111 Да и принцип работы напоминает Lattice. Вы не можете напрямую изменять объ- ект, но влияете на него с помощью вспомогательной решетки. В отношении NURBS важно знать, что решетка имеет два измерения: U и V. В ре- жиме редактирования ребра U окрашены желтым цветом, а V — розовым. Для изменения формы примитива существуют контрольные точки, но в отличие от Безье тут не имеется рычагов, и они всегда управляются в пространстве 3D (а не 2D, как у кривых). В отличие от сплайнов, изменять количество элементов структуры решетки воз- можно только целиком по одному из направлений. Скажем, в кривой Безье нет ни- каких сложностей с добавлением одной контрольной вершины, но в случае с по- верхностями добавлять придется целую линию U или V. Это справедливо для всех остальных операций, таких как Extrude, Delete, Subdivide. Рассмотрим основные способы редактирования поверхности. Редактирование формы. Как уже было сказано, здесь нет отличий от той же ра- боты с кривыми Безье. Выделяется вершина или группа вершин и выполняется стандартное манипулирование: перемещение, масштабирование, ротация. Добавление ребер. Эту задачу можно выполнить, к примеру, при помощи коман- ды Extrude () и только для крайних сторон решетки. Для центральных ребер выдавливание невозможно. Необходимо выделить все точки нужной стороны и нажать клавишу . С ОВЕТ Blender предлагает эффективный способ выделения всех точек по нужному направле- нию. Для этого достаточно отметить одну ключевую вершину и нажать +. Эта команда переключает выделение ребра, на котором лежит точка, с измерения U на V и обратно. Удаление ребер. Принцип все тот же. Выделяется с помощью + ребро нужного направления и выполняется команда Delete (). В отличие от Extrude можно удалять любые ребра, а не только крайние. NURBS имеют настройки, расположенные в окне Properties (рис. 3.19). Группа Resolution устанавливает разрешение примитива для окна 3D View и рен- дера. Причем это можно сделать для разных измерений. Опции Preview отвечают за окно 3D View, а Render — за обработку. Причем установка значения 0 в полях Preview приведет к обработке примитива с максимальным качеством. Закладка Active Spline отвечает за внешний вид примитива. Все поля являются уникальными для разных направлений: Cyclic (Зацикливание) — замыкание фигуры; Bezier (Безье) — включите эти опции, если хотите, чтобы фигура выглядела, как простая кривая без объема; Endpoint (Конечные точки) — включение этих опций заставит примитив растя- нуться по всей решетке;
112 Глава 3 Рис. 3.19. Настройки NURBS Resolution (Разрешение) — качество примитива по координатам U и V; Smooth (Сглаживание) — стандартное сглаживание для объекта. Равноценно той же опции в Tool Shelf. Особо нужно остановиться на опции Order. С ее помощью можно установить соот- ветствие формы примитива с решеткой редактирования. Лучше всего принцип ее работы можно понять, взглянув на рис. 3.20. Рис. 3.20. Слева Order = 2, а справа Order = 4 Рассмотрим небольшой практический пример работы с NURBS. На рис. 3.10 пока- зывался вариант создания модели тарелки с помощью двух кривых Безье. Так де- лать можно, вот только способ больно капризный и зависит от точности деформа-
Кривые, поверхности NURBS 113 ции вспомогательного сплайна. С помощью NURBS это можно сделать гораздо быстрее. Прежде чем начать работу над моделью, нужно представить ее скелет, точнее, мысленно разбить объект на ключевые сегменты. В качестве основного примитива воспользуемся NURBS Circle (Окружность). Добавьте этот примитив в сцену из меню Add | Surface | NURBS Circle. Задача очень простая — в окне просмотра Front View ( ) нужно сде- лать еще три копии примитива и изменить их масштаб. Принцип следующий: 1. В режиме Object Mode выделить Circle правой кнопкой мыши. 2. Нажать клавиши + для выполнения дублирования и переместить но- вый объект по координате Z. 3. Нажать клавишу для изменения масштаба. В итоге сцена должна выглядеть так, как на рис. 3.21. Рис. 3.21. Заготовки для модели тарелки в видах просмотра: Front, Top и User Вот это и понималось под понятием "пространственное воображение". Как видите, схематически окружности обрисовывают контур будущей модели. Сделайте еще одну копию самой нижней окружности, сдвиньте немного вниз и уменьшите масштаб. Это необходимо для заливки днища тарелки (рис. 3.22). Теперь нужно объединить все примитивы в один объект. Выделите их и нажмите +. Войдите в режим редактирования и выполните заливку объекта с по- мощью клавиши (рис. 3.23). Уже нечто похожее на тарелку, вот только отверстие в днище... На самом деле убрать его очень легко, путем масштабирования самой нижней окружности. Для этого перейдите в режим редактирования и выделите все верши- ны окружности. Уменьшите с помощью клавиши диаметр отверстия до мини-
114 Глава 3 мального. Теперь перейдите в настройки поверхности и включите опцию Endpoint для координаты U в Active Spline. Отверстие должно исчезнуть. Поднимите вы- деленные вершины на один уровень с днищем, чтобы убрать ненужную выпук- лость. Модель получилась весьма обтекаемой с неясными формами. Это выглядит неесте- ственно. Поэтому уменьшите значение в поле Order U на одну единицу. Увеличьте для качественности разрешение в полях Resolution до 6 единиц для обеих коорди- нат U и V. Модель тарелки готова (рис. 3.24). Рис. 3.22. Добавление примитива для днища Рис. 3.23. Пробный образец модели Как видите, с помощью NURBS можно быстро и достаточно легко моделировать подобные объекты. А теперь прикиньте объем работы, необходимый для создания тарелки с помощью того же Mesh. Перевес явно не в его сторону.
Кривые, поверхности NURBS 115 Рис. 3.24. Готовая модель тарелки 3.6. Работа с текстомВы уже познакомились с большим количеством инструментов и примитивов, кото- рые позволяют создавать модели любой сложности. Наверное, уже не составит особого труда смоделировать пару букв приемлемого вида, но что делать, если нужно создать слово или целые фразы? Не трудно представить объем работы, тре- буемый для этой задачи. К счастью, Blender предоставляет специальный объект, который с легкостью позволяет работать с текстом. Собственно, он так и называет- ся — Text. В понимании Blender примитив Text является типичным объектом, который под- чиняется основным правилам манипуляции. Его можно масштабировать, переме- щать или вращать, как, к примеру, тот же Mesh. Но главная ценность Text в том, что он позволяет вводить, редактировать обычный текст прямо в окне 3D View. Причем имеющихся настроек вполне хватает на небольшой текстовый редактор. Имеется возможность устанавливать выравнивание на странице, выбирать шрифт и его начертание, управлять межстрочным и буквенным интервалом. В то же время Text — типично трехмерный объект, к которому можно применять различные мо- дификаторы или создавать анимацию. Создание Text доступно из меню Add | Text. При этом на месте 3D Cursor появит- ся объект с недвусмысленным словом "Text". Попробуйте покрутить, подвигать примитив и убедитесь, что в управлении он ничем не отличается от Mesh. А вот при переходе в режим Edit Mode (клавиша ) появится характерный тексто- вый курсор, приглашающий к работе (рис. 3.25).
116 Глава 3 Все остальное напоминает использование типичного редактора. Просто набираете на клавиатуре любую фразу, а программа послушно переводит ее в трехмерный объект. Сделали опечатку? Не проблема, подогнали курсор к нужному месту и уда- лили с помощью клавиши . Начало нового абзаца, как и положено, созда- ется клавишей . Настройки объекта Text весьма обширны и рас- полагаются в окне Properties (рис. 3.26). Рис. 3.25. Объект Text в режиме редактирования Рис. 3.26. Настройки объекта Text
Кривые, поверхности NURBS 117 Закладки Shape и Geometry вы уже знаете. Они рассматривались ранее. Первая отвечает за качество фигуры (заливка, разрешение), а вторая — за изменение очер- таний (выдавливание, кромка). Кстати говоря, к объектам Text можно применять вспомогательные кривые для деформации в полях Taper Object и Bevel Object. Принцип работы с ними одинаков, как для кривых, так и для Text. Blender предлагает несколько иной подход в работе со шрифтами, чем текстовые редакторы. Все нужные настройки сосредоточены на закладке Font. Программа умеет использовать разные типы шрифтов, в том числе популярный TrueType. Для выбора нужного существуют списки: Regular, Bold, Italic, Bold & Italic. Таким об- разом, Blender требует для каждого начертания индивидуальный файл шрифта. По умолчанию в программе содержится всего один шрифт — Bfont. Собственно он используется для вывода начального слова "Text". Для присоединения нового шрифта имеются кнопочки с характерным рисунком желтой папки рядом со спи- ском. После нажатия откроется окно файлового браузера, где и выбирается нужный файл. В дальнейшем загруженный шрифт можно будет найти в списке доступных шрифтов проекта. Именно выбором нужного шрифта решается проблема кирилли- цы, ведь по умолчанию Blender "не знает" русские буквы. Размер букв устанавливается в поле Size, а наклон — в поле Shear. С ОВЕТ В различных системах шрифты расположены в разных местах. Для семейства Windows это папка Windows \ Fonts. В UNIX- системах стандартный путь: /usr/lib/X11/fonts Если предполагается работать с проектом на разных компьютерах, то лучше файлы шрифтов скопировать в отдельную папку. В одном блоке одновременно могут находиться буквы с разным начертанием, но одного типа шрифта. Выбор нужного осуществляется путем включения опций в группе Character. Важно запомнить, что начертание нужно выбирать до ввода символов, а вот изменение размера и наклона влияет на весь текст. Кстати, заметь- те, что Blender для подчеркнутого текста позволяет устанавливать произвольное расположение линии и ее толщины. Эти настройки доступны в группе Under- line (Подчеркивание), где Position — смещение подчеркивания по вертикали, а Thickness его толщина. Редактор программы позволяет выполнять выделение текста. Это возможно при помощи клавиши . Приведем краткий список горячих клавиш для выде- ления. +, +. Побуквенное выделение текста влево или вправо соответственно. +, +. Выделение по вертикали. + , + . Выделение строк. ++ или . Выделение по словам. Как видите, все эти сочетания хорошо знакомы и используются в большинстве тек- стовых редакторов.
118 Глава 3 Закономерно предположить, что Blender умеет работать с текстовым буфером. Да, это так, причем используются все те же привычные комбинации клавиш. +. Команда Cut (Вырезать). +. Команда Copy (Копировать). +. Команда Paste (Вставить). Таким образом, проблем с быстрым набором и корректировкой текста не имеется. К сожалению, выделение символов нельзя использовать для изменения типа начер- тания. Теперь поговорим о способах добавления текста. Первый самый простой — это ручной набор непосредственно в окне 3D View. Он годится, если вводить требуется небольшое количество символов. Второй способ — использование встроенного текстового редактора. Blender, среди прочих окон, имеет еще одно с характерным названием Text Editor. Это специализированный текстовый редактор для создания скриптов на языке Python, но его с успехом можно использовать для простого сопроводительного тек- ста к проекту или как промежуточный инструмент для набора текста. Как и все ок- на, Text Editor выбирается при помощи меню Editor Type в начале заголовка лю- бого окна (рис. 3.27). Рис. 3.27. Выбор Text Editor из меню Editor Type Создание нового текста начинается с нажатия кнопки New. Программа выведет за- прос "Create new block?", на который нужно ответить утвердительно. После этого можно вводить текст в окне редактора. Для перевода его в трехмерный объект имеется пункт меню Edit | Text to 3D Object. В нем содержатся дополнительные пункты: One Object (Один объект); One Object Per Line (По объекту на каждую линию). Выбираете желаемое действие, и в сцене появляется новый текстовый объект. Объект Text позволяет устанавливать выравнивание всего текста и установку зна- чений промежутков между его элементами. Эти функции доступны на закладке
Кривые, поверхности NURBS 119 Paragraph (см. рис. 3.26). Кнопки от Left до Flush отвечают за тип выравнивания по отношению к центру объекта: Left — весь текст прижимается к левой условной рамке; Right — текст выравнивается по правой стороне; Center — выравнивание по центру; Justify — растягивание текста между левой и правой стороной, путем регулиро- вания размера пространства между словами. Последняя строка не изменяется; Flush — растягивание текста по горизонтали. В отличие от Justify, регулировка осуществляется изменением размера пространства между буквами. Закладка Paragraph позволяет устанавливать значения промежутков между слова- ми, буквами и строками текста. Для этого имеется специальная группа Spacing: Character — межсимвольный промежуток; Word — расстояние между словами; Line — расстояние между строками. А вот группа Offset управляет смещением всего текста по координатам X и Y. В отличие от первых трех способов выравнивания, Justify и Flush функционируют только при создании так называемых текстовых блоков (или рамок). Представьте объект Text, как рабочий стол системы. Обычные окна могут распола- гаться на нем в произвольном порядке, иметь разный размер, но только в его пре- делах. Такие окна называются в Blender текстовыми блоками. Frames (Рамки) — это удобное средство позиционирования блоков текста в преде- лах одного объекта. С их помощью, например, можно создать многоколоночный текст. Рассмотрим пример разбиения текста по двум колонкам. Создайте новый объект Text и наполните его каким-нибудь содержанием. Установите выравнивание по левому краю. По умолчанию новый объект Text уже имеет созданную область. Настройки фрей- мов доступны на закладке Text Boxes (см. рис. 3.26). Каждая рамка имеет свою группу опций: Dimensions (Размеры) — параметры Width и Height позволяют управлять раз- мером блока по ширине и высоте; Offset (Смещение) — смещение блока относительно центра объекта. Визуально рамки видны только в режиме редактирования в виде пунктирных линий, но в данный момент вы их не обнаружите. Дело в том, что блок вполне мо- жет обходиться без ограничителей, по умолчанию так и есть. Размещением текста в этом случае управляет сам пользователь. Чтобы включить отображение рамок, достаточно изменить параметры Dimensions. Отрегулируйте размер на свой вкус. 120 Глава 3 Теперь добавьте новый блок, нажав кнопку Add Textbox (Добавить текстовый блок). Добавится еще одна область настроек. Используя опции Offset, сместите но- вый блок вправо (рис. 3.28). Рис. 3.28. Двухколоночный текст К объекту Text можно добавлять модификатор Curve и тем самым управлять рас- положением текста в трехмерном пространстве. Рассмотрим способ создания объ- емных букв, изогнутых по окружности. Создайте новый проект. Добавьте в сцену следующие примитивы: Text и Curve Circle. Измените стандартный текст на "Hello World!" и добавьте модификатор Curve. В настройке модификатора в поле Object выберите название окружности (рис. 3.29). Рис. 3.29. Результат использования модификатора Curve
Кривые, поверхности NURBS 121 На рис. 3.29 видно, что текст изогнулся по кривой и лежит в одной плоскости с ней. Это произошло из-за выбора координаты X в настройках модификатора. Попробуй- те сделать следующее: 1. В настройках модификатора в группе Deformation Axes нажмите кнопку –X. 2. Разверните текст по координате X на 180 градусов. Проще всего это сделать на панели свойств объекта в окне 3D View. Нажмите клавишу для ее вызова и установите значение 180 в поле перейти в каталог файлов |