Как деформировать объект в cinema 4d

Обновлено: 05.07.2024

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

Ну а как быть, если мы с вами хотим не просто разбить предмет, но и изобразить в анимации взаимодействие осколков с окружающей обстановкой? Как заставить осколки падать на пол, подскакивать, подпрыгивать и вообще вести себя по всем законам земной физики? Ведь модификатор взрыва в Cinema 4D с физикой не дружит — он просто разносит полигоны объекта в стороны, и на этом считает свою задачу выполненной. В свою очередь, физика в Cinema 4D отлично отрабатывает задачу взаимодействия отдельных элементов между собой и с окружающими предметами, но — увы! — не умеет превращать трёхмерную модель в набор отдельных элементов. Как быть?

Реалистичный разлёт осколков

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

Когда речь идёт о наборе отдельных полигональных элементов, никакой сложности у нас с назначением им физики не возникает: объединяем элементы в группу и назначаем последней тег динамики со значениями «Apply Tag To Children» и «All» параметров «Inherit Tag» и «Individual Elements» соответственно во вкладке «Collision» — именно так мы с вами настраивали физическую модель автомобиля в предыдущем уроке.

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

Будем исходить из того, что у нас с вами уже имеется некая модель, подготовленная для разрушения — как это сделать, подробно описано в уроке по моделированию взрыва межгалактического грузовика, ссылка на который приведена выше. То есть наша с вами модель уже порезана на неровные полигональные сегменты, и ей уже присвоен модификатор взрыва «Explosion FX». Однако, в отличие от моделирования взрыва в космосе, наши действия будут построены по иному алгоритму. На сей раз задачи, которые мы с вами поручим модификатору «Explosion FX» — это, во-первых, едва заметно, чуть-чуть, в самой первой фазе разделить трёхмерную модель на осколки, с тем чтобы сразу же передать управление физической модели Cinema 4D, которая будет управлять физическим поведением осколков, и во-вторых, придать толщину стенкам исходной модели.

Подготовленная к разрушению трёхмерная модель

Приступаем. Располагаем модель в том месте, где она будет раскалываться на части, и назначаем ей модификатор «Explosion FX» со значением «0» параметра «Time» во вкладке «Object». Это сделано затем, чтобы присвоенный модели модификатор с самого начала придал поверхности нашей модели толщину (соответствующее свойство «Thickness» можно найти во вкладке «Cluster» свойств модификатора). К слову говоря — надеюсь, вам понятно, что в исходном варианте модель для разрушения должна быть «тонкостенной», не имеющей физической толщины стенки, об этой толщине, как мы с вами видим, позаботится модификатор «Explosion FX». Сам модификатор располагаем в центре разрушаемой модели.

Указываем толщину поверхности трёхмерной модели

Начинаем подготовку. Изменяем значение параметра «Time» модификатора «Explosion FX» — вместо нуля указываем какое-нибудь небольшое значение, подбирая его таким образом, чтобы на поверхности модели визуально обозначилось начало деформации поверхности и её разделения на осколки.

Подбираем значение «Time» модификатора для минимальной начальной деформации модели

Здесь непременно следует учесть один тонкий момент: подбирая значение параметра «Time», вы фактически создаёте первую фазу разлёта осколков, и в зависимости от того, насколько высокую скорость разлёта осколков вы хотите изобразить впоследствии при помощи настройки физической модели, вам необходимо правильно подобрать начальную фазу деформации модели, чтобы последующий разлёт осколков выглядел как естественное продолжение деформации её поверхности, без резкого скачка скорости.

Подобрав начальную фазу деформации поверхности модели, переходим к следующему шагу — к так называемому «спеканию» осколков, то есть трансформации деформированной модификатором «Explosion FX» модели в группу отдельных элементов. Выделяем наименование слегка деформированной модификатором «Explosion FX» модели в менеджере объектов, щёлкаем на наименовании правой клавишей мыши и в выпадающем контекстном меню выбираем пункт «Current State To Object». Обратите внимание: выделять и преобразовывать в новый объект следует именно модель, а не подчинённый ей модификатор взрыва!

Создаём копию модели — будущий набор отдельных элементов-осколков

Следующий нюанс, который также может вас смутить при выполнении этой операции: выделив наименование модели в менеджере объектов, вы увидите в рабочем окне модель без каких-либо следов деформации поверхности — это Cinema 4D показывает вам исходную модель, чтобы дать чёткое представление о первоначальной геометрии деформируемого объекта — но преобразование в новую модель создаст деформированную копию вашей модели.

Итак, у вас появилась слегка деформированная копия модели. Осталось превратить её в набор отдельных элементов. Выделяем её наименование в менеджере объектов, после чего переводим взгляд на верхнее меню Cinema 4D, в котором больше всего нас интересует пункт «Functions» — в выпадающем из этого пункта меню нам нужно найти подпункт «Explode Segments» (букв. «Взорвать сегменты», т. е. сделать каждый сегмент отдельной моделью).

