Сегодня: Суббота, 27.04.2024, 06:03 (МСК)| Здравствуйте, Гость| Мой профиль | Регистрация | Вход | RSS

Работаем с VirtualDub

Визуальная среда Flowstone

Эргономика компьютерных клавиатур

Новинки в области цифровых камер

Adobe Audition 3. Лучшая в 2010-м
Главная » 3D-МОДЕЛИРОВАНИЕ И АНИМАЦИЯ

Анимация в Cinema4D. Листая страницы

20.04.2011

Недавно пришло письмо со следующей просьбой:

«Здравствуйте, я, будучи новичком в области 3Д-моделирования, хотел бы попросить вас написать статью (или хотя бы указать мне на основные моменты для дальнейшего "исследования" необходимых для создания книги функций Cinema 4D) о создании модели книги в Cinema 4D, с возможностью перелистывания страниц и размещения конкретной информации на этих страницах. Поиски в сети привели меня либо к моделям книг ввиде единого блока, либо к замудренным туториалам, тянущим за собой бесконечную цепочку дополнительной литературы для их же понимания. Вся надежда на вас :)»

После уточнения было добавлено: 

«…мне нужна 3Д книга на страницах которой мне нужно разместить видео (благо интегрировать Cinema 4D с After Effects я умею, и АЕ уже более привычная среда, далее все понятно:). То есть нужно чтобы открылась обложка, и далее энное количество страниц по одной с небольшой паузой (в принципе, длина пауз роли здесь не играет - это все в АЕ).

В общем, задание понятно. 
Итак, давайте подумаем, что же в данном случае будет представлять из себя книга так таковая. 
  • 1-й элемент — обложка с корешком. 
  • 2-й элемент — массив внутренних страниц, которые не видны, но при открытии разворачиваются на две части.
  • n-е элементы — внутренние страницы, которые листаются. 


Планы реализации анимации


В данном случае можно применить четыре типа реализации анимации, в зависимости от чего и выстраивать моделирование. Перечислим возможные варианты:
  1. Запись изменений положения объектов (или их отдельных точек) по ключевым кадрам.
  2. Нанизывание объектов на «кости», то есть, скелетная анимация. 
  3. Использование Morph. 
  4. Использование динамики и панелей с функциональными характеристиками Cloth (тег и все, что с ним связано).
Третий и четвертый являются самыми сложными для понимания новичка, первый имеет ряд недостатков, поэтому мы возьмем в оборот только второй, то есть реализуем все за счет скелетной анимации. В рамках этого материала я покажу основные приемы, а тюнинг — уже за вами. 


Моделируем обложку


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

Давайте прикинем размеры, где в основном нас интересует ширина. Для примера я взял вариант 200 м (лицевая, задняя) и 50 м корешок. Затем в рабочую область я помещаю панель Panel с размерами 400 м на 450 м (450 в ширину — обязательно), после чего из главного меню Character открываю пункт Soft IK/Bones, где выбираю Bone. Тем самым я добавил кость. По умолчанию ее длина составляет 200 м, что нам подходит, теперь мы ставим этот объект точно к правому краю панели, а острый угол этой кости должен быть направлен в середину панели. ОК.


Загрузили панель, создаем скелет из трех звеньев (костей) для него

Теперь лучше перейти в окно просмотра вида спереди Front (или сзади Rear). В нем мы нажимаем на оранжевую точку острого конца имеющейся кости, и, удерживая клавишу Ctrl, вытягиваем из нее дочернюю. Подгоняем ее размеры (50 м), а после из этой дочерней вытягиваем еще одну, длиной 200 м. Все три кости должны быть расположены на одной прямой. Причем в менеджере объектов все отобразится в виде иерархии Bone->Bone->Bone. Так и должно быть. Красные крестики, стоящие напротив каждой кости обозначают, что те не зафиксированы, то есть, не связаны с конкретным объектом. 



Теперь вы уже можете опробовать свой вариант скелетной анимации, для этого в менеджере объектов перенесите указателем мыши нашу тройку костей в подобъект панели Panel, а затем зайдите в свойства главной кости. Там в закладке Fixation нажмите кнопку Fix with Children (зафиксировать вместе с дочерними). Внешне изменения, вступившие после этой операции можно увидеть, во-первых, в менеджере объектов — красные крестики поменялись на зеленые птички:). Во-вторых, теперь вы можете опробовать работу созданного скелета, для чего просто выберите инструмент вращения и поменяйте положение одной из двух последних костей. Как результат? Не очень. Дело в том, что в данном случае кости работают в режиме воздействия на некоторые области вокруг них, не более того. Нам же нужно, чтобы воздействие происходило целиком на всю обложку. 

