Моделирование в Cinema 4D. Курс молодого бойца. Часть 8
Итак, после небольшого перерыва продолжаем уроки по моделированию в Cinema4D, при этом напомним, что в их рамках мы рассматриваем практические вопросы визуализации дизайна интерьеров — одной из самых популярных тем в области 3D. Нужно отметить, что потребность в подобных вещах есть практически везде, начиная с кино и заканчивая заказами по дизайн-проектам. В большинстве случаев, если мы не говорим об играх, требуется высокополигональное (hi-poly) моделирование. Нужно понимать, что при таком варианте все ресурсы нужно экономить, потому как готовая сложная сцена со светом высчитывается довольно долго. И тут, конечно, есть много ухищрений — клонирование, уменьшение количества полигонов и использование вариантов mid-poly, оптимизация размеров текстурных карт, расчет, ориентированный на конкретную точку просмотра, и так далее. Итак, приступим.
Делаем модель дивана
В прошлом уроке я показал пример того, как можно делать подушки с помощью инструмента Magnet, но в силу недостатка времени описал все общими словами. Сегодня мы сделаем полноценную модель, которую будем использовать в рамках нашего интерьера.
Вот так выглядит наш диван, который моделируется из отдельных частей
На рисунке показана уже готовая модель, а также составные элементы, которые она в себя включает. Назовем их:
. Две одинаковые подушки с пуговицами. Материал — велюр, цвет — бежевый.
. Сиденье. Материал — кожа, цвет — темно-коричневый.
. Спинка. Материал — кожа, цвет — темно-коричневый.
. Подставка под сиденье. Материал — дерево. Цвет — темно-коричневый, структура — орех.
. Боковины спинки. Материал — велюр. Цвет — бежевый.
. Ножки. Цвет — черный.
Итак, приступаем. Для начала берем самый сложный элемент — подушки. Их (как и сам диван) лучше всего делать в отдельном проекте, потому как обсчет всей сцены при моделировании нам не особенно нужен. Главное — это соблюсти пропорции и размеры, чтобы потом не пришлось их подстраивать отдельно. Поэтому в рамках сцены мы прикидываем, где находится диван и его высоту (если работаете по схеме — это сделать проще). Затем добавляем объект-примитив куб и подстраиваем его размеры так, чтобы они соответствовали одной подушке дивана. Получившийся параллелепипед копируем, создаем новый проект и помещаем в него.
Как я писал в прошлом уроке, двигаться можно двумя путями, а именно:
. работать сразу с высокополигональной сеткой;
. работать в низкополигональном представлении, изменяя положения ключевых вершин, после чего использовать инструмент-модификатор сглаживания формы за счет увеличения полигонов — HyperNURBS.
Для создания подушек используем инструмент Magnet
По результатам оба варианта могут быть идентичными, хотя на самом деле гораздо удобнее использовать первый вариант.
Итак, у нас есть параллелепипед, сделанный путем изменения размеров сторон объекта Cube. Пока все находится в NURBS-режиме, то есть Cube является обычной математической моделью, параметры которой можно редактировать. В данном случае кроме размеров нас интересуют еще две вещи: количество сегментов разбиения по X, Y и Z, а также скругление граней объемной фигуры — параметр Fillet.
В моем случае я разбил на 24 сегмента по Y и Z, 5 сегментов по X, сделал активным флажок Fillet и уменьшил радиус скругления до нужного. В данном случае наличие мелких вмятинок для придания большей реалистичности не так важно; если вы хотите их реализовать, то потребует разбиение на большее количество сегментов.
Теперь настал черед использования инструмента Magnet. Как и множество других модификаторов/инструментов, он работает только с вершинами, поэтому нам нужно перевести объект в полигональное представление (клавиша «C»). Затем вызываем инструмент Magnet (M~I или находим его в главном меню Structure). Инструмент очень быстро и легко настраивается. Пожалуй, одним из главных параметров является Radius — радиус действия магнита, изменяя его, вы можете выдавливать как отдельные вершины, так и области вокруг них. Например, в местах, где у нас есть пуговицы, нужны такие мощные вмятины, но потом их нужно подкорректировать магнитом с меньшим радиусом действия. Сама лепка производится довольно быстро.
После того как подушка готова, нужно добавить пуговицы. В моем случае они сделаны просто из одного 3D-примитива Oil Tank, который после три раза склонирован (Instance).
Спинка делается из объекта Cube со скругленными углами. После перевода в полигональное представление, перенося вершины, делаем изгиб
Следующим этапом делаем спинку. Она у нас имеет не совсем правильную форму, поскольку скруглена по всем сторонам, но при этом в области подушек она сгибается, тем самым утончаясь вверху. Ее также довольно просто сделать из объекта Cube, но при этом мы разбиваем его по оси Y всего на два сегмента. Затем переводим объект в полигональное представление и смещаем верхние точки. Конечно, многие бы в данном случае могли прибегнуть к использованию специального модификатора (Bulge, Taper или FFT), но в данном случае быстрее получается работа на уровне полигонов. В случае, когда у вас имеется мелкая сетка и нужно произвести нечто подобное, наиболее удобным модификатором будет FFT.
По аналогии со спинкой делаются боковины, причем их можно делать и прямо из нее, используя инструмент Scale.
Сиденье у нас является стандартным параллелепипедом со скругленными углами; как его делать, пояснять уже не требуется. А подставка под сиденье и ножки — это обычные примитивы, сделанные из кубов, причем ножки также делаются из одного объекта и трех клонов от него.
Итак, диван готов, теперь нужно добавить к нему материалы.
Материалы для дивана
Самыми сложными элементами в области материалов являются велюр и кожа. В принципе, можно воспользоваться специальными библиотеками материалов, которые имеются в комплекте поставки программы, но можно и подумать самим.
Итак, давайте подумаем сначала о материале велюр. Создаем новый и начинаем настраивать параметры. Он не бликует на свету, поэтому параметр Specular просто отключаем.
. Цвет (Color) выбираем бежевый. В моем случае RGB соответственно 202, 198, 177.
. Блика как такового нет, но освещенность материала происходит неравномерно, поэтому включаем пункт Luminance и в качестве его текстуры просто загружаем вариант Fresnel. Устанавливаем параметр Brightness в 100%.
. Велюр является материалом структурным, но эта структура очень мелкая, поэтому включаем пункт Bump и в качестве текстуры для него выбираем вариант Tiles, который находится в закладке выпадающего меню Surfaces. Устанавливаем параметр Strength в пределы 7-15%.
Все, материал готов, при желании вы можете поэкспериментировать с выбранными настройками самостоятельно. Помимо этого, меняя текстуры выдавливания в Bump, вы можете получить различные типы тканей схожего типа.
Теперь перейдем к материалу кожа.
. Она бликует на свету, но при этом настройки Specular, которые даются по умолчанию, соответствуют пластику, что нам не очень подходит, поэтому нужно увеличить размеры самого блика по высоте и ширине.
. В качестве карты выдавливания для Bump можно использовать любое изображение с кожей, где есть ярко выраженные переходы (Bump работает по яркостному, то есть ч/б каналу). Вместе с тем, если такового нет под рукой, вполне может подойти и текстура Distorter, которую можно найти в закладке выпадающего меню Effects.
. Цвет настраиваем по своему усмотрению.
Материал дерево был взят просто из графического файла с текстурой, каких в Интернете можно найти в огромном количестве, причем каждый моделер должен иметь подобный банк.
Все, диван готов.
Столик
По предложенной нами схеме предусмотрен стандартный вариант ячеек, состоящих из двух диванов и столика между ними. Пройдясь по каталогам, посетив кафе или бары, вы можете увидеть множество вариантов дизайна столешниц и ножек. В данном случае я создал свой, он показан на отдельной иллюстрации. Думается, что реализация такового для тех, кто успешно прошел предыдущие уроки, не составит никакого труда.
Стол, основные элементы конструкции
А впрочем, поясню. Итак, основные боковые несущие смоделированы из трех объектов: ножек, велюровой вставки и фигурной деревянной панели. Последняя сделана с помощью сплайновой кривой и модификатора выдавливания ExtrudeNURBS. Столешница состоит из двух элементов — рамы (два параллелепипеда, помещенных в Bool) и стекла (параллелепипед).
Если вы хотите сделать стекло с определенным узором, то вам понадобится рисунок этого узора и объект типа Plane. Затем вы переводите изображение узора в черно-белый вид и создаете специальный материал, в котором помещаете этот рисунок в пункт Alpha, сделав его активным. В результате получите трафарет, в котором останутся только черные или только белые области. Затем выбираете нужный цвет и устанавливаете готовую панель в стеклянную поверхность стола.
Вставляем ячейки в основной файл проекта
После того, как мы сделали ячейку из двух диванов и стола, причем второй диван в ней является не скопированным, а клоном Instance, мы сохраняем этот файл, после чего группируем все объекты в один и копируем его. Затем переходим к файлу основного проекта, куда и вставляем нашу ячейку. Располагаем ее в необходимом месте, после чего делаем от нее клоны и расставляем их.
Готовая ячейка из двух диванов и стола
Разница между копированием и клонированием довольно большая. Мы это не раз обсуждали, но стоит сказать об этом и сейчас. Чтобы понять, что происходит, попробуйте вместо клонирования использовать копирование (Ctrl+C/Ctrl+V), и вы сами увидите, что при повороте сцены в режиме редактирования расчеты идут медленнее, а визуализация производится дольше. Дело в том, что при клонировании базовая структура того или иного объекта просчитывается программой один раз, отличия проявляются только в расчетах света и т.п. При копировании каждый объект является самостоятельной единицей и рассчитывается отдельно.
Вставляем ячейки в основной файл проекта
Задачи на самостоятельное освоение
Для красоты визуализации желательно, чтобы на столиках располагались какие-нибудь элементы, такие как тарелки, чашки, вилки, ложки, салфетки, вазы с цветами. Поскольку все это представляет собой, по существу, основы моделирования, которые мы также рассматривали раньше, рекомендуется создать такие элементы самостоятельно. Причем разложить их лучше в отдельной конфигурации для каждого столика.
Кристофер http://itcs.3dn.ru
Делаем модель дивана
В прошлом уроке я показал пример того, как можно делать подушки с помощью инструмента Magnet, но в силу недостатка времени описал все общими словами. Сегодня мы сделаем полноценную модель, которую будем использовать в рамках нашего интерьера.
Вот так выглядит наш диван, который моделируется из отдельных частей
На рисунке показана уже готовая модель, а также составные элементы, которые она в себя включает. Назовем их:
. Две одинаковые подушки с пуговицами. Материал — велюр, цвет — бежевый.
. Сиденье. Материал — кожа, цвет — темно-коричневый.
. Спинка. Материал — кожа, цвет — темно-коричневый.
. Подставка под сиденье. Материал — дерево. Цвет — темно-коричневый, структура — орех.
. Боковины спинки. Материал — велюр. Цвет — бежевый.
. Ножки. Цвет — черный.
Итак, приступаем. Для начала берем самый сложный элемент — подушки. Их (как и сам диван) лучше всего делать в отдельном проекте, потому как обсчет всей сцены при моделировании нам не особенно нужен. Главное — это соблюсти пропорции и размеры, чтобы потом не пришлось их подстраивать отдельно. Поэтому в рамках сцены мы прикидываем, где находится диван и его высоту (если работаете по схеме — это сделать проще). Затем добавляем объект-примитив куб и подстраиваем его размеры так, чтобы они соответствовали одной подушке дивана. Получившийся параллелепипед копируем, создаем новый проект и помещаем в него.
Как я писал в прошлом уроке, двигаться можно двумя путями, а именно:
. работать сразу с высокополигональной сеткой;
. работать в низкополигональном представлении, изменяя положения ключевых вершин, после чего использовать инструмент-модификатор сглаживания формы за счет увеличения полигонов — HyperNURBS.
Для создания подушек используем инструмент Magnet
По результатам оба варианта могут быть идентичными, хотя на самом деле гораздо удобнее использовать первый вариант.
Итак, у нас есть параллелепипед, сделанный путем изменения размеров сторон объекта Cube. Пока все находится в NURBS-режиме, то есть Cube является обычной математической моделью, параметры которой можно редактировать. В данном случае кроме размеров нас интересуют еще две вещи: количество сегментов разбиения по X, Y и Z, а также скругление граней объемной фигуры — параметр Fillet.
В моем случае я разбил на 24 сегмента по Y и Z, 5 сегментов по X, сделал активным флажок Fillet и уменьшил радиус скругления до нужного. В данном случае наличие мелких вмятинок для придания большей реалистичности не так важно; если вы хотите их реализовать, то потребует разбиение на большее количество сегментов.
Теперь настал черед использования инструмента Magnet. Как и множество других модификаторов/инструментов, он работает только с вершинами, поэтому нам нужно перевести объект в полигональное представление (клавиша «C»). Затем вызываем инструмент Magnet (M~I или находим его в главном меню Structure). Инструмент очень быстро и легко настраивается. Пожалуй, одним из главных параметров является Radius — радиус действия магнита, изменяя его, вы можете выдавливать как отдельные вершины, так и области вокруг них. Например, в местах, где у нас есть пуговицы, нужны такие мощные вмятины, но потом их нужно подкорректировать магнитом с меньшим радиусом действия. Сама лепка производится довольно быстро.
После того как подушка готова, нужно добавить пуговицы. В моем случае они сделаны просто из одного 3D-примитива Oil Tank, который после три раза склонирован (Instance).
Спинка делается из объекта Cube со скругленными углами. После перевода в полигональное представление, перенося вершины, делаем изгиб
Следующим этапом делаем спинку. Она у нас имеет не совсем правильную форму, поскольку скруглена по всем сторонам, но при этом в области подушек она сгибается, тем самым утончаясь вверху. Ее также довольно просто сделать из объекта Cube, но при этом мы разбиваем его по оси Y всего на два сегмента. Затем переводим объект в полигональное представление и смещаем верхние точки. Конечно, многие бы в данном случае могли прибегнуть к использованию специального модификатора (Bulge, Taper или FFT), но в данном случае быстрее получается работа на уровне полигонов. В случае, когда у вас имеется мелкая сетка и нужно произвести нечто подобное, наиболее удобным модификатором будет FFT.
По аналогии со спинкой делаются боковины, причем их можно делать и прямо из нее, используя инструмент Scale.
Сиденье у нас является стандартным параллелепипедом со скругленными углами; как его делать, пояснять уже не требуется. А подставка под сиденье и ножки — это обычные примитивы, сделанные из кубов, причем ножки также делаются из одного объекта и трех клонов от него.
Итак, диван готов, теперь нужно добавить к нему материалы.
Материалы для дивана
Самыми сложными элементами в области материалов являются велюр и кожа. В принципе, можно воспользоваться специальными библиотеками материалов, которые имеются в комплекте поставки программы, но можно и подумать самим.
Итак, давайте подумаем сначала о материале велюр. Создаем новый и начинаем настраивать параметры. Он не бликует на свету, поэтому параметр Specular просто отключаем.
. Цвет (Color) выбираем бежевый. В моем случае RGB соответственно 202, 198, 177.
. Блика как такового нет, но освещенность материала происходит неравномерно, поэтому включаем пункт Luminance и в качестве его текстуры просто загружаем вариант Fresnel. Устанавливаем параметр Brightness в 100%.
. Велюр является материалом структурным, но эта структура очень мелкая, поэтому включаем пункт Bump и в качестве текстуры для него выбираем вариант Tiles, который находится в закладке выпадающего меню Surfaces. Устанавливаем параметр Strength в пределы 7-15%.
Все, материал готов, при желании вы можете поэкспериментировать с выбранными настройками самостоятельно. Помимо этого, меняя текстуры выдавливания в Bump, вы можете получить различные типы тканей схожего типа.
Теперь перейдем к материалу кожа.
. Она бликует на свету, но при этом настройки Specular, которые даются по умолчанию, соответствуют пластику, что нам не очень подходит, поэтому нужно увеличить размеры самого блика по высоте и ширине.
. В качестве карты выдавливания для Bump можно использовать любое изображение с кожей, где есть ярко выраженные переходы (Bump работает по яркостному, то есть ч/б каналу). Вместе с тем, если такового нет под рукой, вполне может подойти и текстура Distorter, которую можно найти в закладке выпадающего меню Effects.
. Цвет настраиваем по своему усмотрению.
Материал дерево был взят просто из графического файла с текстурой, каких в Интернете можно найти в огромном количестве, причем каждый моделер должен иметь подобный банк.
Все, диван готов.
Столик
По предложенной нами схеме предусмотрен стандартный вариант ячеек, состоящих из двух диванов и столика между ними. Пройдясь по каталогам, посетив кафе или бары, вы можете увидеть множество вариантов дизайна столешниц и ножек. В данном случае я создал свой, он показан на отдельной иллюстрации. Думается, что реализация такового для тех, кто успешно прошел предыдущие уроки, не составит никакого труда.
Стол, основные элементы конструкции
А впрочем, поясню. Итак, основные боковые несущие смоделированы из трех объектов: ножек, велюровой вставки и фигурной деревянной панели. Последняя сделана с помощью сплайновой кривой и модификатора выдавливания ExtrudeNURBS. Столешница состоит из двух элементов — рамы (два параллелепипеда, помещенных в Bool) и стекла (параллелепипед).
Если вы хотите сделать стекло с определенным узором, то вам понадобится рисунок этого узора и объект типа Plane. Затем вы переводите изображение узора в черно-белый вид и создаете специальный материал, в котором помещаете этот рисунок в пункт Alpha, сделав его активным. В результате получите трафарет, в котором останутся только черные или только белые области. Затем выбираете нужный цвет и устанавливаете готовую панель в стеклянную поверхность стола.
Вставляем ячейки в основной файл проекта
После того, как мы сделали ячейку из двух диванов и стола, причем второй диван в ней является не скопированным, а клоном Instance, мы сохраняем этот файл, после чего группируем все объекты в один и копируем его. Затем переходим к файлу основного проекта, куда и вставляем нашу ячейку. Располагаем ее в необходимом месте, после чего делаем от нее клоны и расставляем их.
Готовая ячейка из двух диванов и стола
Разница между копированием и клонированием довольно большая. Мы это не раз обсуждали, но стоит сказать об этом и сейчас. Чтобы понять, что происходит, попробуйте вместо клонирования использовать копирование (Ctrl+C/Ctrl+V), и вы сами увидите, что при повороте сцены в режиме редактирования расчеты идут медленнее, а визуализация производится дольше. Дело в том, что при клонировании базовая структура того или иного объекта просчитывается программой один раз, отличия проявляются только в расчетах света и т.п. При копировании каждый объект является самостоятельной единицей и рассчитывается отдельно.
Вставляем ячейки в основной файл проекта
Задачи на самостоятельное освоение
Для красоты визуализации желательно, чтобы на столиках располагались какие-нибудь элементы, такие как тарелки, чашки, вилки, ложки, салфетки, вазы с цветами. Поскольку все это представляет собой, по существу, основы моделирования, которые мы также рассматривали раньше, рекомендуется создать такие элементы самостоятельно. Причем разложить их лучше в отдельной конфигурации для каждого столика.
Кристофер http://itcs.3dn.ru
Компьютерная газета. Статья была опубликована в номере 28 за 2011 год в рубрике soft