Разделяем сегменты модели на группу отдельных элементов

Если вы всё сделали верно, то Cinema 4D на некоторое время задумается, после чего деформированная копия модели разрушаемого объекта в менеджере объектов превратится в группу полигональных элементов. Будьте готовы к тому, что количество элементов может оказаться весьма приличным — у меня, к примеру, получилось в результате вышеописанной операции более пятисот осколков.

Группа осколков в менеджере объектов

Теперь хорошо бы вернуться к свойствам модификатора «Explosion FX», присвоенного исходной модели, и вернуть его параметру «Time» значение «0». Удалять сам модификатор не советую — ведь за ним по-прежнему сохраняется задача создания толщины стенок исходной модели, и если его удалить — в кадре может появиться весьма интересный эффект превращения «тонкостенной» бесплотной модели в «толстостенную», что будет выглядеть по меньшей мере странно.

Далее необходимо решить, в какой момент времени начнётся разрушение модели. Выбрав подходящий кадр, мы с вами сделаем следующее: спрячем из кадра оригинальную модель, и подменим её на группу осколков, расположенных в соответствии со слегка деформированной поверхностью модели — в анимации это будет выглядеть как начало разрушения. Для этого мы переходим в начало анимации, затем выбираем оригинальную модель и закрепляем значение «On» параметра «Visible in Renderer» («Видно при рендере») во вкладке «Basic» её свойств как ключевой кадр.

Закрепляем видимость исходной модели в начале анимации как ключевой кадр

Переходим в выбранный нами в качестве начала разрушения фрейм и меняем значение параметра «Visible in Renderer» свойств исходной модели на «Off», затем также закрепляем это значение как ключевой кадр. Интерполяция для этого значения, как вы догадываетесь, не предусмотрена — исходная модель не будет постепенно таять в кадре (что, к примеру, можно сделать при помощи свойства «Transparency» текстуры модели), она просто дискретно исчезнет в тот момент, когда значение параметра «Visible in Renderer» изменится с «On» на «Off».

Исходную модель в нужный нам момент мы спрятали, теперь необходимо подменить её на группу осколков. Находим группу, открываем вкладку «Basic» её свойств и точно так же указываем два значения параметра «Visible in Renderer», только в первом кадре анимации значение параметра будет задано как «Off» (при котором осколки спрятаны), а в выбранный нами момент для начала разрушения — сменится на противоположное.

Что ещё мы с вами забыли? Настроить физическую модель разлёта осколков, разумеется. Без этого осколки не разлетятся, а модель будет выглядеть на протяжении анимации просто как треснувшая, но сохранившая почти первоначальную форму. Ищем в менеджере объектов наименование группы осколков и назначаем ей тег динамики.

Назначаем группе осколков тег динамики

Рядом с наименованием группы появится пиктограмма тега динамики — выделяем её и переходим к настройке физической модели. Начнём с вкладки «Dynamics» свойств тега — в этой вкладке необходимо убедиться, что активирован параметр «Enabled» (рядом должна стоять галочка), выбрать значение «On» для параметра «Dynamic», и значение «Immediately» («Немедленно») для параметра «Trigger».

Настраиваем физическую модель разлёта осколков

Переходим к вкладке «Collision» («Взаимодействие») — в ней нужно выбрать значение «Apply Tag To Children» («Применять тег к дочерним объектам») для параметра «Inherit Tag» («Наследование тега»), «All» («Всё») для параметра «Individual Elements» («Отдельные элементы») и «Automatic (MoDYnamics)» для параметра «Shape» («Геометрия»), а также обязательно отметить галочкой параметр «Self Collisions» — чтобы осколки при разлёте не проходили друг сквозь друга без взаимодействия.

Настройка взаимодействия осколков с окружающими объектами

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

Последнее, что нам остаётся сделать — это решить, как именно будут двигаться осколки модели: просто осыпаться вниз (для этого у нас всё готово), или же стремительно разлетаться в разные стороны словно при взрыве — это можно сделать самыми разными способами, от уменьшения временного масштаба динамики и силы гравитации трёхмерной сцены, до размещения вокруг осколков модели, со значением «Automatic» параметра «Shape» в теге динамики (в этом случае Cinema 4D воспримет окружающую осколки модель как монолитную — то есть не пустотелую — и во что бы то ни стало с максимальнум усилием постарается высвободить как бы завязшую внутри неё группу осколков).

В общем, при желании можно получить что-то вроде нижеприведённой анимации.

Несмотря на многообразие примитивов, предлагаемых Cinema 4D, при создании любой более-менее сложной модели или сцены вы не сможете обойтись без специальных инструментов для работы с такими объектами, как деформаторы, массивы, зеркальные отражения, ограничители осей, булевы объекты и др. С их помощью вы сможете изменить форму и внешний вид примитива, сделать зеркальные копии или упорядоченный набор копий, натянуть оболочку на объект, сгруппировать объекты и создать объекты с помощью логических операций.

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