Для этого, переходим к окну просмотра перспективной проекции (там удобнее), переносим точку просмотра над панелью Panel, в менеджере объектов выбираем одну из костей, после чего из главного меню Character открываем пункт Soft IK/Bones, где находим Claude Bonet. 


Распределяем область влияния с использованием Claude Bonet

Это специальный и очень удобный инструмент, который позволяет рисовать/указывать области воздействия той или иной кости. В нашем случае мы настраиваем параметр Strength как 100%, а Radius указываем как 20%. 



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

Все, скелет готов, и при желании, вы даже можете оставить имеющуюся панель в качестве основной обложки. Я предусмотрел более объемный вариант, поэтому, оставив уже готовый и настроенный скелет, удалил Panel, потом перешел в окно просмотра спереди, и из сплайновых примитивов добавил Rectangle (прямоугольник), сделав его очень тонким (высота 4 м) со скругленными углами (ширина, естественно, 450 м). Затем в местах соединения костей у корешка книги добавил точки. Это можно сделать как вручную Add Point, так и с помощью ножа Knife — оба варианта доступны в контекстном меню по нажатию правой кнопкой мыши над сплайном. 


Воспользовавшись настроенным скелетом, меняем панель на кривую, которую после помещаем в Extrude NURBS — объемная открывающаяся обложка

Затем я сделал скелет дочерним к объекту Spline, зафиксировал его, а сам Spline поместил в модификатор Extrude NURBS. В результате получилась прекрасная объемная обложка, которая может красиво и правильно раскрываться. 



Рекомендую поступить также, потому как некоторые следующие объекты мы будем строить на связке: «кривые, описывающие сечения + скелет».

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


Моделирование массивов внутренних страниц


Эти массивы должны открываться вместе с обложкой и раскладывать книжку на две части. Если мы говорим о толстых книгах, то при их открытии страницы раскладываются с изгибом. Это, конечно, сложный случай, но… вполне реализуемый, причем делается он гораздо проще, чем в варианте с обложкой, а именно, мы создаем два прямоугольных по сечению объекта и для каждого из них делаем скелет. При этом стоит помнить, что если вы используете в качестве основы сплайн-примитив Rectangle, то ему нужно добавить точек, что делается обычно с помощью Knife. 


Вот такие скелеты…


Внутренние перелистываемые страницы


В данном случае лучше создать одну такую страницу, и использовать ее в качестве шаблона для множества других. Самый быстрый, и, наверное, правильный способ — это использование панели, и связанного с ней скелета, управление которым мы рассмотрели, говоря об использовании Claude Bonet. Это, во-первых. Во-вторых, для одной панели можно сделать одновременно несколько скелетов, разнеся их, например, на разные области. Это очень удобно, все изменения будут плавными. В целом, по качеству это будет лучшим вариантом. 
 
Второй метод создания внутренних страниц очень удобен, хотя требует специальной тонкой настройки, если вы хотите получить качество. Объясню суть: первым делом нужно создать кривую, например, из пяти точек, таким образом, чтобы по длине она соответствовала ширине страницы нашей книги. После этого специально для нее создаем скелет с четырьмя звеньями-костями. Затем копируем ее (вместе со скелетом) и относим копию на верхнюю часть страницы. Многие уже догадались о том, что будет дальше — заливка между двумя кривыми с помощью модификатора Loft NURBS. Да, это верно. 


Реализация второго метода — страницы формируются из двух кривых, связанных со скелетами

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

Из простых методов, мы, наверное, перечислили все. 


«Рабочий» пример. В данном случае еще нужно настраивать сглаживание изгибов


Анимация


Анимация в данном случае будет строиться обычным способом, а именно, по ключевым кадрам, только в качестве основных элементов управления будут кости.



Кристофер

Перепечатка материалов или их фрагментов возможна только с согласия автора





Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ассоциация боевых роботов
Рекомендуем...
Новости

Разделы

Опросы

Какой язык программирования вы считаете наиболее актуальным сегодня?
Всего ответов: 329

Друзья

3D-кино






Найти на сайте:








Об авторе       Контакты      Вопрос-ответ        Хостинг от uCoz