Создаем открывалку в 3ds Max
Моделирование на основе сплайнов очень часто используется разработчиками трехмерной графики в самых разнообразных сложных проектах. Поскольку в основе каждой трехмерной поверхности лежит сетчатая оболочка, моделирование при помощи трехмерных кривых позволяет имитировать любую форму объекта. Вместе с этим сплайновые объекты могут выступать в роли вспомогательных инструментов для описания геометрии тела.
Рассмотрим простой пример использования техники сплайнового моделирования для создания несложной модели консервного ножа, или, попросту говоря, открывалки.
Для начала представим себе открывалку (или, еще лучше, принесем ее из кухни и внимательно рассмотрим). Мы можем увидеть, что она состоит из четырех элементов: самого ножа, рукоятки и еще двух, названия для которых нам придумать не удалось:). Каждый из этих элементов мы создадим при помощи сплайнов. Первый элемент представляет собой два несимметричных крюка, направленных друг к другу. Для его создания переключитесь в окно проекции Top (так будет удобнее рисовать) и с помощью инструмента Line попробуйте несколькими щелчками мыши создать кривую такой формы, как на рис. 1.
Для доступа к этому инструменту необходимо перейти в категорию Shapes на вкладку Сreate командной панели. Обратите внимание, что нужно создать замкнутый сплайн. Это значит, что последняя вершина кривой должна совпасть с начальной. Для этого при создании сплайна необходимо сделать последний щелчок мыши по первой вершине, после чего в окне Spline утвердительно ответить на вопрос, замкнуть ли сплайн (Close spline). Результат, который вы при этом получите, будет далек от идеального. Причина такой "неудачи" кроется в том, что требуемая форма кривой имеет различные типы излома в точках изгиба. Так, на предполагаемых остриях крюков излом должен быть линейным, а во всех других точках — плавным. Чтобы исправить ситуацию, необходимо вручную установить тип излома в каждой точке. Для этого выделите объект в окне проекции Top, после чего перейдите на вкладку Modify командной панели. Раскройте строчку Line в стеке модификаторов (Modifier Stack), щелкнув по пиктограмме в виде плюса. Переключитесь в режим редактирования вершин (Vertex). Выделите одну или несколько вершин, в которых вам необходимо изменить характер излома.
Для выделения нескольких вершин нажмите и удерживайте клавишу Ctrl. Для изменения характера излома выделенных вершин щелкните правой кнопкой мыши в окне проекции и в контекстном меню выберите требуемый тип излома — например, Smooth (Сглаженный). Тип излома Corner должен присутствовать только на тех вершинах, которые расположены на торцах консервного ножа — остальные вершины должны иметь характер излома Smooth или Bezier Corner. Для улучшения формы сплайна для некоторых вершин нужно будет не только изменить характер излома, но и переместить их. Теперь необходимо произвести операцию выдавливания (Extrude). После использования одноименного модификатора будет создана трехмерная поверхность с сечением созданного сплайна. Выделите объект в окне проекции, перейдите на вкладку Modify командной панели, раскройте список Modifier List и выберите в нем модификатор Extrude. В настройках модификатора укажите следующие значения параметров: Amount — 4,5, Segments — 3. В группе Output настроек модификатора для выходного объекта выберите тип Mesh. Чтобы объект стал сплошным, в группе настроек Capping установите флажки Cap Start (Замкнутая поверхность в начале) и Cap End (Замкнутая поверхность в конце). После этого объект примет вид, как на рис. 2. Наш нож готов. Приступим к созданию второго элемента открывалки.
Для этого перейдите в окно проекции Left и создайте еще один объект Line такой формы, как показано на рис. 3. В случае необходимости измените характер излома вершин так, как это описано выше. При моделировании объектов посредством трехмерных кривых часто бывает необходимо выровнять какую-нибудь точку сплайна. Делается это аналогично тому, как происходит выравнивание трехмерных объектов. В нашем случае необходимо выровнять крайние вершины кривой таким образом, чтобы они располагались по одной координате Y. Для этого перейдите на вкладку Modify командной панели. Раскройте строчку Line в стеке модификаторов, щелкнув по пиктограмме в виде плюса. Переключитесь в режим редактирования вершин (Vertex). Для выполнения операции выравнивания выделите крайнюю вершину, выполните команду Tools > Align или воспользуйтесь сочетанием клавиш Alt+A. При этом курсор изменит форму. Теперь щелкните в любом месте кривой и в окне Align Selection укажите, по какому принципу будет происходить операция выравнивания. Обратите внимание, что группа настроек Current Object будет неактивна. Это объясняется тем, что вершина, которая в данном случае является объектом, который выравнивается, является условным объектом, не имеющим геометрических размеров. Поэтому указать его параметры нельзя. Теперь в окне Align Selection установите флажок напротив опции Y Position, установите переключатель Target Object в положение Minimum и нажмите кнопку ОК. На следующем этапе необходимо создать зеркальную копию созданного сплайна и совместить трехмерную кривую с ее отображенной копией. Для этого перейдите на вкладку Modify командной панели. Раскройте строчку Line в стеке модификаторов, щелкнув по пиктограмме в виде плюса. Переключитесь в режим редактирования Spline. В свитке настроек Geometry установите флажки Copy и Automatic Welding (Автоматическое соединение). Выберите вариант Mirror Vertically и нажмите кнопку Mirror. Вы получите зеркальную копию сплайна, которую нужно переместить таким образом, чтобы вершины двух объектов совпали. Если установить флажок Automatic Welding, то вершины автоматически объединятся. После выполнения этих действий получилась замкнутая кривая. Выйдите из режима редактирования Spline и выделите объект целиком. Выполните команду Edit > Clone. В появившемся окне Clone Options выберите вариант клонирования Copy. При этом клонированный объект будет обладать теми же параметрами, что и исходный. Щелкните правой кнопкой мыши в окне проекции, выберите в контекстном меню команду Scale и масштабируйте клонированный объект в плоскости XY в большую сторону.
Выровняйте полученный объект относительно исходного. Для этого в окне Align Selection установите флажок напротив опции Y Position, а переключатели Current Object и Target Object — в положение Center. Затем снимите флажок напротив опции Y Position и установите его напротив опций X Position и Y Position, после чего установите переключатель Current Object в положение Pivot Point, а переключатель Target Object — в положение Center. Выделите клонированный объект, перейдите на вкладку Modify командной панели. В настройках выделенного объекта перейдите в свиток Geometry и воспользуйтесь кнопкой Attach, чтобы присоединить к нему исходный сплайн. При подведении курсора к сплайну указатель изменит свою форму. Теперь снова необходимо произвести операцию выдавливания (Extrude). В настройках модификатора укажите следующие значения параметров: Amount — 26, Segments — 3. В группе настроек Output настроек модификатора для выходного объекта выберите тип Mesh. Чтобы объект стал сплошным, в группе настроек Capping установите флажки Cap Start и Cap End. После этого объект примет вид, как на рис. 4.
Третий элемент открывалки самый простой. Он соединяет ручку и металлическую основу, которую мы уже создали. Для создания этого элемента переключитесь в окно проекции Top и с помощью инструмента Line создайте кривую таким образом, чтобы она начиналась с середины второго элемента консервного ножа и слегка выступала за его край с другой стороны. В случае необходимости измените характер излома вершин так, как это описано выше. Выделите созданный сплайн и перейдите на вкладку Modify командной панели. Раскройте список Modifier List и выберите в нем модификатор Lathe. Он позволяет получить поверхность вращения с заданным сплайновым профилем. В свитке Parameters настроек модификатора Lathe при помощи кнопки Y в области Direction выберите ось, вокруг которой будет происходить вращение сплайна. После этого в окне проекции сплайн превратится в фигуру вращения вокруг выбранной оси. Полученная модель не совсем похожа на объект, который нам необходимо создать. Усовершенствуем его. Определим положение для оси вращения. Для этого в области Align настроек модификатора нажмите кнопку Min. Выбранная ранее ось вращения будет автоматически выровнена по краю модели.
Осталось выбрать тип редактируемой поверхности, с которой в дальнейшем предстоит работать. При помощи переключателя Output в настройках модификатора можно выбрать один из трех типов поверхности: Patch (Редактируемая полигональная поверхность), Mesh (Редактируемая поверхность) и NURBS (NURBS-поверхность). Поскольку при создании предыдущих элементов модели мы использовали тип Mesh, выберите его и для этого элемента. В зависимости от того, в каком направлении вы строили сплайн, может получиться, что созданная вами поверхность вращения примет "вывернутую" форму. В этом случае в настройках модификатора установите флажок Flip Normals (Обратить нормали). Полученный объект будет выглядеть как на рис. 5. Перейдем к созданию последнего элемента модели — ручки. Поскольку этот элемент имеет осевую симметрию, создавать мы его будем как трехмерный объект, образованный вращением сплайнового профиля вокруг оси. Для этого используется модификатор Lathe. Для создания ручки консервного ножа переключитесь в окно проекции Top и с помощью инструмента Line создайте кривую как на рис. 6.
В случае необходимости измените характер излома вершин так, как это описано выше. Выделите созданный сплайн и перейдите на вкладку Modify командной панели. Раскройте список Modifier List и выберите в нем модификатор Lathe. Теперь установим некоторые параметры модификатора. В свитке Parameters настроек модификатора Lathe при помощи кнопки Y в области Direction выберите ось, вокруг которой будет происходить вращение сплайна. После этого в окне проекции сплайн превратится в фигуру вращения вокруг выбранной оси. Теперь определим положение для оси вращения. Для этого в области Align настроек модификатора нажмите кнопку Min. Выбранная ранее ось вращения будет автоматически выровнена по краю модели. Осталось выбрать тип редактируемой поверхности. При помощи переключателя Output в настройках модификатора выберите тип Mesh. Последний элемент готов. В зависимости от того, в каком направлении вы строили сплайн, может получиться, что созданная вами поверхность вращения примет "вывернутую" форму. В этом случае в настройках модификатора установите флажок Flip Normals.
Если теперь посмотреть на модель в окне проекции, можно заметить, что координаты опорной точки не совпадают с координатами центра объекта. Это очень распространенная проблема, возникающая в процессе моделирования объектов. Из-за нее у вас могут возникнуть проблемы с выравниванием объектов, а ведь нам необходимо это сделать, чтобы совместить созданные элементы в одну модель открывалки. Для того чтобы управлять положением центра локальной системы координат, необходимо выделить объект, перейти на вкладку Hierarchy командной панели, нажать кнопку Pivot, в свитке настроек Adjust Pivot нажать кнопку Affect Pivot Only.
При этом оси координат изменят свой вид. Теперь нужно задать параметры выравнивания в группе настроек Alignment. Готовая ручка будет выглядеть, как на рис. 7. Часто при создании трехмерных моделей едва ли не главную роль играют небольшие детали, которые делают объект более реалистичным. Для консервного ножа такими деталями являются заклепки, расположенные на его металлической части. Попробуйте создать их самостоятельно при помощи стандартного примитива Sphere. Полученный консервный нож — почти как настоящий (рис. 8).
Сергей и Марина Бондаренко
Рассмотрим простой пример использования техники сплайнового моделирования для создания несложной модели консервного ножа, или, попросту говоря, открывалки.
Для начала представим себе открывалку (или, еще лучше, принесем ее из кухни и внимательно рассмотрим). Мы можем увидеть, что она состоит из четырех элементов: самого ножа, рукоятки и еще двух, названия для которых нам придумать не удалось:). Каждый из этих элементов мы создадим при помощи сплайнов. Первый элемент представляет собой два несимметричных крюка, направленных друг к другу. Для его создания переключитесь в окно проекции Top (так будет удобнее рисовать) и с помощью инструмента Line попробуйте несколькими щелчками мыши создать кривую такой формы, как на рис. 1.
Для доступа к этому инструменту необходимо перейти в категорию Shapes на вкладку Сreate командной панели. Обратите внимание, что нужно создать замкнутый сплайн. Это значит, что последняя вершина кривой должна совпасть с начальной. Для этого при создании сплайна необходимо сделать последний щелчок мыши по первой вершине, после чего в окне Spline утвердительно ответить на вопрос, замкнуть ли сплайн (Close spline). Результат, который вы при этом получите, будет далек от идеального. Причина такой "неудачи" кроется в том, что требуемая форма кривой имеет различные типы излома в точках изгиба. Так, на предполагаемых остриях крюков излом должен быть линейным, а во всех других точках — плавным. Чтобы исправить ситуацию, необходимо вручную установить тип излома в каждой точке. Для этого выделите объект в окне проекции Top, после чего перейдите на вкладку Modify командной панели. Раскройте строчку Line в стеке модификаторов (Modifier Stack), щелкнув по пиктограмме в виде плюса. Переключитесь в режим редактирования вершин (Vertex). Выделите одну или несколько вершин, в которых вам необходимо изменить характер излома.
Для выделения нескольких вершин нажмите и удерживайте клавишу Ctrl. Для изменения характера излома выделенных вершин щелкните правой кнопкой мыши в окне проекции и в контекстном меню выберите требуемый тип излома — например, Smooth (Сглаженный). Тип излома Corner должен присутствовать только на тех вершинах, которые расположены на торцах консервного ножа — остальные вершины должны иметь характер излома Smooth или Bezier Corner. Для улучшения формы сплайна для некоторых вершин нужно будет не только изменить характер излома, но и переместить их. Теперь необходимо произвести операцию выдавливания (Extrude). После использования одноименного модификатора будет создана трехмерная поверхность с сечением созданного сплайна. Выделите объект в окне проекции, перейдите на вкладку Modify командной панели, раскройте список Modifier List и выберите в нем модификатор Extrude. В настройках модификатора укажите следующие значения параметров: Amount — 4,5, Segments — 3. В группе Output настроек модификатора для выходного объекта выберите тип Mesh. Чтобы объект стал сплошным, в группе настроек Capping установите флажки Cap Start (Замкнутая поверхность в начале) и Cap End (Замкнутая поверхность в конце). После этого объект примет вид, как на рис. 2. Наш нож готов. Приступим к созданию второго элемента открывалки.
Для этого перейдите в окно проекции Left и создайте еще один объект Line такой формы, как показано на рис. 3. В случае необходимости измените характер излома вершин так, как это описано выше. При моделировании объектов посредством трехмерных кривых часто бывает необходимо выровнять какую-нибудь точку сплайна. Делается это аналогично тому, как происходит выравнивание трехмерных объектов. В нашем случае необходимо выровнять крайние вершины кривой таким образом, чтобы они располагались по одной координате Y. Для этого перейдите на вкладку Modify командной панели. Раскройте строчку Line в стеке модификаторов, щелкнув по пиктограмме в виде плюса. Переключитесь в режим редактирования вершин (Vertex). Для выполнения операции выравнивания выделите крайнюю вершину, выполните команду Tools > Align или воспользуйтесь сочетанием клавиш Alt+A. При этом курсор изменит форму. Теперь щелкните в любом месте кривой и в окне Align Selection укажите, по какому принципу будет происходить операция выравнивания. Обратите внимание, что группа настроек Current Object будет неактивна. Это объясняется тем, что вершина, которая в данном случае является объектом, который выравнивается, является условным объектом, не имеющим геометрических размеров. Поэтому указать его параметры нельзя. Теперь в окне Align Selection установите флажок напротив опции Y Position, установите переключатель Target Object в положение Minimum и нажмите кнопку ОК. На следующем этапе необходимо создать зеркальную копию созданного сплайна и совместить трехмерную кривую с ее отображенной копией. Для этого перейдите на вкладку Modify командной панели. Раскройте строчку Line в стеке модификаторов, щелкнув по пиктограмме в виде плюса. Переключитесь в режим редактирования Spline. В свитке настроек Geometry установите флажки Copy и Automatic Welding (Автоматическое соединение). Выберите вариант Mirror Vertically и нажмите кнопку Mirror. Вы получите зеркальную копию сплайна, которую нужно переместить таким образом, чтобы вершины двух объектов совпали. Если установить флажок Automatic Welding, то вершины автоматически объединятся. После выполнения этих действий получилась замкнутая кривая. Выйдите из режима редактирования Spline и выделите объект целиком. Выполните команду Edit > Clone. В появившемся окне Clone Options выберите вариант клонирования Copy. При этом клонированный объект будет обладать теми же параметрами, что и исходный. Щелкните правой кнопкой мыши в окне проекции, выберите в контекстном меню команду Scale и масштабируйте клонированный объект в плоскости XY в большую сторону.
Выровняйте полученный объект относительно исходного. Для этого в окне Align Selection установите флажок напротив опции Y Position, а переключатели Current Object и Target Object — в положение Center. Затем снимите флажок напротив опции Y Position и установите его напротив опций X Position и Y Position, после чего установите переключатель Current Object в положение Pivot Point, а переключатель Target Object — в положение Center. Выделите клонированный объект, перейдите на вкладку Modify командной панели. В настройках выделенного объекта перейдите в свиток Geometry и воспользуйтесь кнопкой Attach, чтобы присоединить к нему исходный сплайн. При подведении курсора к сплайну указатель изменит свою форму. Теперь снова необходимо произвести операцию выдавливания (Extrude). В настройках модификатора укажите следующие значения параметров: Amount — 26, Segments — 3. В группе настроек Output настроек модификатора для выходного объекта выберите тип Mesh. Чтобы объект стал сплошным, в группе настроек Capping установите флажки Cap Start и Cap End. После этого объект примет вид, как на рис. 4.
Третий элемент открывалки самый простой. Он соединяет ручку и металлическую основу, которую мы уже создали. Для создания этого элемента переключитесь в окно проекции Top и с помощью инструмента Line создайте кривую таким образом, чтобы она начиналась с середины второго элемента консервного ножа и слегка выступала за его край с другой стороны. В случае необходимости измените характер излома вершин так, как это описано выше. Выделите созданный сплайн и перейдите на вкладку Modify командной панели. Раскройте список Modifier List и выберите в нем модификатор Lathe. Он позволяет получить поверхность вращения с заданным сплайновым профилем. В свитке Parameters настроек модификатора Lathe при помощи кнопки Y в области Direction выберите ось, вокруг которой будет происходить вращение сплайна. После этого в окне проекции сплайн превратится в фигуру вращения вокруг выбранной оси. Полученная модель не совсем похожа на объект, который нам необходимо создать. Усовершенствуем его. Определим положение для оси вращения. Для этого в области Align настроек модификатора нажмите кнопку Min. Выбранная ранее ось вращения будет автоматически выровнена по краю модели.
Осталось выбрать тип редактируемой поверхности, с которой в дальнейшем предстоит работать. При помощи переключателя Output в настройках модификатора можно выбрать один из трех типов поверхности: Patch (Редактируемая полигональная поверхность), Mesh (Редактируемая поверхность) и NURBS (NURBS-поверхность). Поскольку при создании предыдущих элементов модели мы использовали тип Mesh, выберите его и для этого элемента. В зависимости от того, в каком направлении вы строили сплайн, может получиться, что созданная вами поверхность вращения примет "вывернутую" форму. В этом случае в настройках модификатора установите флажок Flip Normals (Обратить нормали). Полученный объект будет выглядеть как на рис. 5. Перейдем к созданию последнего элемента модели — ручки. Поскольку этот элемент имеет осевую симметрию, создавать мы его будем как трехмерный объект, образованный вращением сплайнового профиля вокруг оси. Для этого используется модификатор Lathe. Для создания ручки консервного ножа переключитесь в окно проекции Top и с помощью инструмента Line создайте кривую как на рис. 6.
В случае необходимости измените характер излома вершин так, как это описано выше. Выделите созданный сплайн и перейдите на вкладку Modify командной панели. Раскройте список Modifier List и выберите в нем модификатор Lathe. Теперь установим некоторые параметры модификатора. В свитке Parameters настроек модификатора Lathe при помощи кнопки Y в области Direction выберите ось, вокруг которой будет происходить вращение сплайна. После этого в окне проекции сплайн превратится в фигуру вращения вокруг выбранной оси. Теперь определим положение для оси вращения. Для этого в области Align настроек модификатора нажмите кнопку Min. Выбранная ранее ось вращения будет автоматически выровнена по краю модели. Осталось выбрать тип редактируемой поверхности. При помощи переключателя Output в настройках модификатора выберите тип Mesh. Последний элемент готов. В зависимости от того, в каком направлении вы строили сплайн, может получиться, что созданная вами поверхность вращения примет "вывернутую" форму. В этом случае в настройках модификатора установите флажок Flip Normals.
Если теперь посмотреть на модель в окне проекции, можно заметить, что координаты опорной точки не совпадают с координатами центра объекта. Это очень распространенная проблема, возникающая в процессе моделирования объектов. Из-за нее у вас могут возникнуть проблемы с выравниванием объектов, а ведь нам необходимо это сделать, чтобы совместить созданные элементы в одну модель открывалки. Для того чтобы управлять положением центра локальной системы координат, необходимо выделить объект, перейти на вкладку Hierarchy командной панели, нажать кнопку Pivot, в свитке настроек Adjust Pivot нажать кнопку Affect Pivot Only.
При этом оси координат изменят свой вид. Теперь нужно задать параметры выравнивания в группе настроек Alignment. Готовая ручка будет выглядеть, как на рис. 7. Часто при создании трехмерных моделей едва ли не главную роль играют небольшие детали, которые делают объект более реалистичным. Для консервного ножа такими деталями являются заклепки, расположенные на его металлической части. Попробуйте создать их самостоятельно при помощи стандартного примитива Sphere. Полученный консервный нож — почти как настоящий (рис. 8).
Сергей и Марина Бондаренко
Компьютерная газета. Статья была опубликована в номере 06 за 2006 год в рубрике софт