Очень важной составляющей процесса моделирования является геометрическое преобразование объектов, называемое деформированием. Инструменты деформации Cinema 4D позволяют изменять геометрию любого объекта, будь то примитив, объект NURBS, сплайн или полигональный объект (рис. 3.1).


Рис. 3.1. Деформирование объектов

Инструменты деформации являются довольно мощными инструментами трехмерного проектирования и позволяют создать всю модель автомобиля.

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

Увидеть список инструментов деформации объектов можно с помощью нажатия и удерживания левой клавиши мыши на значке, который соответствует команде Add Bend Deformation (Добавить деформацию изгиба), вызывающей один из видов деформаций. При удержании клавиши мыши появится список из 18 инструментов деформации (рис. 3.2). Такое многообразие инструментов позволяет превратить простые примитивы в твердотельные объекты с самой разной по сложности формой.

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


Рис. 3.2. Виды деформаторов в Cinema 4D

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


Рис. 3.3. Значок, соответствующий деформации кручения, отображается в менеджере объектов

Програмирование с использованием OpenGL

Cinema 4D Практическое руководство стр.38

Флажок Use Length - если сплайны имеют разное количество точек, следует поставить этот флажок. Точки будут перераспределены с тем, чтобы результирующая деформация получилась


Флажок Full Polygons - позволяет при построении деформации учитывать не только точки, но и все полигоны.

Shape - позволяет использовать график с управляющими точками для влияния на окончательную форму деформируемого объекта. Точки расставляются на координатной сетке произвольно и перемещаются мышью. Для иллюстрации влияния на форму деформации положения точек на графике, на рис. 2.332 представлено исходное состояние объекта, а на рис. 2.333, 2.334 измененное в зависимости от выбранных точек (указаны стрелками) и их положения.

Инструмент деформации Spline Rail (сплай-новые направляющие)

Служит для деформации объектов по сплайнам в количестве от 2 до 4-х. Сплайны могут ограничивать



область деформации слева/справа и сверху/снизу. В первом случае сплайны должны располагаться в плоскости XY, а во втором случае в плоскости YZ.

На плоскости XY создадим 2 сплайна (рис. 2.335). Это будут сплайны, задающие левую и правую границы деформации объекта, при его перемещении вдоль оси 0Z.


Создаем примитив Cube, который будем деформировать, сам деформатор Spline Rail и размещаем их в окне менеджера объектов, как показано на рис. 2.336. Перетаскиваем имена сплайнов в поля Z Spline Left и Z Spline Right.

Перемещайте контейнер деформатора Spline Rail. При встрече с плоскостью сплайнов примитив Cube будет деформироваться в ленту (рис. 2.337).

Инструмент деформации Taper (сужение)

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

Создадим в качестве исходного объекта примитив Cylinder (цилиндр). В главном меню выберем Objects > Deformation -> Taper. В окне менеджера Objects разместим деформатор Taper




как подобъект по отношению к объекту Cylinder (рис. 2.339).

Параметры деформатора собраны в окне менеджера Attributes (рис. 2.340):

Size - задает размер контейнера деформатора; Mode - задает режим деформации (подробные пояснения см. деформатор Bend);

Strength - задает силу и направление деформации; при положительных значениях (до определенной величины) верхняя часть объекта суживается (рис. 2.341), а при отрицательных - расширяется



(рис. 2.342). При больших положительных значениях можно добиться возникновения сужения в произвольной точке по высоте объекта (рис. 2.343); Curvature - задает кривизну сужения;

Fillet - задает наличие скругления в верхней и нижней частях деформируемого объекта. На рис. 2.344 приведен один и тот же объект слева с включенным параметром Fillet, справа - с выключенным.

Инструмент деформации Twist (кручение)

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

В качестве исходного объекта создадим, например, примитив Cube (куб), а в главном меню выберем Objects -> Deformation -> Twist.

В окне менеджера Objects разместим деформатор Twist как подобъект исходного объекта Cube (рис. 2.345).

Деформировать объект можно в интерактивном режиме с помощью ручки управления оранжевого цвета, перемещая точку вправо/влево (рис. 2.346) либо изменяя настройки в окне менеджера Attributes (рис. 2.347).

И вот мы разобрали основную рабочую среду, и мы можем приступить к работе. Мы начнем с моделирования. Давайте смоделируем к примеру кухонную плиту. Все начинается с набросков. Можно нарисовать через какую-нибудь программу. К примеру, Paint, Photoshop, Paint tool SAI, но я воспользуюсь обычной бумагой с карандашом. Нам необходимо нарисовать все максимально точно. Понадобится 3 рисунка: спереди, слева/справа, сверху. НО мы моделируем плиту, нам это не понадобится так, как сбоку и сверху ничего интересного не будет. А спереди толком ничего не понять. Так что здесь можно использовать свою фантазию. И так, начнем. Создаем обычный куб и выставляем нужный нам размер. Увеличиваем ему полигональность и конвертируем его для редактирования.


