Всем привет! Меня зовут Александр Новицкий, занимаюсь моделированием и визуализацией. Также являюсь преподавателем в CGTarian.ru. Сегодня мы поговорим про самолеты. Я являюсь любителем темы авиации Первой Мировой, поэтому выбор и пал на самолет Pfalz DIII. Для создания работы были использованы следующие программы: Maya, 3D’s Max, Unfold 3D, Mari, Vray, Photoshop. На самом деле этот список можно изменить, главное в данном вопросе – понимание ключевых моментов, а уж где вы их будете реализовывать – не столь важно.
Идея. Думаю, это самое главное. Изначально хотел показать самолет в условиях войны, показать грязь и уныние на земле в контрасте с бескрайним простором и надеждой в светлом небе. То есть, продемонстрировать сам контраст. Именно в родном сеттинге данный агрегат обрастает должным восприятием. И не в отрыве от грязи и войны внизу, а в контрасте унылой обстановки и свободного, чистого и сияющего неба. Именно так может раскрыть себя этот самолет. Раскраска принадлежит реальному летчику-асу, выбрал ее просто потому что понравилась. Также решил не использовать стандартные раскраски, чтобы не обезличивать самолет, придать ему характер.
Изначально, кстати, не планировал моделировать его полностью, но в итоге, увлекся. Тема рыцарей неба очень вдохновляет. Когда сражение в небе было настоящим рыцарским поединком, где проявлялись честь и достоинство. Никаких парашютов, никаких поблажек. Только заклинивающие пулеметы и верный конь, ранение которого могло погубить и наездника.
Моделирование. Это самый трудоемкий процесс, так как модель была создана очень подробно, и пришлось перерыть тонну референсов. Дело в том, что авиация Первой Мировой – дело не только тонкое, но еще и весьма дефицитное в наше время. Мало того, что фотографий минимум, так еще и самолеты в то время собирали каждые 5 штук с отличиями, и задачей было уже не столько собрать много фотографий, сколько найти фотографии одного конкретного образца. Также пришлось изучить все найденные по теме материалы, включая разную техническую документацию, так как лучший способ понять всю конструкцию в целом - это понять для чего служат те или иные детали и все что с ними связано. Скорее, именно поэтому я не ограничился созданием только видимых элементов, а полностью сделал двигатель, пулеметы и кокпит, для которого первоначально сделал каркас и строил отдельные элементы уже на нем. Это отличный опыт, скажу вам.
Ниже показано как развивалась форма самолета. Изначально были взяты сечения, затем создался каркас и уже на нем было создано “туловище” самолета.
Затем шло развитие отдельных форм, изучение различных деталей и так далее. В данной работе пришлось уделить достаточно времени мелочам, так как они играют весомую роль в конечном результате.
Важно: создавайте каждую новую группу объектов в отдельной группе, чтобы посредством формальной логики можно было легко понять где и что лежит. Пользуйтесь слоями, если это поможет облегчить работу, но если говорить про Мауа, то достаточно будет грамотной сортировки объектов в outliner. Не стесняйтесь называть каждую деталь – чем меньше в сцене неназванных объектов, тем лучше. Желательно, чтобы все было названо на английском языке, внятно и логично. То есть, если крыло у нас «wing», то дочерний к нему элемент будет иметь вид «wing_element» и так далее. Это необходимо чтобы не запутаться и не делать сотни групп. В рамках одной сцены должна быть одна логика в именовании объектов, иначе снова-таки будет кавардак. Также с подобной сценой всегда удобно работать, удобно текстурировать в Mari, и вообще, это правило хорошего тона.
Также всегда следует помнить о тестах отражений на разных этапах создания модели. Hdri всегда помогают выловить проблемные места в зародыше, как и правильно настроенный серый материал для моделирования.
Двигатель, пулеметы и салон являются более простыми объектами, нежели самолет, хоть в них и много мелких деталей. И с uv-разверткой тут тоже все куда проще + самих карт может быть меньше и разрешение их будет ниже.
Развертка, текстуры, материалы.
Тут я шел от главных объектов к менее важным, уделяя больше внимания самым основным. Поскольку у меня было 4 группы (самолет, кокпит, двигатель, пулеметы + пилот, который не в счет, он был сделан уже после), то я решил разбить первую и вторую на 2 uv-квадрата, а остальным отдать по одному. Итак, корпус весь, вплоть до самых мелких деталей, разворачивался в unfold-3D вручную. Автоматическая развертка опасна тут по двум причинам: она зачастую “кушает” много пространства, которое можно использовать рациональнее и создает много швов, которые не так страшны, как скорее, неприятны. Все же, ручная развертка куда лучше любой автоматической и позволяет делать текстуры качественнее и удобнее. Все текстуры рисовались вручную (кроме пилота, у него рисовалась только текстура кожи), процедурных карт типа VrayDirt не использовалось – это позволило иметь полный контроль над всеми слоями и сделать каждое место уникальным.
Для последних двух групп (двигатель, пулеметы) была сделана как раз автоматическая развертка, за исключением отдельных деталей.
Далее я принял решение все делать масками, за исключением рисунка на корпусе самолета. Таким образом, у меня вышла настраиваемая грязь, царапины, т.д. Это очень важно, так как возвращаться обратно в mari для того чтобы поменять цвет ржавчины – не самое лучшее решение. Намного грамотнее правильно нарисовать маски, чтобы в итоге мы могли сделать BlendMtl или же VrayBlendMtl и не отходя от кассы, делать любой материал.
Важно: текстуры лучше рисовать в более высоком разрешении, чем они в итоге будут у вас в сцене. Это позволит иметь лучший контроль над различными эффектами в них. Также я делаю все в разных слоях, даже если речь идет о двух разных типах грязи, которые в итоге запекаются в одну карту.
Начнем с самого простого - с пулеметов. Для них делалось 2 карты на 4К – маска для царапин и маска для ржавчины и грязи. В итоге все это наносится через материал Blend, который содержит в себе MultiSubObject с ID на каждую деталь, на каждый ID идет свой Blend и в нем есть краска и слой царапин (но не на всех, потому и именно такая структура).
Двигатель. С ним было похоже, но немного иначе: у него тоже две карты на 4К, но не для царапин и грязи, а для грязи с пылью и ржавчины. Во всем остальном схема идентична пулеметам.
Примечание: раннюю версию двигателя я делал исключительно процедурным методом с помощью VrayDirt и результат был несколько другой. Для финала пришлось сделать его более реалистичным и менее гламурным, разнообразить все места, именно поэтому отдельные объекты были развернуты заново и рисовались текстуры вручную.
Кокпит – уже более интересная история. Одними масками тут обойтись бы не получилось в любом случае, поэтому были созданы 2 текстуры – на каркас и на сам кокпит с diffuse и грязью. Многое пришлось рисовать самому, так как найти фотографии оригинальных приборов в хорошем разрешении оказалось очень непросто.
Самолет. Тут все куда сложнее. На него рисовалось изначально текстура в 16К (2 x 8К), которые изначально рисовались в 32К (2 x 16К), а потом уменьшались. Финальные рендеры делались в 8К, а не в привычном full HD, поэтому такая текстура сюда была как раз. Для клоузапов можно будет использовать полноразмерные текстуры.
Ниже показано как выглядят текстуры самого самолета и кокпита.
Текстур для самолета целых 3 – краска, грязь, царапины. В Mari каждая из текстур имеет по несколько слоев, чтобы легко менять цвет различным элементам, менять интенсивность грязи и ржавчины. В конце все было запечено в 3 текстуры и нанесено через многослойный Blend на самолет. Причем, материал я сделал таким образом, чтобы сверху была именно грязь и следы коррозии, под ней уже виднелись сколы. И под всем этим лежит материал с краской, который, впрочем, имеет весьма замысловатую структуру.
Также не стоит забывать, что грязь всегда можно подтянуть уже в material editor, сделав контрастнее карту. Чтобы менялись все детали, на которых задействована эта карта, но которым назначены другие материалы, карту следует делать для них общую, переносить типом instance, короче, использовать общую ноду.
Также любопытным элементом является объемная грязь на колесах, забившаяся в протекторы. Ее сделать несколько сложнее, но не так уж и тяжело, как может показаться изначально.
Тут просто нужно использовать маску вместе с дисплейсментом, который по ней (маске) красиво выдавит грязь на покрышках. Для этого, понятное дело, необходимо будет красиво развернуть шины и нарисовать на них маску. И вовсе нет необходимости моделировать грязь отдельно. Потом можно кинуть на колеса материал грязи, который лежит на земле.
Для основной грязи есть 2 варианта создания: сделать текстуру на маску и посчитать displacement, либо заскульптить. Я выбрал вариант скульптинга и сделал площадь с грязью в ZBrush, после чего прошелся по ней decimation master’ом и загрузил ее в сцену. Затем создал материал и наложил текстуру грязи в слот Diffuse. Собственно, на Bump был положен очень мелкий noise и все. Далее поигрался с отражениями и получил грязь.
Для создания луж использовался plane с falloff на reflection, чтобы вода становилась прозрачнее по приближению к камере, как происходит в реальности.
Свет. Тут все просто. HDRI на 360 с небесным куполом, брошенная на VrayDomeLight.
Пилота смоделировал уже в самом конце, у него отдельно рисовалась только текстура для лица. Все остальные материалы на нем проще. Шарф сделал через симуляцию ткани и ветер, чтобы выглядело живее.
Вот и все. Собственно, какие вы будете использовать программы – сути не меняет. Смоделить можно где угодно, развертку сделать хоть стандартными средствами, хоть Unfold-3D, хоть UV-Layout. Чем будете текстурировать тоже особенного значения не имеет – можно сделать это и в 3DCoat, и в Mudbox, и с помощью DDO, хоть просто через фотошоп. Тут главное в личном удобстве и принятии софта, понимании сути. Все остальное – наживное. Главное не забывать, что софт – всего лишь инструмент.