Подобный
эффект вы наверняка множество раз наблюдали в различных кинофильмах и
компьютерных играх, когда поток пуль попадая в колонну/стену выбивает в
ней небольшие отверстия и отламывает порой более крупные куски. Именно
такой эффект нам предстоит создать.
В итоге мы получим анимацию подобного эффекта: Основная цель данного урока, показать
необходимость правильного подхода к решению задачи, её разделения на
составляющие и решения каждой её части. Так же я намеренно не использую
в данном примере, ни каких плагинов. Данный урок предполагает наличие
базовых навыков работы с используемыми приложениями.
Итак, приступим. Нам требуется создать эффект стрельбы по колонне.
Здесь требуется подробно изучить цель нашей работы.
Предположим следующие параметры – по колонне производится порядка 12
выстрелов, то есть нам придётся надломать колонну в 12 местах, помимо
этого от колонны отламываются более крупные части, возьмем, к примеру,
4 штуки.
Снаружи колонна сделана из мрамор-подобного материала, но так как мы
будем отламывать от неё крупные части, нам требуется показать её
внутреннее устройство. Предположим, что колонна состоит из цемента
залитого в арматурную форму. Следовательно, колонна будет состоять из
трёх частей – внешняя оболочка, арматура, цемент.
Далее в нашем списке следует система частиц, которая будет имитировать
куски цемента, вылетающие из колонны во время псевдо попадания в неё, а
так же система частиц для имитации пыли от измельчённого цемента.
В общем плане, у нас есть следующая последовательность задач: 3DS Max.
- моделирование колонны
- система частиц
- анимация/симуляция
- наложение текстур/освещение
- установка камеры и рендер по слоям After Effects.
- сбор изображения по слоям
- цветокоррекция и настройка изображения
Моделирование. Займёмся внешней частью. Создаём бокс нужных
размеров, конвертируем его в Editable Poly и используя инструмент cut,
разрезаем бокс в нужных нам местах. Для удобства можно сделать эскиз
колонны и обозначить места разломов и прострелов, а так же
последовательность разлома по порядку. Ни чего сложного в этом этапе
нет, просто создаём небольшие отверстия в местах прострелов и куски
покрупнее в частях больших разломов.
Теперь поочерёдно выделяя каждый вырезанный нами кусок, используем
функцию Detach, таким образом, мы получим колонну с вырезами и кучу
обломков на своих местах.
Следующим шагом мы должны применить модификатор Shell к нашей колонне и
всем ранее вырезанным частям. В установках модификатора устанавливаем
параметр Inner – 4, а параметр Outer = 0. Остальные параметры нам не
понадобятся. Теперь наша колонна с обилием разломов, обрела плотность.
Рекомендую сразу же назвать каждую часть колонны в том порядке, в
котором мы будем их отламывать, на стадии анимации.
Пришло время заняться внутренней частью колонны. Для удобства срежем
верхнюю часть колоны. Теперь создадим бокс в центре нашей колонны по
размерам, немного меньше внутренней её части. Теперь создадим
арматурную форму. Я использовал обычный shape.
Арматурная форма произвольна, у меня получилась подобная модель.
Системы частиц.
Тут выбор произвольный, какую систему вам удобней использовать, такую и
используйте. Я использовал систему частиц Blizzard. Нам требуется
создать следующие системы:
- Мелкие частицы, двигающиеся на расстояние.
- Мелкие частицы, рассыпающиеся около разлома.
- Крупные частицы, двигающиеся на расстояние.
- Частицы, имитирующие пыль.
Вот пример настроек для твёрдых частиц и частиц пыли:
И пример шейдера пыли:
Немного поигравшись спараметрами я получил следующий эффект.
Теперь добавляем необходимые элементы, такие как гравитация и ветер.
Идём на вкладку Space Warps и выбираем компонент Gravity.
Гравитация для нас является обязательной частью, она поможет частицам
двигаться более натурально. Теперь устанавливаем компонент отвечающий
за имитацию ветера. Идём на вкладку Space Warps и выбираем компонент
Wind. Я установил два типа данного компонента с подобными настройками:
Wind 1. Для частиц имитирующих пыль и мелкие части цемента.
Wind 2. Для частиц имитирующих мелкие множественные частицы, рассыпающиеся около разлома.
Теперь прилинкуем все наши системы частиц к нашим компонентам ветра и
гравитации при помощи Bind to Space Warp. На данном этапе полезно
поиграть с настройками того или иного компонента и даже сделать рендер
работы системы частиц, дабы удостовериться, что движение частиц
полностью удовлетворяет наши потребности.
Анимация.
Вот тут и начинается самое интересное. На данном этапе нам предстоит
обеспечить своевременное появление отверстий от выстрелов и анимировать
отлом и падение крупных частей колонны. На данном этапе самой главной
частью, является последовательность.
Итак, для начала анимируем возникновение отверстий от попаданий пуль.
На данном этапе хорошо, если у вас есть эскиз колонны и обозначения
очерёдности попадания в ту или иную её часть. Каждому кусочку колонны,
закрывающего часть колонны с прострелом, я дал имя соответственно
порядку возникновения на его месте выстрела. То есть каждый кусочек
колонны получил имена 01,02,03,04,05… Теперь нажимаем кнопку Auto key,
для создания анимации объектов и в той же поочерёдности как мы
поименовали наши маленькие части колоны, мы задвигаем их внутрь
колонны.
Например, часть №01 задвигается во время 10 кадра, затем здесь будет
расположена система частиц. Часть №2 исчезает на 15 кадре и так все
остальные.
На данном этапе полезно записать поочерёдно время задвигания (10 кадр,
15 кадр и т.п.) каждой части колонны. Это поможет нам в дальнейшем.
Теперь нам нужно анимировать падение крупных частей колонны, у меня их четыре.
Здесь мы используем модуль - реактор.
Симуляция.
Переходим на вкладку Helpers -> Reactor -> RBCollection.
Нажимаем на появившуюся иконку RBCollection, нажимаем pick и подбираем
четыре крупных части колонны, которые должны отвалиться и саму колонну,
конечно же.
Теперь необходимо задать параметры нашим объектам. Выбираем часть нашей
колонны, переходим в меню Utilities – Reactor. Разворачиваем вкладку
Properties и в поле mass устанавливаем необходимую нам массу элемента.
К примеру, я указал вес 10 kg. Ниже требуется указать параметр Use
Mesh, для корректной симуляции. Далее устанавливаем параметры
Elasticity 0.1 и Friction 0.5. Данные параметры отвечают за
характеристики поверхности материала и помогают нам сделать момент
столкновения падающей части колонны и её основания, более реалистичным.
Подобные действия совершаем со всеми частями колонны, которую мы собираемся отломать.
Для самой колонны я указал вес 2000 kg и тип объекта Mesh Convex Hull.
Теперь добавляем в нашу коллекцию твёрдых тел, основание, на котором
стоит наша колонна. Для неё установим параметр веса 0.0 кг, так как она
должна стоять на месте, тип объекта Mesh Convex Hull, а так же
параметры Elasticity 0.5 и Friction 0.3.
Нам нужно заставить отвалиться наши четыре части колонны. В реальном
мире, часть колонны отвалилась бы по причине собственного веса, пули
выбивающие отверстия в колонне нарушают целостность конструкции,
создают внутренние коллизии, разломы и в итоге определённая часть
объекта потеряв требуемую связку, отламывается и падает под собственным
весом. Но это в реальном мире, нам же нужно поступить слегка иначе. Мы
будем подталкивать требуемые части колонны дополнительными элементами,
изнутри самой колонны. То есть каждую из четырёх крупных частей колонны
мы будем немного выталкивать из нутри.
В качестве дополнительных элементов, у нас выступят обычные боксы
небольших размеров. Создаём один бокс, располагаем его в нужной части
колонны.
Теперь добавляем его в нашу коллекцию твёрдых тел RBCollection, и
заполняем параметры, я поставил массу равной 5 kg. Снова нажимаем
кнопочку Auto key для перехода в режим анимации и перемещаем наш бокс
из центра колонны, наружу. Длительность движения в моём случае
составила 10 кадров. Подобным образом поступаем с остальными тремя
элементами. В итоге у нас получится четыре небольших бокса внутри
колонны, каждый около своей части колонны.
Переходим на вкладку Utilities -> Reactor и раскрываем свиток
Preview & Animation. В окошке Start Frame вписываем ключ анимации,
с которого начнётся симуляция реактора, в моём случае я поставил 4
кадр.
Пришло время нажать заветную кнопочку Preview in Window. В появившемся
окне world analyser нажимаем continue и созерцаем непосредственно окно
real time preview. Осталось нажать на кнопочку P на клавиатуре и
пронаблюдать за симуляцией.
Если вы всё сделали правильно, то в итоге должна получиться приемлемая
анимация падающий частей колонны. Если вас не устраивает падение той
или иной части, просто выберите соответствующий толкающий элемент, и
передвиньте его в другое положение, по играйтесь со временем его
передвижения.
Итак, теперь, когда нас устраивает то, что, мы видим в окне симуляции,
нам остаётся лишь нажать кнопочку Create Animation и вуаля, анимация
готова.
На данном этапе, все четыре части колонны рассыпаются в одно и тоже
время, а это не правильно, по этому выделяем нужный нам кусок, во
временной полосе появятся ключики анимации данного объекта, выделяем их
и просто передвигаем до нужного нам кадра. Если вы заранее на эскизе
предусмотрели время падения каждой части колонны, вам будет ещё легче,
в общем, данная операция занимает пол минуты от силы.
В итоге у нас получилась колонна с готовой анимацией падающих её частей
и анимированных по времени небольших частей колонны, что образуют
отверстия от попадания псевдо пуль.
Время вернуться к нашей системы частиц.
Ещё раз убедитесь, что движение частиц вас полностью устраивает, ибо
переделывать далее будет затруднительно. На данном этапе нам нужно
выполнить самую скучную часть нашей работы, нам требуется установить
ключи начала действия каждой системы частиц. Каждая система частиц
будут располагаться и соответствовать по времени тем самым маленьким
частям, что образуют отверстия от попадания пуль.
Выбираем наши системы частиц и устанавливаем для каждой время Emit
start и Emit stop. Первая дырка в колонне у нас образуется, в моём
варианте, на 10 кадре, вот и устанавливаем параметр начала и конца
эмиссии на 10 кадр. Теперь обратите внимание, отдельно сгруппируйте для
удобства системы частиц, что отвечают за пыль, отдельно остальные.
Теперь устанавливаем наши частицы на месте первой пробоины в нашей
колонне.
Всё, первый выстрел готов, теперь подобную операцию предстоит проделать
для каждого другого отверстия от пуль в нашей колонне. Копируем нашу
систему частиц, перемещаем в место второго выстрела и устанавливаем
соответствующие параметры начала эмиссии. И так со всеми. После того
как расставлены и настроены все системы частиц, выделяем частицы,
отвечающие за пыль, и группируем их вместе. Их рендер мы сделаем
отдельно. Вы так же можете добавить несколько дополнительных систем
частиц для лучшего эффекта, по вашему усмотрению, их рендер мы будем
делать так же отдельно.
На этом этапе, моделирование и анимация для нас заканчивается, можно вздохнуть полной грудью и заняться текстурами и рендером.
Если вы нажмёте кнопку Play Animation на данном тапе, вы увидите нашу
колонну, появляющиеся соответственно установленному порядку отверстия
от пуль в колонне, соответственно действующие системы частиц,
имитирующие пыль и части колонны, а так же разваливающиеся её более
крупные части, что падают на основание. Пришло время установить камеру.
Камера.
Переходим в окно просмотра Perspective, располагаем вид наиболее
приемлемым для нас образом, затем переходим в меню Create -> Cameras
-> Create Camera From View. У нас появится Target Camera, то что нам
нужно. Установите Camera Target в центр нашей колонны.
Теперь нам потребуется помошник, нажимаем Create -> Helpers -> Dummy(пустышка).
Располагаем его в центре колонны, там же где находится наш Camera
target. Эта пустышка позволит нам быстро и легко создать анимацию
камеры все, что нужно сделать, это выделить камеру, выбрать инструмент
Select and Link и протащить его от камеры до нашей пустышки. Теперь
манипулируя нашей пустышкой, мы одновременно манипулируем и нашей
камерой.
Вновь нажимаем кнопочку Auto Key для перехода в режим анимации,
выделяем нашу пустышку, прокручиваем ползунок временной линии до
нужного нам кадра, например в моём случае 170 кадров. Теперь выбираем
инструмент Select and Rotate и поворачиваем нашу пустышку на нужный
угол, а вместе с ней повернутся вокруг колонны и наша камера. Не
забываем вновь Auto Key, абы выйти из режима анимации и не напортачить
ненароком чего ни будь. Так же я создал небольшое помещение, с
подобными колоннами, исключительно для наглядности. Время заняться
освещением.
Освещение.
Для примера я использовал четыре Target Photometric Lights, в качестве
тени – Mental Ray Raytraced, плотность тени (Density) – 0.7, остальные
настройки светильников не изменял, за исключением Multiplier, с которым
пришлось по играть, для достижение удовлетворительного результата.
Так же использовался Final Gather и настройка экспозиции Logarithmic Exposure Control.
Наложение текстур.
Тут немного поподробнее.
Внешняя часть нашей колонны предположительно сделана из мрамора, а
внутренняя её часть из цемента. Следовательно, нам нужно использовать
материал Multi/SubObject, который позволит нам накладывать различные
текстуры на один и тот же объект.
Выделяем нашу колонну, переходим в режим выделение Polygon и выделяем
всю колонну, далее переходим в свиток Poly Properties и в поле Set ID
ставим единичку. Переходим в режим просмотра Top, и выделяем только
внутреннюю часть колонны, в поле Set ID ставим двоечку. Подобную
операцию проделываем со всеми частями колонны. Теперь открываем
Material Editor и в качестве нового материала выбираем Multi/SubObject.
Параметр Set Namber ставим на два.
Теперь материал ID1 будет внешней частью колонны, а материал ID2
внутренней. Не забываем, что для материала внутренней части колонны, в
настройках текстуры требуется установить Map Channel 2.
Переносим наш материал на нашу колонну, добавляем UVW Map. Не забываем,
что нам требуется две компоненты UVW Map, для материала с ID1 и для
материала с ID2.
На все остальные части, и куски колонны переносим тот же самый материал и те же самые компоненты UVW Map.
Далее создаём материалы для арматуры и центрального блока колонны.
Рендер.
Теперь нам осталось произвести рендер всего того, что мы с вами
наворотили. Я разбил рендеринг на три части, рендер основной сцены,
рендер частиц пыли и рендер дополнительных частиц пыли. Я не стал
делать отдельный рендер системы частиц отвечающей за выброс
твердотельных частей колонны, так как, при использовании глобального
освещения освещённость каждого объекта зависит от окружающей среды, и
при отдельном рендере твердотельные частицы оказались с сильной теневой
стороной. Хотя можно и их рендер сделать отдельно.
Итак, выбираем систему частиц пыли, нажимаем Hide Unselected, у нас
остаются только наши системы частиц пыли, далее заходим в настройки
нашего рендера. В моём случае использовался Mental Ray. Во вкладке
Common требуется указать продолжительность нашего действа, у меня это
170 кадров, указать размер выходной картинки, и поставить галочку
напротив Save File.
Нажав кнопку File вам откроется меню выбора папки, для сохранения
рендера. Выберите нужную вам папку, напишите имя файла, в качестве типа
файла выберите TIF. Нажмите кнопку Setup слева и в меню настройки
параметров сохраняемого изображения поставьте галочку напротив Store
Alpha Channel. Нажмите ОК и затем кнопку Render. На выходе мы получим
секвенцию TIF файлов с альфа каналом.
Подобную операцию проделываем со всеми дополнительными слоями, чтовы
будете использовать, у меня это были несколько дополнительных частиц
имитирующих пыль. Ну и в конце таким же образом выполняем рендер
основной нашей сцены. В итоге я получи три набора TIF файлов, с
которыми мы отправляемся в After Effects.
Adobe After Effects.
Открываем After Effects, в окне компонентов жмём правую кнопку мыши и
выбираем New Composition. Затем дважды кликнем в том же окне и в
появившемся окне выбора файлов выбираем первый TIF файл из основной
сцены. Не забудьте поставить галочку напротив TIFF Sequence.
Теперь перетягиваем получившуюся секвенцию как новый слой и теперь,
наконец, таки может посмотреть насколько хорошо у нас получился рендер
и анимация.
Подобным способом открываем остальные наши секвенции, в моём случае это
пыль от разломов. Здесь нужно помнить, что мы сохраняли альфа канал и
при открытии новой секвенции вы увидите окно с запросом о альфа канале.
Требуется выбрать Premultiplied – Matted With Color. Таким образом, мы
получаем требуемый слой уже без фона. Всё вместе будет выглядеть
примерно так.
Итак, у нас получилось три слоя, основной и два слоя с пылью. Теперь
можно заняться коррекцией, перетаскивая эффекты из менеджера эффектов
на нужный слой.
К слою пыли я добавил Gaussian Blur в небольшом количестве и с помощью Channel Mixer произвёл небольшую цветокоррекцию.
Теперь нажав Ctrl+D мы, создадим копию нашего слоя с пылью, уберём
Gaussian Blur и установим непрозрачность 30%. Таким образом, немного
повысим контрастность нашего дымка.
Теперь откорректируем наш основной слой с колонной. Выделим его и скопируем, нажав Ctrl+D.
Добавим к нему фильтр Gaussian Blur с Blurriness (размытие) порядка 14,
а так же добавим эффект Brightness&Contrast и увеличиваем яркость и
контраст порядка 30-35 единиц. Во вкладке Transform уменьшим параметр
непрозрачности Opacity – 42%. Теперь наш размытый слой, смешается с
нижним. Появится смазанная картинка, но это только пока.
Вновь выделяем наш основной слой, копируем, и располагаем выше двух
предыдущих. Кликнув по нему правой кнопкой мыши, в контекстном меню
выбираем Transfer Mode -> Screen (Тип смешивания –> Экран).
Теперь перетащим сюда эффект Brightness&Contrast (Яркость и
контраст), уменьшим яркость и существенно увеличим контраст. Теперь
совсем другое дело.
Если вам захочется немного замедлить нашу секвенцию, кликните в правом
верхнем углу менеджера слоёв -> Panels -> Duration.Теперь кликнув
на временной параметр слоя, вы вызовете окно Time Strech, в строке
Strech Factor вы можете указать скорость воспроизведения данного слоя.
Например, написав там 140, вы замедлите секвенцию на 40%.