- PVSM.RU - https://www.pvsm.ru -
Here comes.
Это будет длинный пост.
На всякий случай, предыдущая серия [1].
Долго думал над степенным и вдумчивым текстом вступления. Не придумал. Напишу по-простому. В этой серии я буду показательно рисовать в Blender танк. С нуля и до конца (ну почти, детальки пририсовывать не буду — это не показательно). Только моделлинг, без текстур и материалов. Основной посыл поста — показать, как в Blender выглядит реализация той или иной задумки. Поэтому, будет описание задумки и видео процесса. Видео без звука — он тут не нужен, но с показом нажимаемых кнопок.
Порой в видео будут вырезанные куски — вот уж чем я точно заниматься не умею, так видеоредактированием. Тут надо понять и простить.
Рисовать танк будем по чертежам — это хардкорней, чем фристайл. Но и результат правдоподобней. Принцип простой — восстановление 3D фигуры из проекции.
Blender предоставляет возможность подкладывать на бэкграунд 3D области картинки, причем неограниченное количество. Картинки можно масштабировать и смещать, но нельзя вращать. Картинки отображаются только в ортогональной проекции (Numpad 5), что логично — при восстановлении проекции перспектива внесла бы искажения. На то она и перспектива.
Сварщик я ненастоящий, да и танк тут рисуется как иллюстрация процесса на видео (что выдвигает свои требования к временнЫм затратам). Поэтому при рисовании я сделал себе следющие послабления:
Самое первое, что надо решить — какой же танк нарисовать? Ведь Land Raider — это не танк, это продукт диверсии. Посмотрите на него сбоку и прикиньте, какие у него а) клиренс и б) способ амортизации катков. Это, кстати, фишки последних версий LR, в ранних он был инженерен. Зато он хтоничен. Я решил поискать такой же хтоничный, но более правдоподобный танк.
Ищем чертеж. Вообще, из моего опыта, сложно найти идеальный чертеж — почти всегда есть что-то из перечисленного ниже (исключение — честные скрины проекций прямо из 3D редактора):
Обычно это не фатально, но 100% точности не добиться.
Я взял чертеж отсюда [3]. Мне кажется, это очень хтоничный, хоть и опошленный, танк. Но такова судьба объектов масс-медиа.
Подобранный чертеж надо нарезать на виды/сечения (вообще говоря, можно и не резать, а подгонять нужный кусок — но это неэстетично). Совет — давайте каждому файлу осмысленное имя, соответствующее виду (или сечению). Складываем в одну папку (для удобства).
Тонкости для Blender: на виде сверху нос модели должен смотреть вниз. На виде справа нос модели должен смотреть влево (потому что это справа от вида спереди). Если перепутать, то моделька будет задом-наперед/в зеркальном отражении.
Открываем Blender, создаем новый файл и подключаем изображения:
Рисунок 1. Добавляем слоты (Add Image), открываем в слотах изображения (Open).
В 3D области будут отображаться все подключенные картинки одновременно, так что надо развести по видам:
Рисунок 2. Для каждого слота изображения в выпадающем списке выбираем нужный вид (вот тут и пригодится осмысленное именование). Обведенная область содежит контролы манипуляции положением изображения в виде.
Убедитесь, что в каждом виде — одно нужное изображение. (Не забудьте переключиться в ортографию).
Подключенные чертежи надо будет откалибровать (отцентрировать / нормировать размер) — это ведь проекции. Это можно сделать как в графическом редакторе (я раньше делал), так и в Blender (так я делаю сейчас).
Дальше — описание калибровки в Blender.
Общий алгоритм — найти на чертеже деталь, которую видно на всех видах, нарисовать ограничивающий ее примитив и подогнать размеры и положения всех картинок в своих видах так, чтобы эта деталь везде была внутри примитива и касалась его границ. Другими словами — сделать bounding box детали, попутно подгоняя картинки.
Деталь должна быть самой крупной — вы все равно точно не угадаете (просто из-за пикселизации), но цена ошибки будет меньше (если делать нормировку 100-метрового корабля по его 2-метровому якорю и ошибиться на 2% (то есть на 4 сантиметра), для корпуса ошибка составит как раз 2 метра и якорь уедет в сторону на свою длину).
В идеале — это вообще должен быть bounding box всей будущей модели. Тут я так и сделаю.
Для примера с маусом по шагам (все делается в ортопроекции — Numpad 5):
Куб можно спрятать, можно удалить, а файл — сохранить. Лучше в двух разных местах, на всякий пожарный.
Готово.
Вообще, перед началом моделирования лично я рассматриваю чертеж на предмет выявления основных, а так же ключевых и необычных составляющих. Довольно часто приходится обращаться к референсам — другим чертежам, фоткам, картинкам, порой даже готовым компьютерным моделям. Все как настоящем моделировании — чем больше информации у вас на руках — тем проще вам будет дальше.
Маус это:
Все мы знаем, из чего состоят танки, поэтому будущая модель автоматом разваливается на (в порядке возрастания сложности моделирования):
Если быть совсем уж въедливым — маус воевал недолго, поэтому рефы к нему есть 3 типов — крупнозернистая хроника, модельки и фотки из Кубинки (большинство — из одного ракурса. Наверное, там трудно подступиться по-другому). И, к примеру, нюансы маски отличаются от источника к источнику. Вот я и оправдался перед тонкими ценителями.
Теперь оправдаюсь перед остальными — время на толковый сбор инфы у меня было не так уж много, да и я делал упор на иллюстративность процесса, так что местами я упрощал/догадывался. Но старался оставаться логичным.
Так как ниже мы упремся в конкретику, то я посчитал нужным дать небольшие пояснения по инструментам.
Так как в Blender нет из коробки такого функционала, как align to, то приходится выкручиваться — использовать трансформации в локальных координатах, делать snap к каким-то вспомогательным/опорным элементам, центрировать по курсору. В случае точек есть костыль через масштабирование. Если выделить несколько точек и отмасштабировать их по какой-то оси на 0, то они окажутся на одном уровне (медианном) по этой оси. Объяснение туманное, ниже будет видно.
Knife — интерактивный (то есть, у вас есть возможность откатить косяки, не выходя из работы с инструментом) инструмент резания геометрии. В общем случае выглядит так: вы выставляете какой-то вид, переключаетесь в EM, включаете нож, обозначаете линии разреза и подтверждаете разрез. Blender режет ребра в местах пересечения с линией разреза и соединяет новые точки между собой, попутно перенатягивая полигоны.
Knife Project (проективный нож) — это как Knife, только с использованием заранее заготовленного контура вместо интерактивно рисуемой линии разреза, с учетом проекции и только на ближайшей поверхности. Позволяет не заморачиваться со склейкой разных объектов в простых случаях.
Поехали.
Простейший подход. Берем примитив и дорабатываем (кровавой резней ребер, бескомпромиссной экструзией и решительным слиянием точек (Alt-M)). А так как башня симметрична по Y, то еще и моделируем только половину.
Тут я использовал технику последовательной постройки полигонов. Очень помогает, если а) геометрия более-менее рубленная и б) слету непонятно, как сделать иначе.
Вообще, обычно на все это хозяйство зритель особого внимания не обращает. Так что я гений Порше изобразил «от руки», так сказать. Но для ведущих катков я все-таки поискал их чертеж — и нашел его, но переделывать остальное не стал — считаю, что в принципе похоже. Все равно тут ненастоящий сварщик делает ненастоящий маус.
Опоры просто нарисовал на глазок через Ctrl-ЛКМ в EM. Если кому-то это очень царапает душу — то скажу в свое оправдание, что овчинка в данном случае выделки не стоит.
Катки — через экструзию и масштабирование по осям.
Чистая иллюстрация 2х методик — создание тела вращения и применение булевых операторов.
Вот он, найденный чертеж:
Рисунок 7. Ведущий каток, вид сверху. Обратите внимание так же на порядок следования опорных катков.
Очевидно, что деталь — литая. Для литых деталей в общем случае нет правил и логику далеко не всегда можно уловить либо претворить в жизнь.
Тут мне пришлось обратиться к поверхностям по NURBS-кривым (результат не считается геометрией, так что надо явно конвертить в меш). К сожалению, данный способ в Blender не позволяет создать ветвления поверхности, так что пушка у мауса будет одна. Зато с красивой маской.
В принципе, можно было бы нарисовать сечения-полигоны и соединить их через Bridge Edge Loops, например (как я сделал в конце для закрытия задней поверхности маски), но это заняло бы куда больше времени. По-крайней мере, в моем исполнении.
Правила построения поверхности по NURBS-кривым:
Гусеницы — самое главное в танке. Поэтому о них — поподробнее.
Принцип создания понятен из концепции гусениц — массив элементов, лежащий на кривой. Значит, надо нарисовать кривую-профиль гусеницы и объект-трак, а затем навесить на трак модификаторы Array и Curve (следование траектории), указав в качестве параметра кривую-профиль. Скажу сразу: я не вырисовывал траки, а скорее изобразил что-то по мотивам — тут, мне кажется, важнее сам принцип.
Так как маус хтоничен, то и гусеницы у него непростые.
Во-первых, их сложно рассмотреть на рефах. Я нашел крупную фотку вот здесь [4](респект составителям). Вот она:
Рисунок 8. Гусеница мауса крупным планом.
Во-вторых, фактически у гусеницы 2 вида траков — загнутый опорный с 4 дырками по краям и решетчатый связующий:
Рисунок 9. Два вида траков мауса.
На данном этапе я нарисовал собственно профиль (на скорую руку, потом еще будет исправляться) и 2 трака.
К этому моменту мы нагенерили весь контент, нужный для того, чтобы собрать танк. Люки, щитки всякие и даже пушка — это уже детали и не будем на них останавливаться.
В процессе генерации контента я не обращал особого внимания на свойства объектов (их точки поворота и параметры поворота/скалирования) — просто гнал геометрию. На данном этапе я выставляю точки поворота (обратите внимание, что точка поворота не всегда должна быть внутри объекта, например у маски — она снаружи).
Так же я сделал несколько групп, чтобы было удобнее впоследствии управлять видимостью.
Хтоничность мауса продолжает нас преследовать. У него 48 опорных катков, между прочим (а у Т-34 — 10). В шахматном порядке. На этом этапе я активно использую Array и Mirror.
Финальный и самый длинный шаг.
Изложенный в разделе “Исходники гусениц” способ предполагает наличие только одного вида трака. Хтоничность мауса дает нам 2 вида. Так что я сделал две гусеницы на одном и том же месте — свою для каждого вида трака.
И еще один нюанс.Если сделать просто массив, следующий кривой, то элементы массива, находящиеся на изгибах кривой, будут тоже изогнуты (это видно на видео с созданием кривой-профиля), что логично — модификатор собственно для искривления и предназначен. А траки у танка железные и гнуться не должны.
Ненормальное для модификатора, но требуемое для нас решение следующее — ввести промежуточную плоскость и использовать процедурную по-полигонную дубликацию.
Я делал все это немного в другом порядке, но шаги были те же.
Так как видео получилось ну очень длинным, я вырезал создание одной из гусениц и повырезал моменты заполнения названий.
Собственно, к этому моменту маус готов и собран, осталось навесить мелкие детали, которые, кстати, дают 80% presenсe. Я не буду тут рассказывать, как их делать — считаю, что к данному моменту это уже самоочевидно (режем, масштабируем, экструдируем, сливаем, заполняем). Надо лишь не забывать привязывать детали к частям танка (парентинг или Child of или вообще Ctrl-J — как вам будет удобно).
Моделька, получившаяся после сборки гусениц — здесь [5]. Я еще пушку добавил, для чувства завершенности.
А здесь [6] — моделька с парочкой приклеенных деталей.
В оба файла заэмбежены чертежи.
Лицензия, если это кого-то волнует — полный копилефт.
Это завершающая серия в цикле «Простой Blender». Всем спасибо за внимание и проявленный интерес. Для меня это был очень необычный опыт — публиковаться в СМИ, да еще и с личной точкой зрения. И для того, чтобы понять, прост ли Blender, просьба поучаствовать в опросе.
И еще интересно бы было услышать комментарии 3D-артистов, работающих в других пакетах — как бы выглядел процесс моделирования каких-то частей танка (башня там, или маска) — просто чтобы сравнить. Да и вообще комментарии приветствуются.
Ответил на комментарий, называется.
Автор: unbalanced
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/tutorial/106985
Ссылки в тексте:
[1] предыдущая серия: http://habrahabr.ru/post/272993/
[2] такую: https://brookhong.github.io/2014/04/28/keycast-on-windows.html
[3] отсюда: http://www.the-blueprints.com/blueprints/tanks/ww2-tanks-germany-1/15799/view/e-100_maus/
[4] здесь: https://forum-antikvariat.ru/index.php/topic/110438-gusenichnye-traki-katalog-opredelitel/page-9
[5] здесь: https://drive.google.com/file/d/0B8YbpfsDTwz8NENjZWlDdEJjWFk/view?usp=sharing
[6] здесь: https://drive.google.com/file/d/0B8YbpfsDTwz8NHluc3BYbTNfWHM/view?usp=sharing
[7] Источник: http://habrahabr.ru/post/273543/
Нажмите здесь для печати.