Maxon Cinema4D. Профессиональное моделирование и текстурирование

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

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

Переходим к делу

Изначально предпочтительнее нарисовать будущего дракона на бумаге (если нет графического планшета), вернее, придумать и сделать зарисовку. Это более профессиональный подход, потому как сразу можно более-менее представить результат. Вообще, для фильмов и игр для этих целей (придумывания и прорисовки) специально нанимаются люди с художественным образованием. Некоторые из них, например, предпочитают вообще работать со скульптурой. Но есть и варианты, когда 3D-моделер имеет чувство вкуса и может творить прямо в пакете трехмерного моделирования. Это примерно то же самое, что и создавать скульптуры. Требуется ли для таких специалистов официальное художественное образование? Вопрос очень спорный, достаточно пройтись по выставкам работ и портфолио в Интернете. То есть, если чувствуете себя в силах моделировать без предварительно нарисованного задания, делайте как вам удобно.

Проект «дракон», даем ТЗ

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

Главной поставленной на то время задачей (напомним, что это был реальный заказ) являлась реализация дракона, который бы вселял ужас, то есть был страшным. Не смешным, не добрым, не игрушечным, а именно страшным.

Вы, конечно, можете предусмотреть свои варианты.

Голова дракона, внимательно присмотритесь к элементам

Переходим к реализации, голова+основное тело

Голова, а также тело без конечностей от шеи до кончика хвоста делается за счет множества направляющих кривых (сплайнов), заключенных в один (!) модификатор LoftNURBS. То есть, по существу, это единый объект.

Первые направляющие кривые

Начинать его следует с головы, причем это самый сложный элемент объекта. Изначально мы переходим в проекцию вида сверху и рисуем там замкнутую кривую, которая описывает контур какого-нибудь ключевого разреза, например в области ноздрей. Лично я в данном случае среди примитивов сплайнов использовал вариант Акима, а не Безье (см. Objects > Create Spline или же соответствующее меню быстрого доступа). Просто он удобнее при сложном моделировании, потому как у Безье все время (лично мне) мешают ручки управления кривизной. Все сплайны при формировании нашего объекта должны быть замкнутыми. Это делается не рисованием, а просто при формировании кривой в окне свойств нужно сделать активным флажок Close Spline. После прорисовки и выверения первого контура мы копируем эту кривую и с помощью операции Scale (масштабирование объекта) для новой уменьшаем размер. И так несколько раз. Эти кривые нам помогут создать верхнюю часть головы чудовища. Теперь переходим из просмотра сверху в вариант проекции (либо вида сбоку, что не совсем удобно) и начинаем изменять наши кривые в пространстве, потому как нарисованные ранее располагались в одной плоскости.

Голова, шея, туловище и хвост являются одним LoftNURBS объектом

Для тех, кто не совсем усвоил работу со сплайнами, стоит отметить, что в панели инструментов, расположенной сбоку справа, в основном используется три пункта-кнопки: Use Model Tool (изменение положения объекта целиком, в нашем случае сплайна или группы сплайнов), Use Object Axis Tool (изменение положения координатного центра объекта, то есть сам объект вы никуда не перемещаете), Use Point Tool (изменение положения выбранной точки). Особенно важно понимать разницу между первыми двумя, потому как начинающие очень часто путаются в этом вопросе.

Подключение модификатора LoftNURBS

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

Начало моделирования по сплайнам

Важно знать:

. Положение кривых, их точек можно менять и в рамках их нахождения внутри LoftNURBS, для чего используем Use Model Tool и Use Point Tool. . Поскольку мы копировали кривые, то ситуация, которая часто встречается в ошибках моделеров при работе с Loft, себя не проявила. В общем, у каждой кривой есть начало и конец (в замкнутом виде это одна и та же точка). Но Loft, объединяя несколько кривых, начинает совмещать их начала, после чего делает обход. Это важно понимать, иначе поверхности будут скрученными.

. Если в LoftNURBS включаются замкнутые кривые, то поверхности заливаются целиком, в том числе и в так называемых «крышках» (краях); если же используются незамкнутые кривые, то по краям заливаемых поверхностей будут пустоты.

Подключаем LoftNURBS и одна за другой добавляем к нему направляющие, пока не дойдем до окончания

Работаем «на теле»

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

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

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

Создание «перепонки» (элемента, какие есть у ящериц)

