InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Создание модели скрипки методом NURBS моделирования


Robert Polevoi
Перевод и адаптация - Paggard
Digital Light


В настоящее время я заканчиваю работу над своей новой книгой “3D Studio Max 3: In Depth” и оглядываясь на огромное количество текста я начал задумываться, как именно разные люди осваивают работу с трехмерной графикой и моделированием. Существует бесконечное количество методов и техник, которые нужно освоить, необходимо знать возможности программы, изучить интерфейс и так далее. Но с точки зрения художника, вам необходимо развивать инстинкты и нарабатывать методы, чтобы облегчить творческую работу.

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

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

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

Для начала я выделил основные объекты, которые можно смоделировать по отдельности: корпус, гриф, подставку, струнодержатель и проч. Корпус скрипки был самым большим объектом и поэтому я решил с него и начать. Наилучшим способом было вырезать из плоского объекта нужную форму (trimming), а затем, с помощью другой формы вырезать f-прорези. Обе эти задачи были достаточно сложны. Мне пришлось сначала создать половину поверхности, таким образом мне было необходимо вырезать лишь одну f-прорезь в одной поверхности.

Но у этого метода есть свои недостатки, т.к. деки у скрипки слегка выпуклы, и чтобы сымитировать эту выпуклость, и одновременно предотвратить появление видимых швов на месте стыка двух половинок было очень сложно.

Затем была создана нижняя дека с помощью зеркального копирования верхней, кривая, образующая обрез деки была экструдирована для создания боковины. Отдельных усилий потребовало создание небольших выпуклостей на местах стыка боковины и обоих дек. Эти элементы были созданы из смешанных поверхностей (blend surfaces) для обеспечения целостности и затем присоединены к модели. Чтобы выполнить эту задачу мне потребовалось много экспериментировать.

Следующим этапом было создание шейки. С самого начала я понял, что эта часть модели будет одной из самых сложных задач всего проекта. Для создания этого элемента я выбрал инструмент Path Deformation. Я нарисовал сплайн NURBS в форме нужной мне спирали, затем создал модель шейки с характерными изгибами углов и деформацией поверхности. Осталось только применить к полученной модели нужный модификатор. После этого редактируя сплайн спирали я мог контролировать изгиб шейки. (см. Замечания переводчика).

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

Чтобы создать пространство для размещения калков, понадобилось вырезать кусок поверхности шейки, экструдировать полученное отверстие вовнутрь и создать поверхность для дна. Сами калки это объекты, созданные с помощью модификатора Lathe и затем обрезанные по краям.

Изгиб грифа также потребовал серьезных размышлений – мне был нужен плавный изгиб, но при этом необходимо было сохранить острые грани. Для решения этой задачи существует множество путей, но я решил создать объект с помощью модификатора Loft а затем применить Bend для получения изгиба. Затем я обрезал лишнее для получения острых граней. Мне понадобилось «всего» четыре среза, т.к. часть грифа срыта внутри скрипки и не требует детализации. На рисунке изображена поверхность (со всеми CV) и срезы.

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

Подставка – это было еще одно серьезное упражнение в «выпиливании по объекту». Фигурные отверстия были сделаны с помощью проецирования шаблона на поверхность для обрезки. Эта задача была довольно сложна, т.к. я решил в этот раз избежать моделирования по частям. На рисунке показано что у меня получилось. Белая линия внизу подставки указывает на линию пересечения поверхностей подставки и деки, все что находится ниже этой линии будет скрыто внутри скрипки и может быть игнорировано.

Струнодержатель тоже создавался путем многочисленных вырезов. Как и в случае с корпусом скрипки мне пришлось применять внешние и внутренние отсечения, но теперь отсекающие кривые не были такой сложной формы. Я использовал две кривые для формирования объекта, затем вырезал по очереди четыре одинаковых прорези – в итоге получилось шесть, но это сработало, поскольку ни один вырез не был сложным.

Струны тоже были утомительной работой, но принцип был прост. Я экструдировал маленькие округлые кривые вдоль пути, обозначенного еще одной кривой – в максе этот процесс называется Rail Sweep. Этот метод предоставляет довольно большую свободу действий, я мог изменять толщину струн, а также редактировать кривую пути для точного совпадения с прорезями в струнодержателе и наматывания на калки.

В процессе работы я регулярно собирал все объекты вместе, чтобы посмотреть что получается. В конце все равно оказалось, что части не подходят друг к другу и мне потребовалось некоторое время, чтобы настроить все объекты и собрать вместе. Когда работа была закона, скрипка выглядела как показано на рисунке, готовая к экспериментам с метриалами.

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

Замечания переводчика


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

Ниже приводятся некоторые советы по моделированию NURBS.

  1. Для вас гораздо легче будет нарисовать любой профиль для обрезки простым инструментом «линия» (Line) и затем присоединить (Attach) полученную форму к вашей NURBS поверхности. При этом кривая, для сохранения точной формы будет разбита на отрезки. Эти отрезки могут быть по очереди спроецированы на плоскость для получения формы выреза. Перед проекцией можно объединить отрезки методом Join, но при этом необходимо быть готовым к тому, что кривая потеряет первоначальную форму.

  2. Вырезы выполняются инструментом Multicurve Trimmed Surface. Для этого кривая-шаблон, по которой производится обрез должна быть приаттачена к NURBS структуре и находиться на поверхности объекта. Для этого необходимо либо создать кривую прямо на плоскости (Point Curve on Surface), либо спроецировать на плоскость приаттаченую кривую (Normal Projected Curve или Vector Projected Curve).

  3. При создании любых поверхностей NURBS необходимо следить за направлением нормалей (Normal), при необходимости выполняя операцию Flip Normals. Либо, если вы не хотите об этом задумываться - примените к объекту материал с пометкой “2 Sided”.

  4. Самым сложным объектом действительно оказалась шейка. Я потратил на ее создание едва ли не больше половины всего времени. Признаюсь сразу - я не смог смоделировать этот объект методом, описанным в статье - при этом создавалось большое количество дополнительных граней, что существенно замедляло работу. Я вынужден был искать свои пути. В результате, после многих экспериментов, я создал шейку инструментом “1 Sweep Rail”. Для этого я нарисовал сплайн спирали, и затем разместил на ней профили шейки, которые тоже представляют собой замкнутые сплайны. При использовании этого метода необходимо следить, чтобы профили ОБЯЗАТЕЛЬНО пересекались с кривой пути, иначе результаты будут непредсказуемые. Также надо будет отрегулировать настройки по умолчанию полученной поверхности.

Вот собственно и все, но тема NURBS моделирования настолько объемна, что ее не возможно полностью раскрыть в одном уроке. Если у вас возникнут вопросы или пожелания по поводу содержания статьи - буду рад.

Да, и напоследок надо отметить, что вся модель скрипки состоит только из поверхностей и сплайнов NURBS, без применения других объектов.


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua