Художнику, аниматору, дизайнеру, да и вообще любому человеку, связанному с компьютерной графикой, всегда интересно узнавать о программах, позволяющих качественно и на высоком уровне выполнять стоящие перед ними задачи. Среди таких продуктов — редактор трехмерной графики Cinema 4D, который начал распространяться в нашей стране с 2001 г. Разработчик программы, фирма Maxon, сейчас является составным звеном немецкой компании Nemetchek. Последняя уже несколько лет известна на российском рынке благодаря великолепной программе All Plan, предназначенной для профессионального использования в таких областях, как архитектура и конструирование. Немаловажно, что Nemetchek имеет в России свои представительства, поэтому Cinema 4D сертифицирована и переведена на русский язык.
Основное назначение Cinema 4D — создавать реалистичные трехмерные сцены и объекты для дизайна и анимации. Она может быть полезна и в кинематографии, и в проектировании, и в рекламе. Такой законченный интегрированный продукт способен выполнить практически любую задачу, стоящую перед современным художником. Ну а если вам нужно расширить возможности программы, для этого есть модули Body Paint и Dynamics, по сути превращающие Cinema 4D в целую студию.
В предлагаемой статье рассказывается о возможностях программы Cinema 4D и некоторых особенностях при работе с ней.
Рис. 1 |
На рис. 1 представлен внешний вид русифицированной седьмой версии программы Cinema 4D. Главное окно программы можно изменять и при этом сохранять свои настройки, что очень удобно при работе в различных режимах.
Модуль Body Paint расширяет возможности программы, с его помощью можно ретушировать изображения и сами трехмерные модели. Работа в режиме Art («Художник») чем-то напоминает редактирование в Adobe Photoshop, особенно при использовании дополнительных модулей (Plug-ins), например Deep Paint. Разница в том, что в Photoshop операции выполняются только с двухмерными объектами, а в Cinema 4D и Body Paint — и с двухмерными, и с трехмерными.
Еще один встраиваемый модуль, Dynamics, управляет физическими процессами, посредством его моделируются гравитация, ветер, столкновение, жесткость и упругость материалов. Игра в бильярд, где учитывается столкновение шаров, падение предмета на натянутую сетку, прогибающуюся под его тяжестью, удар пули о стенку с последующим ее расплющиванием, колыхание ткани — подобное моделирование не вызывает особых сложностей в Cinema 4D с установленным модулем Dynamics.
Программа позволяет имитировать взрыв, создавать и видоизменять практически любые объекты, которые могут подвергаться сложнейшим деформациям. Им можно задавать прозрачность или глянец (блик), что особенно важно при моделировании изделий из стекла.
Рис. 2 |
Для обзора сцены Cinema 4D использует 14 камер, имеется и редактор камер. Свет от источников освещения создает тени от объектов, пронизывает прозрачные и полупрозрачные стенки моделируемых фужеров и ваз настолько точно, что после рендеринга у наблюдателя создается впечатление, будто он смотрит фотографию, а не виртуальную трехмерную сцену (рис. 2 и 3).
Рис. 3 |
В программе имеется набор моделей человеческих фигур, очень похожих на те, что есть в Curious Labs Poser (см. «Мир ПК», №10/01, с. 132; №11/01, с. 134). Это фигуры мужчины, женщины и ребенка, которые допустимо видоизменять. Модели живых существ, и в том числе человека, можно создать и самостоятельно (рис. 6). Передвигаются они по настраиваемым траекториям. Кстати, Cinema 4D может использовать подобные модели из Poser. Также существует специальный подключаемый модуль, обеспечивающий возможность интеграции этих двух программ.
Для повышения качества анимации в Cinema 4D применяется технология Ease-In and Ease-Out («Замедление в начале и замедление в конце»). Суть ее в следующем. Обычно объект, созданный в редакторе трехмерного моделирования, перемещается от точки А к точке Б с постоянной скоростью. Однако физические объекты имеют определенную массу, и им нужно преодолевать силы сопротивления. Поэтому в реальном мире объекты начинают движение и постепенно набирают определенную скорость (Ease-In), проходят нужное расстояние и в конце уменьшают скорость до полной остановки (Ease-Out). Вот именно это и моделируется в Cinema 4D.
Система координат
В Cinema 4D используется система координат, аналогичная принятой в Poser: X (ширина), Y (высота) и Z (глубина)*. На оси X откладываются налево отрицательные и направо положительные координаты, на Y — вверх положительные и вниз отрицательные, на Z — вперед отрицательные и вглубь (т. е. от наблюдателя) положительные координаты. В процессе работы над сценой можно блокировать любую из осей координат щелчком на ее значке на панели инструментов или с помощью «горячих» клавиш (X, Y или Z). Это позволяет ограничить перемещение, вращение или масштабирование объекта по выбранным осям.
Существуют World Coordinates (мировые координаты) или Object Coordinates (координаты объекта). Мировые координаты зафиксированы и не могут быть изменены. Координаты объекта допустимо трансформировать в любом направлении, как в пределах самого объекта, так и всей сцены, и поворачивать на любой угол.
Вращение. Изменение позиции координат объекта в Cinema 4D происходит по осям X, Y и Z, а поворот — по осям H, P и B. Это соответствует понятиям, принятым в авиации и космонавтике: курс (или H) отображает величину угла поворота вокруг оси Y, тангаж (или P) — вокруг оси X и крен (или B) вокруг оси Z.
Координатная сетка. Создавая какую-либо физическую модель, ее обычно располагают на определенной плоскости, будь то стол или иная поверхность. В рабочей области Cinema 4D такой плоскостью является координатная сетка. Ее центр — пересечение осей X, Y и Z. При этом выполняются следующие условия.
- В окне вида Perspective ("Перспектива") линии координатной сетки отображаются по осям X и Z, точка их пересечения является центром координатной сетки.
- В окне вида XY, или вида спереди (Front), линии координатной сетки отображаются по осям X и Y, ее центр - точка пересечения этих осей.
- В окне вида XZ, или вида сверху (Top), линии координатной сетки отображаются по осям X и Z, ее центр - точка пересечения этих осей.
- В окне вида YZ, или вида сбоку (Side), линии координатной сетки отображаются по осям Y и Z, ее центр - точка пересечения этих осей.
Импортирование и использование моделей. Программа Cinema 4D позволяет использовать множество моделей, представленных файлами различных форматов. Зачастую можно импортировать целые сцены из других приложений, включая текстуры, освещение и треки анимации. Обычно это делается путем настройки определенных параметров программы. Но работа с форматами отдельных программных пакетов может потребовать некоторых дополнительных усилий. В подобных случаях производитель Cinema 4D, компания Maxon, размещает на своем сайте инструкцию. Там же публикуются списки источников моделей - как платных, так и свободно распространяемых.
Использование иерархий. Модель может состоять из сотни отдельных частей. Для того чтобы они образовали единое целое, применяются такие способы, как группировка и связывание. Первый позволяет объединить все элементы модели в единый набор, причем каждым из элементов можно манипулировать индивидуально в пределах группы, а также преобразовывать всю группу целиком. При этом координаты устанавливаются как для группы объектов, так и для каждого из них. Связывание же дает возможность установить соподчинение между объектами, одни из которых становятся зависимыми от других, что особенно проявляется при перемещении. Например, большой палец ноги соединен со ступней, и его положение зависит от положения ступни. Ступня, в свою очередь, соединена с голенью, и на ее положение влияет перемещение голени, и т. д.
С помощью инструмента Inverse Kinematics («Обратная кинематика») можно перемещать связанные объекты, и они будут двигаться, как будто скрепленные одной цепью. Также можно накладывать ограничения на движение, чтобы имитировать определенный тип сочленения или соединения. Это позволяет избежать ошибок при создании анимационных сцен. Например, известно, что человек не может повернуть шею и голову на 180? как сова (поворот осуществляется в основном за счет движения шеи и частично — головы). Следовательно, на параметры, определяющие угол поворота шеи и головы человека, нужно наложить такое ограничение, чтобы сумма их максимальных значений не превышала 90?.
Моделирование
Понятно, что чем сложнее сцена, тем больше времени ей приходится уделять. А чем меньше информации придется просчитывать компьютеру, тем лучше. Поэтому следует стремиться создавать трехмерные модели с высокой степенью детализации, используя при этом наименьшее количество информации. Иначе говоря, нужно конструировать сложные модели, имеющие малое число полигонов. Cinema 4D предлагает несколько способов упрощения построения сцен. Ниже будут рассмотрены некоторые из них.
Образцы. Многие сцены могут содержать идентичные объекты, например деревья на холме, лепестки у цветка, трава и т. д. Чтобы не перегружать сцену множественными копиями объекта, следует делать образцы. Изменения, происходящие с материнским объектом (объектом-источником), передаются образцу, но не наоборот. При этом информация по ряду параметров (цвет, размер и т. п.) сохраняется лишь для объекта-источника, а не для остальных, что существенно снижает требования к оборудованию.
Карта рельефа. Не все детали объекта нужно моделировать явно. Вместо того чтобы на апельсиновой кожуре «вырезать» каждую выемку, можно использовать материалы и карты текстур, например Bump Map («Карту рельефа»). Представьте себе, сколько времени придется затратить на то, чтобы создать неоднородную трехмерную поверхность апельсиновой кожуры, и насколько быстрее можно выполнить такую работу, если к шару применить текстуру. Но главное заключается в том, что визуальный эффект в обоих случаях может быть практически идентичным.
Проецирование камеры. Как и многие другие редакторы, Cinema 4D допускает применение фотографий в качестве фона, а согласовать фон и трехмерную сцену можно с помощью технологии Camera Mapping («Проецирование камеры»), создающей иллюзию глубины. При передвижении камеры изображение фона представляется трехмерным. Другое преимущество данной технологии — возможность использования затеняемых материалов при перемещении или добавлении анимированных элементов к фону, что делает его более реалистичным. Однако эффективна указанная технология будет только в случае ограниченного изменения положения камеры. При этом фон должен находиться на некотором удалении.
Примитивы. С помощью примитивов (куба, шара, цилиндра и т. п.) можно построить более сложные модели. Важно знать, что математические уравнения, описывающие примитивы, были оптимизированы таким образом, чтобы они занимали наименьшее количество оперативной памяти и дискового пространства компьютера. А поскольку все примитивы в Cinema 4D, как и во многих других редакторах 3D-графики, параметрические, их можно легко преобразовывать.
Сплайны. Сплайны — это простые линии, используемые при построении моделей. Их форма и вид определяются некоторым количеством контрольных точек (узлов). Например, контрольные точки В-сплайна задают постоянную гладкость кривой от точки к точке. Контрольные точки сплайна Безье имеют управляющие элементы (направляющие). Манипулируя их положением, можно влиять на кривизну отдельных участков. Программа Cinema 4D включает множество заготовок сплайновых профилей, что удобно для моделирования.
Сплайн из вектора. Этот тип сплайна импортируется из внешних программ. Так, можно взять рисунок формата .ai, сделанный в Adobe Illustrator, и перенести его в Cinema 4D. Внутри программы он появляется в виде сплайна и вполне подойдет для построения трехмерной модели. Таким способом двухмерные изображения логотипов преобразовываются в 3D-модели.
Шрифт. Для создания трехмерного шрифта и логотипов чаще всего выбирают 3D-приложения, поскольку они лучше работают с текстом, чем программы 2D-графики. В Cinema 4D нужно просто ввести текст и подобрать шрифт, а программа уже сама построит сплайны. В дальнейшем с трехмерным текстом, как и с другими аналогичными трехмерными объектами, можно проделывать различные операции, подбирая для них свои стили и формы. Эти стили допустимо применять и к любому другому тексту — по сути, вы создаете свой набор шрифтов.
Extrusion («Выдавливание») — это вытягивание двухмерного профиля или контура вдоль одной из осей координат для построения объемного объекта. Этот режим бывает полезен довольно часто, ведь он позволяет превратить плоский логотип в объемный, что требуется для рекламных роликов.
Рис. 4 |
Lathe («Поворот»). В режиме Lathing сплайновый профиль можно поворачивать по одной из осей. Таким способом конструируется объемная модель (посуда, вазы, купола и т. п.), что несколько напоминает работу гончара, делающего глиняный кувшин на гончарном круге. Однако в данном случае не нужно постоянно вращать сплайн: чтобы фигура имела законченную форму, достаточно задать угол поворота 360?. Кстати, для построения некоторых моделей угол вращения может быть и меньше.
Режим Loft. Применение данного режима (рис. 4) можно сравнить с натягиванием пластичной пленки на какой-нибудь профиль, например на каркас крыла самолета.
Sweep («Вытягивание вдоль пути»). При работе в этом режиме можно вытянуть профиль одного объекта вдоль пути другого. Так, на рис. 5 показано вытягивание конусовидного объекта вдоль кривой.
Рис. 5 |
Булевы операции. В данном режиме используется комбинация двух перекрывающихся объектов и создается новый в зависимости от того, какая Булева операция была выбрана:
- Union ("Объединение") - объединяет два перекрывающихся объекта в один;
- Subtraction ("Вычитание") - вырезает один объект из другого;
- Intersection ("Пересечение") - оставляет общую область двух пересекающихся объектов.
Фракталы. Фрактальная геометрия позволяет создавать береговые линии, гористые пейзажи и образования, подобные облакам.
Деформации. Чтобы добиться желаемой формы объекта, при моделировании можно комбинировать множество типов деформаций. Например, если к прямоугольному параллелепипеду применить деформации «Кручение» и «Сжатие», можно получить буровое долото, а добавив деформацию «Изгиб», — олений рог, который можно подкорректировать, изменив масштаб одной из сторон.
HyperNURBS (сверхнеоднородные рациональные В-сплайны). В Cinema 4D HyperNURBS является самой мощной системой моделирования, предоставляющей огромную свободу действий в процессе создания моделей. HyperNURBS подразделяет поверхности объектов, тем самым создавая гладкие каркасы (Mesh). Этот режим наиболее эффективен для моделирования фигур животных и людей (рис. 6).
Рис. 6 |
Карты деформации. Действие карт деформации подобно действию карт рельефа (Bump), но результат их применения более явно выражен. Карта выдавливания представляет собой полутоновое черно-белое изображение, изменяющее геометрию модели при рендеринге. Данный режим требует от модели повышенной мозаичности и детализации каркаса. Белые участки картинки «выдавливают» поверхность модели наружу по заданной оси и на указанную пользователем величину. Черные «вдавливают» ее, а полутоновые воздействуют в разной степени в зависимости от градаций серого. Карты деформации удобнее применять тогда, когда нужно смоделировать что-то мелкое, например гравий. Они поддаются анимации, и следовательно, с их помощью можно имитировать рябь на поверхности воды и небольшое волнение.
Нормали. Модели состоят из полигонов, каждый из которых имеет нормаль, т. е. вектор, используемый алгоритмом рендеринга для определения ориентации полигона. Направление нормали определяет внешний вид полигона, влияет на свойства поверхности (материалов и текстур), а также на то, под каким углом полигон освещается источником света.
При моделировании иногда необходимо исправить или перевернуть нормали, чтобы обеспечить правильное затенение. Обычно это приходится делать, когда импортируются модели, построенные в других редакторах 3D-графики.
В заключение обобщим некоторые правила моделирования:
- стройте только то, что будет увидено; если предполагается, что какие-то элементы сцены будут не видны, не моделируйте их;
- не создавайте очень сложные и детализированные модели, если они находятся на втором или третьем плане;
- моделируйте столько объектов, сколько нужно для сцены, и если возможно, создавайте их образцы;
- сложные модели делайте составными;
- используйте двухмерные изображения и технологию проецирования камеры при создании фона (заднего плана).
Продолжение в следующем номере.
ОБ АВТОРЕ
Виктор Солодчук — специалист в области компьютерной графики и анимации, автор книги «Создание анимационного фильма с помощью компьютера« (Изд-во Института психотерапии, М., 2002). Фрагменты из нее послужили основой для этой статьи.
Автор выражает благодарность российскому представительству компании Nemetchek, предоставившему материалы для подготовки этой статьи.
* В других программах, например в 3D Studio Max, используется система координат, в которой ось Y располагается по горизонтали, а ось Z — по вертикали.