Тут две рекомендации: во-первых, поскольку стоит задача сделать злого персонажа, у него должны быть определенные мимические черты; во-вторых, не переусердствуйте с созданием сложной поверхности головы/лица, поскольку очень многое еще даст текстурирование и агрессивные цвета раскраски. Кстати, есть и одна чисто техническая рекомендация. Например, а это бывает нередко, доступ к некоторым точкам кривых закрыт телом. Ситуацию можно исправить заменой того материала (серый пластик), который всегда дается по умолчанию. То есть вы создаете новый материал и делаете его полупрозрачным, после чего переносите его на объект Loft.

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

Дополнительные элементы головы

Итак, к дополнительным элементам головы мы отнесем: глаза, всевозможные усы, зубы, язык, шипы, перепончатые элементы ящерицы, жабры на шее. Теперь по порядку.
Глаза, как несложно догадаться, делаются с помощью примитива сферы.

Усы… давайте рассмотрим создание одного, конкретно. Изначально в проекции вида спереди (для того чтобы грамотно соблюсти пропорции и расположение) рисуется кривая. Потом переходим к просмотру в перспективе. Затем мы добавляем сплайн-примитив Circle, нам его даже и не обязательно видеть, а нужно просто подобрать некий малый радиус, после чего мы вызываем модификатор рельса SweepNURBS, куда помещаем сначала кривую, а потом Circle (внутри объекта Sweep они станут в обратном порядке, то есть первой будет идти Circle, а вторым — сплайн). В результате мы получим нечто типа проволоки. Если же у вас появится нечто плоское, следует зайти в свойства Circle и изменить ее направление. Сама проволока — это не лучший вариант, ус должен смотреться соответственно, поэтому в свойствах объекта Sweep мы указываем параметр End Scale 0%. В итоге ус заострится. Тут многие также могут столкнуться с проблемами, которые возникнут в силу того, что объект заострится с другой стороны — это вопрос того же начала кривых. Лично у меня всегда есть правило — начинать кривые от объекта. Если речь идет о создании чего-то с нуля, то все рисуется только по или против часовой стрелки и так далее (хотя большинство примитивов в Cinema4D (окружности, прямоугольники и т.п.) нарисовано против часовой). Понимание этих моментов облегчает многие задачи.

Зубы. Если вы хотите получить более натуральный результат с искривленными зубами, то используйте ту же технологию, что и при создании усов, то есть с помощью кривых и Sweep. В простейшем же виде можно использовать такие объемные примитивы, как конусы.

Язык. Данный элемент достаточно сложен в выполнении и, наверное, проще всего его сделать с помощью создания объекта LoftNURBS (модификатор соответствующий) и двух или трех контуров, нарисованных сплайнами. По такой же технологии мы делали тело.

Шипы делаются по технологиям, аналогичным тому, что было описано для зубов.

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

Жабры на шее делаются достаточно стандартно, то есть используются полусферы (объект-примитив Sphere, в его настройках для параметра Type указываем Hemisphere).

Собственно, модель уже готова к текстурированию

Symmetry, Instance-объекты и копирование. В чем разница?

Как видите у нас множество парных симметричных элементов (это глаза, усы, перепонки, руки, ноги и так далее). В ряде случаев можно использовать модификатор Symmetry (симметрия), в результате чего, создав только один элемент, мы имеем его симметричное отображение с другой стороны. Но не всегда это подходит. Например, если потом нам нужно анимировать объект, то естественно, верхние/нижние конечности, усы, крылья с каждой из сторон должны работать независимо друг от друга. Симметрия как модификатор подразумевает не что иное, как зеркальное отображение, это даже не копия, а по терминологии программы — Instance Object, то есть «зависимая копия» или повторение объекта в другой точке пространства. Если при копировании мы занимаем много памяти (каждый объект что-то да весит), то при использовании Instance-объектов в памяти фактически содержится только один, а все остальное — это просто повторение.

Если кто помнит, автор писал подробно об этом в статье, где мы создавали дома в римском стиле. И вопрос упирался, например, в колонны, их большое количество. Если, например, 20 колонн делать копированием, то это вообще невыгодно, а если мы используем их instance-копии, то никакой загрузки компьютера вы не почувствуете.

Так вот Symmetry, Instance, а также модификатор Array (создает массив по окружности из множества идентичных элементов) не подразумевают копирования. Изменив оригинал, вы поменяете все образованные от него объекты. Instance-копии можно только перемещать и вращать, но если вы их делаете редактируемыми (Make Editable), то они становятся отдельными объектами.

К полноценному копированию (а множественное копирование также очень часто используется), помимо варианта copy-paste (Ctrl+C/Ctrl+V), есть операция Duplicate (меню Functions), которая позволяет сделать любое количество копий фактически за одну операцию.

Вообще, это нужно и важно знать.

Напомним еще один ключевой момент

… а именно, вышеназванную операцию Make Editable (сделать редактируемым). Дело в том, что работая со сплайнами или так называемым NURBS- моделированием, мы фактически используем только математические конструкции. Операция Make Editable переводит их к полигональному представлению. Она не взаимообратна, то есть от полигонов к NURBS перехода не существует.
NURBS-модификаторы (используемые нами Loft, Sweep, Lathe) могут работать и с полигональными моделями.

Крылья, нижние конечности

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

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

Использование модификатора Metaball для создания природных форм

Верхние конечности(!)

Вот тут довольно интересный момент. На примере с нижними конечностями вам была продемонстрирована вся сила LoftNURBS, но этот вариант не совсем подходит для кистей верхних лап. То есть, конечно, плечо, предплечье мы сделаем с помощью Loft, а вот плавное перетекание к кистям и вообще создание чего-то более-менее правдоподобного с помощью этого модификатора весьма затруднительно.

Для простоты проектирования откроем новый файл и загрузим модификатор Metaball, название которого именно для данного случая лучше перевести как плавное перетекание форм. Для начала попробуйте просто сделать перетекание двух сфер, пометив их в Metaball, добавьте туда третью, четвертую. Как только получилось, вы сразу же понимаете, как именно были сделаны кисти. Остальное — вопрос техники. Создав кисть, вы ее можете без труда с помощью copy-paste перевести в изначальный проект. Если размеры не подходят, то вариант использования Scale ничего хорошего не принесет. Поэтому опять же возвращайтесь к проекту с кистью, выделяйте все элементы, группируйте в один объект, после чего вызывайте контекстное меню и в нем выбирайте пункт Current State To Object. Действие, которое произведется, в результате схоже с Make Editable, но с одной разницей — отметается все постороннее и все, из чего строилось раньше. То есть у нас будет единый редактируемый объект (полигональный). Теперь попробуйте опять перенести его в исходный проект и теперь можете смело использовать Scale.

Примечание

При использовании модификаторов сложных природных форм и дальнейшем переводе получившихся объектов в полигональное представление эта самая полигональность практически всегда зашкаливает, то есть все разбивается на очень большое количество графических примитивов. В некоторых случаях их не могут «потянуть» даже мощные серьезные машины. В принципе, такая ситуация с переводом практически всегда неоправданна, за исключением случаев, когда вы работаете для кино уровня Голливуда:). Для уменьшения количества полигонов используется специальный модификатор Polygon Reduction, который можно найти в закладке деформаторов.

Справку о том, сколько памяти занимает тот или иной объект, можно посмотреть, нажав на нем правую кнопку мыши и выбрав в контекстном меню пункт Object Information.

Подытожим

Итак, сегодня вам были показаны принципы профессионального моделирования в Maxon Cinema4D с использованием соответствующего инструментария. Единственное, что хочется отметить: пример взят из реального проекта, и я не нашел варианта без текстурирования с доработанными крыльями. Когда мы будем в следующем материале серии текстурировать модель, она будет выглядеть несколько по-другому. То есть, если вы взялись за реализацию написанного, учтите, что крылья должны смотреться натурально. Вообще, в профессиональном моделировании мелочей не бывает.

Почти всегда читателей интересует время, затрачиваемое мною на создание той или иной модели, в принципе, можно рассказать. Поскольку я не делал предварительных рисунков, а экспериментировал по месту, то есть творил сразу в Cinema4D, описанный сегодня этап занял у меня около 8 часов. Это много. Например, нередко бывают ситуации, когда требуют по две-три таких модели в течение дня. Вернее, требуют концепты, чтобы их принять или нет. И сами концепты проще отдавать нарисованными в 2D (или на бумаге).

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

Кристофер christopher@tut.by


Компьютерная газета. Статья была опубликована в номере 14 за 2010 год в рубрике soft

©1997-2024 Компьютерная газета