Соединение

Рис 2: Соединение

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

Рис 3: Сплайн


Далее создаем Выдавливание-NURBS и перемещаем наш сплайн в подобъект. Далее выставляем следующие настройки:

Перемещение: X-0 см Y-3 см Z-0 см

Начало - Крышка и фаска

Число сегментов - 4

Вторая такая же. У нас получается такая замечательная ручка.

Рис 4: Готовая ручка


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

Рис 5: Работа над циферблатом


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

Рис 6: Не протекстурированная модель


Далее уже будет чуть посложнее. Теперь мы будет накладывать текстуры на эту плиту. Далее нам можно воспользоваться Adobe Photoshop. Нам нужна текстура метала, конфорок, циферблата и стекла. Хотя стекло мы уже сделаем в Cinema 4D. Начнем. Заходим в Фотошоп и создаем работу 512 на 512 пикселей (Рис 7)

Создание новой работы в Adobe Photoshop CS6

Рис 7: Создание новой работы в Adobe Photoshop CS6.

Далее заходим в Фильтр/Шум/Добавить шум, после чего заходим в Фильтр/Размытие/Размытие в движении. И у нас получится вот такая текстура. (Рис 8) Далее нам нужен циферблат. Ну тут все просто. На черном фоне пишем красным шрифтом предположим 12:00 и добавляем накал. Можно просто скопировать текст и вставить его поверх цифр. После чего заходим в ФильтрРазмытиеРазмытие по гауссу и выбираем наиболее понравившийся нам пример. (Рис 9) Далее нам нужны конфорки. Ну тут ничего сложного, можно круги нарисовать инструментом Перо или обычной кистью (Рис 10)

Текстура конфорок от электрической плиты

Рис 10: Текстура конфорок от электрической плиты.

Металлическая текстура

Рис 8: Металлическая текстура

Рис 9: Циферблат


Стандартный адрес текстур C:/Users/Имя профиля/AppDataRoamingMAXONCINEMA 4D и корневая папка в папке Tex.

Рис 11: Окно настройки текстуры


Наложить текстуру легко. Просто перетащите материал на сам объект, и даже те, которые находятся в подобъекте. Но если они будут иметь свои собственные текстуры, то такого к ним не будет приниматься текстуры, который имеет главный объект. При применении текстур к объекту, она может быть растянута. Она растянута по причине того, что мы не раз деформировали объект. И она будет выглядеть примерно так. (Рис 12) Так как же этого избежать? Тут мы уже переходим в другую компоновку. Она называется BP UV Edit. Она предназначена для создания карты текстуры и правка текстур. (Рис 13)

Стандартная карта текстуризации объекта

Рис 12: Стандартная карта текстуризации объекта.

Рабочая среда BP UV Edit

Рис 13: Рабочая среда BP UV Edit.

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


Далее у нас появится новое окно, в котором мы выбираем какие объекты и материалы нужно подготовить. Материал не отмечаем так, как он у нас уже готов. (Рис 14)

Выбор объектов

Рис 14: Выбор объектов.

Второй шаг оставляем так, как там уже выделено все, что нам нужно.

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

После того, как все будет готово, на объектах, которые не имели текстуру, будут ее иметь. Нам нужно их удалить и присвоить первую текстуру, которую мы делали. Если она тоже стала белой, то во вкладке Цвет присвойте текстуру заново. Ну вот, у нас уже текстуры не растянуты, но они получились довольно крупными. (Рис 15)

Рис 15: Большие текстуры


Так, как нам нужно сменить масштаб, то мы меняем масштаб по U и V. (Рис 17)

Настройка тэга текстуры

Рис 16: Настройка тэга текстуры.

Настроенная текстура

Рис 17: Настроенная текстура.

Далее нам нужно добавить текстуру циферблата. Создаем новый материал, выключаем вкладку цвет и включаем самосвечение и добавляем текстуру. Когда наша текстура готова, нам нужно ее правильно наложить. Выбираем объект, выделяем по полигонам то, где должна быть наша текстура и просто перетаскиваем материал на выделенные полигоны. Он у нас по идее должен лежать не правильно. По этому, мы его выравниваем по U и V. Но в случае с крышкой от духовки, мы так сделать не сможем. Она не имеет текстуры, поэтому если бы наложим на стекло текстуру, то все остальное останется без текстуры. Мы выделяем все полигоны сочетанием клавиш Ctrl + A и снимаем выделение с того места, где у нас будет иметь прозрачную текстуру так, как текстуры накладываются слоями. И вот, наша простенькая модель готова. (Рис 18) Раз уж мы сделали плиту, можно сделать целую кухню. Но нам понадобится больше текстур. Их можно скачать с интернета так, как заготовок текстур в интернете очень много и нам это сэкономит время. Какой будет пол, стены, столы и стулья, все это нужно сначала продумать.

Рис 18: готовая модель


Теперь приступим к моделировании кухни. Мы могли бы создать куб и выдавливать клавишей Ctrl, тем самым создавая стены, но при установки моделей и всяких дополнений, нам стены будут мешаться, поэтому мы сделаем их по отдельности. (Рис 19) Создаем новую сцену и из кубов создаем стены, пол. Потолок сделаем в последнюю очередь так, как он будет нам очень сильно мешаться. Используйте , чтобы делать все максимально ровно. Нажмите на колесо мыши, чтобы у вас редактор поделился на 4 части. (Рис 13) Конвертируйте кубы , сразу в полигональный объект, чтобы было удобно его изменять.

Моделирование комнаты

Рис 19: Моделирование комнаты.


Нам нужны окна и проем для прохода. Для этого, нам нужен Булев. Создаем еще один куб и ставим его в место, где будет наше окно. В подобъект кладем нашу стену и куб. Но, что будет на втором месте, будет невидимым, но если он будет проходить сквозь первый подобъект, то он будет создавать углубление, тем самым создавая нам проем для дверей, окон, проходы и тому подобное. (Рис 20) Далее создаем раму. Создается она путем выдавливания и удаления ненужных полигонов. Копируем тот же куб, который находится в Булев, выделяем его полигоны по бокам и выдавливаем. Полигон по середине удаляем. У нас по бокам остаются дыры, поэтому мы нажимаем правой кнопкой мыши по редактору и выбираем Соединить. Выбираем правку ребер и выбираем 2 ребра, между которыми должен быть полигон. (Рис 21)

Булев

Рис 20: Булев

Рис 21: Соединение


Чтобы наша рама перемещалась вместе с тем невидимым кубом, не надо его класть в подобъект, а то он тоже станет невидимым. Нам нужен Xpresso. Нажимаем правой кнопкой мыши по раме в панели справа и Выбираем Cinema 4D Теги / Xpresso. У нас появилось новое окно, которая называется хгруппа. С панели справа перетаскиваем наши 2 объекта. У рамы нажимаем на красный квадратик, находящийся сверху справа, а у куба на синий, находящийся сверху слева и выбираем обоим Глобальную матрицу и соединяем их. (Рис 22) Теперь при перемещении рамы, у нас еще перемещается и куб.

Рис 22: Редактор XPresso


Далее нам нужно заставить кухню мебелью. Столешницы, полки и тому подобное. Ничего нового не расскажу. Все так же выдавливаем как можно аккуратнее. (Рис 23)

Рис 23: Работа с мебелью


Мы же сделали плиту, как ее добавить в эту сцену? Просто заходите в ФайлИмпорт. Выбираете документ с плитой и готово. Единственная проблема может быть в том, что она может быть либо слишком большой, либо слишком маленькой. Ее можно масштабировать и все. Если бы она содержала Морф точки или Суставы, то было бы на много сложнее ее изменять в размере. Добавляем плиту, масштабируем и вставляем. (Рис 24) Продолжаем добавлять мебель. На углу у нас будет кран. Тут уже будет немного посложнее. Нам придется задействовать новые модификаторы и деформаторы.

Рис 24: Импорт модели


Создаем новую сцену, чтобы нам не мешались посторонние предметы, и создаем Hyper-NURBS . Так же создаем куб и перемещаем его в подобъект. Куб стал больше похож на сферу, наш модификатор его скруглил. Чем больше полигонов он имеет, тем больше он будет сохранять нашу первозданную форму. В списке предметов нажмите на зеленую галочку, чтобы скрыть сглаживание. Задайте ему нужную форму и включите HyperNURBS, чтобы посмотреть, что получилось. (Рис 25) Осталось добавить клапаны и кран. Клапаны легко сделать, просто точно так же, как мы делали основу для крана. Сам кран сделаем немного иначе. Нам нужно создать Sweep-NURBS. В него должно входить 2 сплайна. Первый сплайн будет выдавлен по второму. Значит, чтобы сделать кран, первый сплайн должен быть в вине круга, а второй в виде крюка, и у нас получится кран. Осталось добавить насадку и крепления и все готово. (Рис 26)

Готовый кран

Рис 26: Готовый кран

Рис 25: Сглаживание


Все, что нам осталось сделать, это стол со стулом. Можно добавить еще батарею. И так, стул создаем так же, как и кран. Создаем 2 сплайна, перемещаем их в подобъект Sweep-NURBS, создаем куб, делаем из него седушку используя Hyper-NURBS, накладываем текстуру и готово. Со столом все точно так же. Добавляем маленькие объекты, например розетки, вентиляции, подоконник. Но нам нужно сделать батарею. Ее сделать тоже достаточно просто! Создаем такую плоскость (Рис 27) и выдавливаем ей ребра по Y (Вертикали).

Моделирование батареи

Рис 27: Моделирование батареи.

