Наконец нашел свободное время, чтобы запилить step by step на мое видео с этого поста.
Видео:
Немного предисловия:
С момента публикации я получил от вас много положительных отзывов и просьб запилить "step by step". Это просто неимоверно приятно! Вдохновился на много проектов вперед) Спасибо Вам, это непременно того стоило! :)
На счет "step by step". Рисовать сову мы не будем, но и расписывать все в деталях тоже смысла мало. Это будет очень долго и не нужно. Я постараюсь пройтись по основным этапам, подробно останавливаясь на интересных моментах.
Так же хочу сказать, что я не "гуру", а простой самоучка, такой же как и многие из вас) Решения, которые я буду показывать не являются универсальными. Уверен найдутся геологи люди, которые смогут оспорить каждый пункт и я с удовольствием вытру лицо их послушаю.
Программы: Cinema 4D / Adobe Illustrator / Adobe Photoshop / SpeedTree / Adobe Fuse / Adobe After Effects / Adobe Audition
Этапы: reference / сценарий / modelling / rigging / animation / physics / texturing / lightning / render / compositing / vfx / sound
Этап 1: Reference / сценарий.
Любой подобный проект начинается со сбора референсов и написания хотя бы примерного сценария. Это неотъемлемая часть, которую нужно четко прорабатывать. Сначала думаем, потом делаем(не наоборот).
Небольшая часть изображений, которые я использовал, для понимания стиля, атмосферы, цвета, доп. объектов и чертежи.
В данном случае сценарий выступает своего рода шпаргалкой. В нем нужно прописать все, чтобы в будущем не было проблем и не состыковок. Например, чтобы значительно расширить цену, нужно допилить немного деталей. Я остановился на крытом мосту и колесо-качели, как мне показалось, это не противоречит идеи оригинала. Так же, нужно рассчитать хронометраж, длину дороги и скорость мотоцикла. У меня получилось 20сек., 300м. и 54км/ч. Определяемся с фокусным расстоянием камеры, разрешением и FPS. На референсе использован явно широкоугольный объектив. Широко и без искажений - 24мм(как правило). Разрешение возьмем другое: 2К - 2048x858 (2.39:1) - старейший киноформат, получаемый с анаморфных объективов. 60 FPS - Зачем?
Наш глаз воспринимает 24к/с, зачем ему целых 60? Принято считать, что 60 fps в видео/кино- больше рекламный ход, чем что-то полезное. Это не совсем так. Говорить об этом можно много, но если простым языком - все дело в Motion blur-е. При 60 fps у глаз появляется возможность следить за любыми движущимися объектами в кадре, самому размывая моушн блюром все остальное. При 24-30 фпс такой возможности нет. Мне кажется это помогает создать эффект присутствия, и глазу куда приятнее. Геймеры меня поймут :)
Естественно, рендерить мне пришлось ровно в два раза больше: На 20 сек 1200 кадров, вместо 600.
Этап 2: Modeling.
Я не вижу смысла показывать как именно нужно работать с сеткой. Весь интернет забит уроками, а людей в теме я просто рассмешу.
Почему Cinema 4D?
По сути- вообще не важно. Подойдет любой полноценный 3д редактор (3ds max, maya, modo, blender, houdini и т.д.). Так же, как и реал-тайм движки (Unreal Engine, Unity, CryEngine). 3д редактор- это инструмент. Различия только в расположении кнопок и способах решения задач.
Байк: Harley-Davidson Sportster (Cinema 4D).
Моделлинг для статики немного отличается от моделинга для анимации (Особенно моделинг мягких тел). Все двигающиеся детали должны быть по отдельности и с четкой иерархией. Иначе, на стадии рига потеряется куча времени, на разбор и "разлепливания" всего.
Тут видно, что детали проработаны только на правой стороне мотоцикла. У камеры будет всего один ракурс.
Какие-то моменты нужно продумать еще на стадии моделинга. Например, как будет работать цепь и подвеска. В качестве цепи я создал сплайн и Mograph Cloner-ом расклонировал поверх сплайна зубцы цепи. В итоге, в самом клонере я могу анимировать зубцы, при этом мне доступен сплайн, который я могу тянуть как мне угодно(это будет нужно при работающей подвеске).
Персонаж: Девушка-байкер (Adobe Fuse, C4D).
Девушку решил сгенерировать в Adobe Fuse. Для моего случая, это решение подошло идеально.
Сама программа напоминает создания персонажа в игре(кстати, пока бесплатная). Помимо этого экспортирует скелет с довольно хорошей развесовкой.
Импортирую топлесс. Верхняя одежда должна развиваться на ветру, а для этого нужно замоделить ее отдельно и позже настроить физику ткани. (на лицо не обращаем внимание :D )
Допиливаю шлем, шарф и порванное нечто, похожее на тряпку(долго не мог понять, что там на референсе). Кстати, ткань должна быть low poly. Чем больше полигонов, тем тяжелее будет считать физику. Потом, уже поверх, можно добавить сабдивижн(сглаживание) и толщину. Еще ходят слухи, что мягкие тела лучше работают с триангулированной сеткой. Поверил на слово, но разницы особо не заметил.
Landscape: Пейзаж и окружение. (Illustrator, Cinema 4D, speedtree)
Чтобы избежать фейлов, схематично отрисовал карту "Вид сверху", предварительно изучая, где и какие типы деревьев должны рости.
Поскольку угол камеры с расстоянием расширяется- удобнее будет сделать карту трапецевидной формы.
Стараюсь следить за размерами. Длинна дороги чуть больше 300м. Так же добавлены заборы, бордюры и возвышенности под некоторые деревья. И конечно же вода. Сам ландшафт делал кистью простым выдавливанием.
Из говна и палок брусков собрал крытый, старый, разваливающейся мост. Идеальной, ровной кладки быть не должно. Mograph Cloner и рандомайзеры в помощь.
Хотя мне больше напоминает гараж/ангар, чем мост. Я думаю это из-за полос движения, которые разделены колонами. И да, проработан как и байк - с одной стороны.
Генерация деревьев происходила в "Speedtree"- программа посвящена созданию всему, что связано с растительностью. Можно импортировать ландшафт и заселить прямо в ней, но мне было интереснее это делать в C4D. Сразу хочу сказать, что листва делалась не здесь. Будет отдельный способ :)
После настройки нужного типа дерева, кнопкой "Randomize" можно генерировать разные типы и формы, по ранее заданным параметрам.
У меня получилось 10 больших и 10 тонких типов деревьев - для сцены этого вполне достаточно. Все остальное расклонируется. И да, нужен только меш, без текстур.
Анимация ветра. Правда, экспорт нормально работающего скелета так и не получился. Ограничился запеканием точек(PLA). Минус в том, что это сильно загружает проект. Особенно когда сцена длинная и таких деревьев много. В таких случаях спасает loop анимация, которую часто юзают в геймдеве. Дешево и сердито.
После импорта всех деревьев в сцену, к каждому из них нужно создать Instance и работать уже с ним. Отличия от простого копирования в том, что Instance не загружает сцену геометрией и ключами анимации. Здесь это очень важно.
Выделяю области, на которых должны расти деревья, кидаю инстансы в Mograph Cloner, настраиваю и готово :) Под каждый тип деревьев свое выделение и свой Cloner. Модификатором Random настраиваю вариацию поворота на 360 градусов, чтобы дубликаты сильно не палились.
Естественно, что-то нужно поправлять уже руками, что-то покрутить, переместить, удалить, но в целом заселение окончено.
С моделингом все. Импортировать в сцену мотоцикл с девушкой пока нет смысла. Сначала нужно все проригать и засетапить. Про это и будет следующая часть статьи. Поэтому запасаемся трафиком, будет много гифок)
Так же хочу услышать ваше мнение по поводу формата написанного. Материалов много и все рассказать невозможно, поэтому если я упускаю что-то важное и интересное - вы знаете что делать :)
Вопросы по теме тоже приветствуется, что не понятно- спрашивайте, будем обсуждать.
Всем спасибо.