Мир, окружающий нас, является трехмерным, иначе говоря, форму объектов, с которыми человек взаимодействует каждый день, можно описать посредством трех измерений – длины, ширины и высоты. Для создания каждого из этих объектов используются свои способы, о которых люди не задумываются, пока сами не примут участие в создании какого-либо объекта. Точно так же с помощью компьютера и специального программного обеспечения в виртуальном трехмерном пространстве можно создать практически любой объект, вымышленный или встречающийся в повседневной жизни, несколькими способами. Все, что относится к созданию трехмерных объектов и управлению ими в виртуальном пространстве, называется трехмерной графикой. Иначе говоря, трехмерную графику можно определить как виртуальное представление объемной среды. То есть на плоском мониторе компьютера посредством программного обеспечения строится 3D-пространство, которое затем может быть визуализировано с помощью программных средств управления и, в конце концов, в виде неподвижного изображения или анимационного ролика представлено зрителю.
Для начального знакомства и понимания общих принципов работы в виртуальном пространстве достаточно знания геометрии на уровне школьного курса (вот когда пригодятся эти скучные теоремы и биссектрисы!). Для ориентации на плоскости и в пространстве в редакторах трехмерной графики применяется декартова система координат[1] (рис. 1.3). Она представляет собой три воображаемые плоскости, пересекающиеся в пространстве под углом 90°. Обычно оси X и Y определяют координаты плоских двумерных объектов и описывают размеры объекта по длине и ширине, а ось Z направлена вверх и определяет высоту объекта. Началом координат называется точка с координатами (0, 0, 0), от которой ведется отсчет положения объектов в пространстве. Каждая ось координатной системы условно делится на определенное количество одинаковых отрезков, которые представляют собой какие-либо единицы измерения. Причем по одну сторону от точки начала координат будет располагаться положительная область значений, а по другую – отрицательная. Данная система применяется практически во всех программах трехмерной графики, различаясь только ориентацией осей, и, как правило, изменить направление осей в любом 3D-редакторе не составляет труда.
Рис. 1.3. Оси декартовой системы координат в трехмерном пространстве
Только после того как вы разберетесь с системой координат, принятой в трехмерной графике, и познакомитесь с интерфейсом 3ds Max 2009, имеет смысл переходить к изучению процесса создания объектов на основе примитивов или сплайнов, а затем и к более сложному объемному построению. Кроме трех измерений (длина, ширина, высота) любой объект 3ds Max определяется формой. Под формой подразумевается внешний вид, визуальные очертания предмета. Для работы с программой компьютерного моделирования (впрочем, это касается и любого вида изобразительного искусства) необходимо развивать в себе чувство формы и объема. «Трехмерное видение» приходит с опытом и не является исключительной особенностью определенного круга людей.
Примечание
Примитивами в программах компьютерного моделирования называют простые объемные фигуры, такие как куб, сфера, плоскость, пирамида и т. п. Эти фигуры служат основой для создания более сложных трехмерных моделей. Примитивы являются параметрическими объектами. Это означает, что они строятся путем ввода определенных параметров.
После того как все объекты созданы и расположены на предназначенных для них местах, можно назначать им текстуры и работать над освещением сцены. Для отображения сцены применяются камеры различных типов (рис. 1.4). Виртуальная камера транслирует сцену в соответствии с указанными пользователем параметрами. Можно управлять, например, такой характеристикой, как глубина резкости (см. главу 3), когда в фокус камеры попадает определенная область или объект, а остальная часть сцены размыта. В итоге сцена становится похожа на фотографию, сделанную реальной камерой. Ключевым моментом возможностей трехмерных редакторов является анимация, или оживление неподвижного изображения. С ее помощью создаются спецэффекты для кино, рекламы и, конечно, полнометражные фильмы.
Рис. 1.4. Инструмент Камера в программе трехмерного моделирования
Из чего же состоят объекты в среде трехмерного моделирования? Здесь необходимо вспомнить правило, известное еще со школьной скамьи: соединив линиями три любые точки в пространстве, вы получите плоскость. Объекты в трехмерной графике состоят из наборов небольших плоскостей, которые называются полигонами. Полигоны, в свою очередь, состоят из вершин, ребер и граней (рис. 1.5, а). Этими составными частями они соединяются между собой. В составе полигона может быть произвольное количество ребер (рис. 1.5, б). Напрашивается вывод: если трехмерные объекты состоят из двумерных полигонов, значит, их можно воспроизвести в редакторах двумерной графики. Это действительно так, но если в приложении для работы с трехмерной графикой есть возможность вносить изменения в вид объекта, то в двумерном редакторе придется каждый раз перерисовывать его заново. Это неудобно и не способствует повышению производительности. Впрочем, такие редакторы могут сильно помочь в процессе создания моделей и обработки полученных изображений, о чем будет сказано далее.
Рис. 1.5. Полигоны, используемые в трехмерной графике: а – составные части полигона; б – полигоны, составленные из различного числа граней
Существуют различные режимы отображения трехмерных объектов (рис. 1.6):
Рис. 1.6. Режимы отображения объектов
• Габаритный контейнер объекта (bounding box) – объекты изображаются в виде описанных вокруг них параллелепипедов со сторонами, параллельными плоскостям глобальной системы координат.
• Каркас (wireframe) – объекты изображаются в виде проволочных каркасов, образованных видимыми ребрами между соседними гранями, не лежащими в одной плоскости.
• Освещенные каркасы (lit wireframes) – объекты изображаются в виде каркасов, тонированных в соответствии с направлением световых лучей.
• Однородная заливка ( flat) – проекции объектов изображаются в виде областей с заливкой однородным цветом без полутонов.
• Грани ( facets) – объекты изображаются в виде совокупности тонированных плоских граней.
• Сглаживание (smooth) – объекты изображаются в тонированном виде со сглаживанием переходов между плоскими гранями.
• Грани и блики ( facets + highlights) – объекты изображаются в виде совокупности тонированных плоских граней с добавлением бликов.
• Сглаживание и блики (smooth + highlights) – объекты изображаются в тонированном виде со сглаживанием переходов между плоскими гранями и добавлением бликов.
• Контуры граней (edged faces) – демонстрация каркаса объекта одновременно с его тонированной оболочкой.
Говоря об отображении объектов в программах трехмерного моделирования, нельзя не упомянуть о нормалях. Нормалью называется воображаемый отрезок, направленный из центра грани объекта перпендикулярно к ее поверхности. Если нормаль направлена в сторону наблюдателя, грань считается видимой. И наоборот, если нормаль направлена в сторону, противоположную взгляду, грань будет не видна. Соответственно, для изменения видимости грани достаточно поменять направление ее нормали.
Еще с уроков черчения многие помнят рисование ваз и розеток в трех проекциях и аксонометрии. В качестве проекций обычно фигурировали: вид спереди, вид сверху и вид слева или справа. В редакторах компьютерной графики используется аналогичное представление объектов. Правда, чаще всего аксонометрия здесь заменяется видом перспективы. Аксонометрией называется отображение объемных объектов в пространстве, при котором в сцене отсутствуют перспективные искажения. Если предположить, что точка наблюдения находится так далеко от предмета, что все лучи зрения можно считать параллельными, параллельные линии будут выглядеть таковыми и на рисунке (рис. 1.7, а). Перспектива, в свою очередь, отображает объемные объекты с учетом расстояния от точки наблюдения, увеличивая передний и уменьшая задний план, так как взгляд наблюдателя в действительности направлен из одной точки (рис. 1.7, б), у созерцаемого объекта параллельными в таком случае будут только фронтальные прямые. Если при аксонометрическом отображении трехмерный объект проецируется на ортогональную плоскость, то при перспективном – проецирование происходит на конвергентную плоскость.
Рис. 1.7. Изображение объектов: а – в аксонометрии; б – в перспективе
Например, удаленные фигуры в перспективе кажутся меньше, чем расположенные близко к наблюдателю. Если смотреть таким способом на цилиндрический объект, его верхняя плоскость будет иметь эллиптическую форму, в то время как верхняя плоскость куба в перспективе будет выглядеть трапециевидной, а ее прямые углы будут казаться поднимающимися, если они находятся ниже уровня взгляда. В противном случае углы будут казаться опускающимися (рис. 1.8).
Рис. 1.8. Объекты в перспективной проекции
Создание трехмерного проекта, как правило, начинается с идеи, эскизных набросков будущих сцен. Данная стадия проекта является одной из важнейших, так как вырабатывается общая концепция всего проекта. Определяются предполагаемая форма объектов, составляющих наполнение сцены, их текстуры, цветовая гамма и освещение будущей сцены. Все это в дальнейшем поможет существенно ускорить реализацию трехмерного проекта.
Любая сцена в виртуальном пространстве начинается с моделирования объектов. Этот процесс подразделяется на несколько категорий. Начнем с полигонального моделирования. Трехмерная модель создается из сетки полигонов, которую можно затем подвергать редактированию, меняя размер и форму структурных единиц. Если говорить простым языком, из обыкновенного куба с нужным количеством сегментов путем разбиения и наращивания полигонов можно получить качественную трехмерную модель (рис. 1.9). Одна из разновидностей полигонального моделирования – низкополигональное – используется в 3D-играх и для визуализации в реальном времени. В этом случае очень важны производительность процессора и видеокарты, так как при непрерывном отображении меняющейся трехмерной среды не обойтись без сложных расчетов. Кроме того, требуется место в памяти видеоподсистемы компьютера для хранения текстур. Поэтому желательно обходиться как можно меньшим количеством полигонов и жертвовать детализацией, экономя ресурсы вычислительной системы.
Рис. 1.9. Объект создан путем полигонального моделирования
Следующая разновидность – создание моделей на основе параметрических примитивов. Обычно в программах для трехмерного моделирования имеется набор простых объектов, таких как сфера, куб, цилиндр и т. п. Примитивы могут иметь и более сложную форму, например срезанный куб, узел, октаэдр и т. п. Это так называемые улучшенные примитивы (extendedprimitives) (рис. 1.10). Форму этих объектов можно отредактировать, к примеру, с помощью модификаторов.
Рис. 1.10. Примеры улучшенных примитивов
Моделирование может осуществляться также на основе сплайнов. Сплайнами (splines) называются кривые линии, определяемые на плоскости и в пространстве контрольными точками. Пример объекта, основой которого являются сплайны, показан на рис. 1.11. Здесь был создан сплайновый каркас, который затем с применением специального модификатора покрывался поверхностью. Кроме того, с помощью сплайнов можно задать форму-основу для создания трехмерных объектов путем выдавливания этой формы по сложной траектории c возможностью последующей деформации. Данная техника называется лофтингом (lofting).
Рис. 1.11. Объект, построенный на основе сплайнов
Следует также упомянуть о таком методе, как NURBS-моделирование (NURBS – Non-Uniform Rational B-Splines – неоднородные рациональные сплайны Безье). NURBS-поверхности также, по сути, сформированы на основе сплайнов, но они дают дополнительные возможности, о которых будет рассказано позже. Это один из самых сложных и в то же время мощных видов моделирования. Он применяется в основном для создания сглаженных поверхностей корпусов автомобилей, самолетов и т. п. Примеры объектов, в основу которых легли NURBS-поверхности, показаны на рис. 1.12.
Рис. 1.12. Основой скатерти и штор послужили NURBS-поверхности
И наконец, моделирование на основе кусков ( patch modelling)
О проекте
О подписке