Далее создаем объект Клон и перемещаем этот фрагмент в клон. Теперь настраиваем клон. Нам нужно изменить всего 2 пункта, во вкладке Объект

П.Y. меняем на 0, П.X. меняем до тех пор, пока не станет похоже на фрагменты батареи. У меня это 30 см. Почему так мало? Я изменил размер сцены для того, чтобы удобнее было управлять камерой. (Рис 28)

Рис 28: Клон


Далее создаем еще клон и создаем основу батареи. И батарея готова. (Рис 29) Осталось добавить трубы. Делаем так же, как и с краном ну и все готово. Для завершения работы, осталось только настроить рендер и освещение. Создаем объект Свет с поверхностной тенью и перемещаем его по центру кухни, на уровне потолка.

Рис 29: Готовая батарея


И последнее, что нам нужно сделать, это настроить рендер. В настройках включаем Окклюзию окружение - оно добавляет дополнительную тень там, где объекты соприкасаются друг к другу. Еще нам нужно добавить Глобальное освещение GI - Оно просчитывает отскоки лучей света от текстур. Она просчитывает какая текстура на сколько отражает так, как у нас имеется много текстур с отражением. Добавляем Накал - наиболее светлые места, он добавляет накал. Выглядит не очень реалистично, но достаточно красиво. В сглаживании включаем максимальное 1 на 1, больше нам не понадобится. В вывод ставим свою ширину и высоту. Я поставлю свое разрешение экрана. Я всегда ставлю 1920 на 1080 так, как это уже считается стандартом. Выбираем правильный ракурс и начинаем рендерить. Это займет от 4 до 20 минут. Смотря, какой у вас процессор. У меня стоит AMD FX9590 на 8 ядер, значит при рендере у меня будет 8 потока. Чем больше ядер, тем быстрее будет рендер. Вот и все, работа выполнена!


Чем удобна предложенная вашему вниманию программа? Ведь что ни говори, но в стране сложилась удивительная ситуация. Многие знают, что существует редактор 3ds Max, многие считают себя специалистами трехмерного моделирования, работая именно с этим редактором, но количество купленных легально пакетов ничтожно мало. С Cinema картина иная. Об этой программе знает меньше людей, но в стране есть законные владельцы данного пакета, хотя их количество могло бы быть и больше. Работая с 3D-пакетами, вы наверняка обращали внимание на то, что некоторые из них слишком уж «тормозят», особенно когда приходится иметь дело с большими файлами и детализированными объектами. Попробуйте ввести такой объект в среду Cinema, и вы увидите, что программа достаточно легко управляет файлами больших размеров, не «вылетая» при этом и не зависая. Это очень важно, если вы хотите получить от своей деятельности нужный результат. К тому же интерфейс редактора легко перенастраивается, каждый из элементов инструментария, образно говоря, лежит на своей полочке, совершенно различные по назначению инструменты не перемешаны, не свалены в одну кучу. Вводить в сцену объекты и модификаторы можно из меню, используя пиктограммы, многие функции доступны через контекстные меню, вызываемые правой кнопкой мыши. Передвигать объект допустимо одной лишь мышкой, используя обе кнопки и колесико прокрутки, для управления камерой служат они же, но при нажатой клавише Alt. Подобное управление знакомо по работе с Maya, с которой много общего и при выполнении ряда более сложных преобразований.

С чего начать статью, чтобы, прочитав ее, вы смогли научиться работать с основными инструментами данной программы и моделировать трехмерные объекты? Это вовсе не праздный и не риторический вопрос, ведь, как это принято большинством авторов книг и статей, призванных помочь человеку овладеть какой-либо программой, здесь также можно было бы долго и нудно рассказывать об основных операциях, командах меню, настройках вида окна программы, о том, как открывать документы и вводить в сцену новые объекты… В общем, прочитав вроде бы новый для себя материал, читатель в очередной раз так и не понял бы, как же работать с понравившейся ему программой. Поэтому не будем отвлекаться на то, что и так известно продвинутому пользователю. В крайнем случае узнаете сами. Замечу только, что и в самых, казалось бы, общеизвестных и простых командах скрываются порой некоторые нюансы. Ну например. Какая операция подразумевается под командой File • Merge (ввести, поместить)? То же самое, что и при операции Paste (ввести в документ объект, фрагмент изображения, информацию о состоянии объекта и др., скопированное из буфера)? Нет. Впрочем, ничего сложного, Merge — это аналог команды Import (импорт), и с ее помощью в сцену можно ввести новый объект. В качестве такового может выступать трехмерная модель какого-либо из воспринимаемых форматов, двумерное изображение, кривая и др. Более подробно о командах Import, Merge и ряде других читайте во врезке «Малоизвестное об общеизвестных командах». Но давайте, как и было обещано, после минимума важной и необходимой информации поскорее перейдем к конкретным вещам, которые позволят нам вместе осуществить задуманное. И еще не помешало бы вам прочесть статью о Cinema 4D 10-й версии, опубликованную в журнале «Мир ПК», №10/07, с. 95.

Примитивы, группирование и модификаторы

Очень часто сложные на первый взгляд трехмерные объекты создаются самыми простыми способами. Речь идет о простейших преобразованиях, в основе которых лежат такие операции, как изменение позиции объекта (перемещение и вращение), изменение его размеров по одной, двум или трем осям, группирование. Для наглядности представьте себе: если шар вытянуть по одной из осей, а по двум другим сжать, по форме он станет напоминать копье. Для большей схожести понадобятся текстуры, а после применения карты выпуклостей или небольших изменений полигональной сетки с помощью магнита объект действительно будет походить на копье. Группирование относится к простейшим методам моделирования, но с его помощью создаются здания, различные сооружения, военная техника и многое другое. Например, чтобы изобразить булаву, понадобятся такие примитивы (подробнее о примитивах см. ниже), как шар, несколько конусов, два-три цилиндра. При построении зданий чаще всего используют такие примитивы, как куб, несколько реже — шар, конус, капсулу, тор, цилиндр…

На что еще стоит обратить внимание, прежде чем приступить к работе с редактором Cinema 4D? Для выделения объекта следует щелкнуть по нему или по его надписи (пиктограмме) в менеджере Objects (менеджер объектов) (рис. 2, пикт. 3). Команда Delete удаляет выделенный объект. Обычно после ввода примитива в сцену с ним сразу можно выполнять операции по его преобразованию. Во многих случаях такой подход эффективен и в C4D. Но для получения доступа к ряду сложных преобразований необходимо сначала выполнить команду Make Object Editable («горячая» клавиша C или щелчок по пиктограмме 2 на рис. 2).

И еще. В Cinema 4D по умолчанию используются единицы измерения в метрах (м). Но вы имеете возможность назначить такую единицу измерения, которая вам потребуется. Конечно же, эти единицы виртуальные и относительные. На экране монитора вы не увидите разницы во внешнем облике объектов и моделей, задав единицу измерения в миллиметрах, метрах, километрах… Внешне ничего не изменится по той причине, что автоматически и пропорционально изменятся все размеры всех объектов. Но если вы импортируете объект, созданный в другом редакторе или с другими установками, может случиться, что он окажется довольно большим или маленьким по сравнению с вашими сооружениями. В этом случае, образно говоря, все размеры следует привести к единому знаменателю, т. е. выбрать такую единицу измерения, которая для данного случая является наиболее подходящей и соответствует уже заданным параметрам. Разница в размерах может быть колоссальной, чаще всего в 100 или 1000 раз. Это примерно то же самое, как если бы сравнивались два объекта длиной в 100 единиц каждый, но в одном случае единица равна 1 мм, а в другом — 1 м. Тот, кто вводил объекты, например, из Poser в Cinema 4D или 3ds Max с установками, заданными разработчиками, мог столкнуться с подобной проблемой. Правильный подбор единиц измерения также важен при выполнении точных построений по чертежам, когда моделируемые объекты сравниваются и взаимосвязаны.

Примитивы (Primitives)

Примитивы — простые трехмерные объекты, преобразуя и сочетая которые получают более сложные формы. Примитивы входят в библио-теки любого редактора трехмерной графики. В качестве примитивов чаще всего выступают шар, куб, тор, конус, цилиндр, плоские фигуры в виде квадрата, круга или треугольника, а также более сложные объекты. Выбираются примитивы в Cinema 4D посредством команды меню: Objects • Primitive • Cone (Cube, Cylinder, Sphere, Capsule или другой примитив из предложенного списка). Другой способ их ввода в сцену подразумевает щелчок по пиктограмме в виде куба (рис. 2, пикт. 1). Стоит обратить внимание на ряд особенностей, которые следует учитывать, воздействуя на примитивы с помощью модификаторов. Дело в том, что каждый из объектов (примитивов) имеет свои настройки, которые можно изменять, как и настройки модификаторов. От того, какие значения заданы для каждого из параметров того или иного примитива, зависит и результат вашей деятельности. Поэтому, прежде чем продолжить работу, присмотритесь к предлагаемым разработчиками примитивам повнимательнее. Более того, запомните приведенное ниже правило и не пренебрегайте им. Всегда начинайте работу с изучения свойств того или иного примитива, того или иного модификатора, чтобы в дальнейшем использовать полученные сведения наиболее эффективно. К сожалению, сколько же лишней работы проделывают начинающие специалисты 3D-моделирования только из-за того, что они с ходу берутся за дело, не утруждая себя изучением тех самых свойств используемых ими объектов. Особенно это касается случаев, когда строятся сложные трехмерные модели. Происходит накопление ошибок, на исправление которых уходит масса времени, а то и вовсе всю работу приходится выполнять заново. Рассмотрим же поподробнее некоторые из примитивов.

Шар (Sphere)

Рис. 3. Распределение полигонов при построении шара может быть разным

По умолчанию объект Sphere состоит из 24 сегментов (полигонов). Это значение прописывается в менеджере Attributes (атрибуты, установки), рис. 2 справа, пикт. 5. Чтобы поверхность шара выглядела более гладко, количество сегментов увеличивают. Чем их больше, тем точнее выполняются преобразования, тем более детализированной может быть конечная модель. Стоит заметить, что большое количество полигонов требует и повышенных требований к ресурсам и оборудованию. Именно по этой причине для моделей, используемых в компьютерных играх и выступающих в качестве виртуальных актеров второго плана при создании кинофильмов, количество полигонов, из которых они состоят, ограничивают. Как известно, полигоны чаще всего бывают трех- и четырехугольными, реже — многоугольными. Состоят они из вершин, граней и собственно плоскости полигона. Воздействовать допустимо на любой из элементов полигона. Есть еще такой элемент, как нормаль, — вектор, направленный перпендикулярно к поверхности полигона. Именно исходя из положения нормали выстраивается изображение объекта, учитывается степень и направление освещения, распределение теней и пр. Существуют полигоны односторонние и двусторонние. Первые характеризуются тем, что имеют лишь одну нормаль, и направлена она к плоскости полигона с одной стороны. По этой причине такой полигон с одной стороны виден, а с другой — нет. Точно так же и шар или иной объект, построенный из односторонних полигонов, отображается лишь с наружной стороны. Изнутри такого объекта полигоны увидеть нельзя. У двусторонних полигонов нормали направлены к его плоскости с двух сторон, соответственно модель, созданная из таких полигонов, видна как снаружи, так и изнутри. Есть следующие типы построения объекта Шар с помощью полигонов: Standard, Tetrahedron, Hexahedron, Octahedron, Icosahedron, Hemisphere. Как можно видеть (рис. 3), распределение полигонов в зависимости от выбранного типа построения меняется. Это обстоятельство можно использовать при полигональном моделировании трехмерных моделей, выбирая наиболее удобное распределение полигонов. Например, для моделирования головы персонажа, возможно, лучше выбрать тип Tetrahedron или Hexahedron, а не Standard.

Куб (Cube)

Этот примитив изначально имеет всего лишь по одному сегменту на каждую из своих сторон (Segment по X, Y, Z равно 1, см. менеджер Attributes, колонка Object). Если в дальнейшем с моделью, основанной на таком кубе, не будут выполняться сложные преобразования, можно оставить данные значения без изменений. В противном случае количество разбиений нужно увеличивать. Говоря другими словами, если из куба создается стена здания или само здание, стены которого не имеют сложных выступов, не стоит усложнять себе задачу — оставьте предлагаемые установки без изменений. Но если куб подвергается сложным деформациям и преобразованиям, операциям, связанным с полигональным моделированием, количество сегментов нужно увеличивать. Впрочем, эту операцию можно оставить и на потом. Cinema располагает инструментарием, например HyperNURBS, благодаря которому можно выполнять сложные построения и позже. Обратите также внимание на команды Fillet (фаска, скругление кромки, грани), Fillet radius (радиус скругления), Fillet Subvision (количество разбиений: чем их больше, тем более плавно выглядят элементы закруглений). С их помощью можно легко превратить куб, например, в подушку для дивана.

Конус (Cone)

Рис. 4. Спускаемый аппарат КК «Союз» и летающая тарелка не что иное, как слегка преобразованные примитивы Cone и Torus

Еще один примитив, на который предлагаю вам обратить внимание, — конус. Его характеристики позволяют ему легко превращаться в усеченный конус или цилиндр. Начальные установки подразумевают, что верхний радиус (Top radius) рассматриваемого объекта имеет значение, равное нулю. Если увеличить это значение, мы получим усеченный конус, а если верхний и нижний диаметры (Bottom radius) будут равны, конус станет цилиндром. Влияя на кромку (Fillet), подобрав нужные значения для верхнего и нижнего радиусов, конус можно превратить, например, в капсулу спускаемого аппарата космического корабля «Союз»
(рис. 4).

Тор (Torus)

Иногда тор называют кольцом. Геометрически его образовывает окружность (круг) или эллипс при движении по направляющей в виде окружности или эллипса, как правило, несколько большего диаметра по сравнению с образующим объектом. Если уменьшить количество элементов тора, образующих кольцо Ring Segments, до трех—шести, можно получить плавательный надувной круг. Если же уменьшить до трех или четырех количество элементов Pipe Segments (сегментов образующего кольца) и увеличить радиус Pipe Radius (дословно — радиус трубы, по сути — радиус образующего кольца), тор станет напоминать летающую тарелку (рис. 4).

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

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

Пример 1

В результате должна получиться стрела — примерно такая, как на рис. 5.

Откройте редактор Cinema 4D, введите в сцену объект Cylinder. По умолчанию он ориентирован по оси Y, если это не так, установите требуемое в менеджере объектов (Orientation +Y).

Читайте также: