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

Создайте исходный морф размерами 1000×1000×1000 и добавьте в выборку одну из его граней (при нажатой комбинации клавиш SHIFT+CTRL). Чтобы создать выступ в центре грани, воспользуемся отрезком направляющей линии. Выберите команду Создать отрезок направляющей линии, расположенную в Табло команд, и постройте диагональ выбранной грани. Теперь мы сможем осуществить точную привязку деформации грани морфа.

Щелкните левой клавишей мыши в середине направляющей линии и выберите в появившейся Локальной панели команду создания выпуклости. Для определения радиуса выпуклости можно воспользоваться Панелью слежения, активирующейся при нажатии клавиши TAB, или же воспользоваться графической привязкой. Щелкните левой клавишей мыши на одном из углов грани, чтобы установить диаметр выпуклости, равный диагонали. Затем переместите курсор мыши от морфа и, нажав клавишу TAB, введите в Панель слежения значение 500, чтобы указать величину выпуклости. Функция создания выпуклостей позволяет создавать не только положительные выпуклости, но и отрицательные, вдавливая таким образом грань внутрь морфа.

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

При помощи команды Конструирование → Изменить морф → Скрытая геометрия морфа можно отобразить скрытые ребра, образующие любую поверхность морфа. Сейчас эта поверхность выглядит несколько угловатой. Давайте слегка сгладим ее. Воспользуйтесь командой Конструирование → Изменить морф → Изменить сегментацию. В открывшемся диалоговом окне отметьте маркер опции Увеличить количество сегментов. Дополнительная опция удвоения количества сегментов, как следует из названия, удвоит количество всех сегментов, в случае же деактивации этой опции будет увеличена сегментация только наиболее крупных участков. Команда изменения сегментации применима как для повышения, так и для уменьшения количества сегментов. При этом процедура изменения сегментации может быть применена многократно, что позволяет добиваться все более и более сглаженных поверхностей. Однако не следует забывать, что увеличение сегментации существенно сказывается на производительности компьютера.

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

Создайте еще один морф кубической формы размерами 1000×1000×1000 и переместите две противоположные вершины его верхней грани выше на 400. Затем удалите образовавшееся на верхней грани ребро и, добавив в выборку ставший нетвердотельным морф, воспользуйтесь уже знакомой нам командой Конструирование → Изменить морф → Покрыть гранями. В открывшемся диалоговом окне выберите вариант создания сглаженной поверхности. Для лучшего отображения формируемой поверхности следует включить показ скрытой геометрии морфа.

Метод покрытия гранями позволяет создавать 3D-поверхности практически любого вида. Рассмотрим еще один пример использования этой команды, но теперь будем не восстанавливать ранее удаленные грани, а попробуем сформировать абсолютно новую форму.

Создайте морф-параллелепипед размерами 1000×500×1000 и удалите все его грани, оставив только каркас. Выберите многоугольный геометрический вариант построения и укажите первую точку морфа, находящуюся в нижнем углу параллелепипеда. Затем выберите в Локальной панели вариант построения Дуга с заданной касательной и щелкните левой клавишей мыши на оси Х.

Для указания следующей точки щелкните левой клавишей мыши на середине ближнего к вам вертикального ребра каркаса и в качестве касательной снова укажите ось X. Завершите построение двойным щелчком левой клавишей мыши на верхней точке наиболее удаленного от вас ребра.

Переместите копию созданного изогнутого морфа при помощи сочетания клавиш CTRL+SHIFT+D. Чтобы очистить рабочее пространство, можно удалить уже не требующийся каркасный морф. Выберите один из созданных морфов и щелкните левой клавишей мыши на одной из его конечных точек. В появившейся Локальной панели выберите команду добавления ребра и соедините морфы прямым отрезком. Повторите данную операцию со второй конечной точкой морфа.

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

Таким образом, функция создания граней позволяет получать практически любые свободные формы и объемы.

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

Рассмотрим все типы отображения ребер на примере. Создайте исходный кубический морф размерами 1000×1000×1000 и тиражируйте два его дубликата. Добавьте в выборку ребра верхней грани левого куба и щелкните левой клавишей мыши на любом ребре. В появившейся Локальной панели выберите команду Скругление/соединение ребер. В открывшемся диалоговом окне установите радиус скругления — 150 и отметьте маркер Применить ко всем ребрам. Повторите эту операцию для среднего и правого морфов.

Увидеть и изменить тип отображения выбранных ребер морфов можно в Информационном табло. Выберите новые верхние ребра, созданные в результате скругления ребер верхних граней морфов, и измените тип их отображения: для среднего куба — на невидимые, а для правого — на сглаженные. Выберите верхние поверхности морфов и посмотрите, чем они отличаются.

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

Вернемся к созданному нами морфу с выпуклостью и рассмотрим вопрос наложения текстур на грани и поверхности морфов.

Выберите упомянутый морф и откройте диалоговое окно его параметров, воспользовавшись сочетанием клавиш CTRL+T. Разверните вкладку Модель и выберите покрытие Пол → Линолеум в клеточку. Как видите, на выпуклую поверхность текстура наложена не совсем корректно. Для исправления этой ситуации выберите только выпуклую поверхность и снова откройте диалоговое окно параметров морфа. Во вкладке Модель появилось выпадающее меню, позволяющее изменить тип наложения текстуры. Выберите вариант Плоскостная и посмотрите, как изменилось отображение текстуры на поверхности.

Отметим, что морфы позволяют определять для каждой выбранной грани или поверхности собственную текстуру и вариант ее наложения (плоскостной или кубический).

Кроме того, несколько переработана и функция привязки текстуры в 3D-пространстве.

Выберите верхнюю грань морфа и воспользуйтесь командой Конструирование → Привязка 3D-текстуры → Установить начало.

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

Вариант плоскостного наложения текстуры позволяет не только корректно отображать текстуры, наложенные на поверхности, но и управлять проецированием текстуры на плоскость. Рассмотрим подробнее, как осуществляется проецирование текстур.

Создайте исходный кубический морф размерами 1000×1000×1000.

Теперь создадим элемент, содержащий плоскости, не параллельные плоскостям куба. Самым простым элементом в данном случае будет пирамида. Переместите копию созданного кубического морфа и выберите верхнюю грань скопированного элемента. Щелкните левой клавишей мыши на грани и в появившейся Локальной панели выберите команду Смещения всех ребер. Переместите курсор мыши таким образом, чтобы произошло вырождение грани в точку. Опорная фигура готова. Выберите исходный кубический морф и в диалоговом окне его параметров укажите покрытие, использовавшееся в предыдущем примере.

Затем выберите верхнюю грань морфа и измените тип наложения текстуры на Плоскостной. Не отменяя выбор грани, воспользуйтесь командой Конструирование → Привязка 3D-текстуры → Установить направление. Активируйте команду выбора плоскости редактирования, наведите курсор на любую наклонную грань вспомогательного морфа-пирамиды и щелкните левой клавишей мыши. Щелчок на любой узловой точке ограничительной рамки позволяет выбрать в Локальной панели команды поворота, перемещения или зеркального отображения спроецированной в заданной плоскости текстуры. Щелчок за пределами рамки подтверждает установку направления и проецирования текстуры.

Алексей Белов
ЗАО «Нанософт»
Тел.: (495) 645−8626
E-mail: