Профессионалы могут не читать, осиливших мою писанину прошу указать на недостатки и поделиться ценным опытом.
Давно собирался написать урок по моделированию оружия и подобных предметов, но все время откладывал. Выбирая объект, остановился пистолете-пулемете М3А1 калибра .45 ACP. Модель делается для использования в боевике от первого лица. Руки персонажа и анимация - тема отдельного урока, причем не моего.
Модель не будет чрезвычайно точной, но при достаточно ровных руках должна получиться узнаваемой.
Предисловие.
М3 - простое оружие военного времени, созданное General Motors Corp. для замены дорогих Томпсонов М1928 и М1. Использовался во время Второй Мировой Войны, в 1944 году был модернизирован с целью упрощения, применялся в Корее и во Вьетнаме. В танковых частях армии США снят с вооружения в 80-е годы прошлого века.
В первую очередь понадобятся фотографии с разных ракурсов, особое внимание следует уделить небольшим деталям, которые чаще других оказываются в кадре.
Идеальный вариант - наличие чертежей, разреза и, в особо сложных случаях, сборочной диаграмы. Но встречается такой набор крайне редко.
Прежде чем читать дальше, новичкам стоит зайти на сайт Render.ru и найти там очень полезный урок "Ускоряем работу, комплексный подход", от себя же добалю еще одну комбинацию: Alt-X - включающает прозрачность выбраных объектов (окно с этой настройкой можно вызвать командой Properties в контекстном меню).
Для удобства рекомендую зайти в Customize>Units setup и выбрать те единицы измерения, которые присутствуют на чертежах или наиболее удобные.
В первую очередь понадобится ориентир для моделирования - мне известно несколько способов:
1) "Студия" - создается Box с размерами как у будущей модели, конвертируется в Editable Poly, выделяются все полигоны и в контекстном меню (RMB - tools 2) выбирается Flip Normals. После чего каждой из граней назначается материал с чертежем для соответствующей проекции. К сожалению при работе с фотографиями получить приемлимый вариант достаточно сложно.
2) Утановка чертежа в качестве фона - выбираем нужное окно проекции, комбинация Alt-B вызывает окно Viewport Background, в котором нужно установить выбрать рисунок (кнопка Files), выбрать Aspect Ratio - Match Bitmap и не забыть установить галочки Display Background и Lock Zoom/Pan.
3) Эскиз - из нужного окна, например слева, создается плоскость заданного размера (на сайтах с описанием оружия найти высоту вам не удастся - но ее несложно рассчитать исходя из длины предмета и размеров обрезаного изображения), на нее наносится текстура с картинкой. Способ прост, но имеет два существенных недостатка: во-первых в окне проекции качество картинки оказывается довольно низким (приходится делать пробные визуализации), во-вторых плоскость можно случайно сместить (от этого спасает Заморозка в окне свойств). Подходит для тех кто вообще не умеет работать с 2D графикой - если оружие на картинке довернуто на небольшой угол можно повернуть плоскость. Кроме того, многие авторы рекомендуют залить белый фон фотографий каким-либо нейтральным цветом и, если надо, подкорректировать изображение.
Подготовительный этап завершен, можно приступать к моделированию.
Начинать обычно проще со ствола - создаем трубу с внутренним диаметром 1,143см/2=0,571, внешний диаметр подбираем, ориентируясь по фотографиям (или чертежам, если есть).
Для 45-го калибра хватит трубы с 6-8 гранями. Сегментов по высоте берем 3 - из этой трубы получится и основание пламегасителя. Выравниваем по фотографиям, конвертируем в Editable Poly и настраиваем её длину. Для оптимизации выбираем два кольца полигонов внутри трубы и задний торец
- удаляем их, переходим в режим редактирования Border и закрываем дыры (Cap) (внутреннюю заглушку нужно выдвинуть вперед - это немного упростит последующие этапы). Выделяем два передних кольца полигонов, Extrude, нажимаем Apply и, сняв выделение с переднего кольца - ОК.
Далее пламегаситель - создаем еще одну трубу (12-16 граней), выравниваем её по первой (Alt-A), масштабируем задний торец и удаляем его. Удаляем внешнее кольцо полигонов на торце ствола и соединяем ствол с пламегасителем
Выделив все вершины (Ctrl-A) "свариваем" их,
получившиеся отверстия закрываем используя Target Weld. Теперь нужно сделать зажим пламегасителя - для этого выделяем два продольных ребра на хомуте и скашиваем их на 0,15см (Chamfer), выдавливаем получившиеся полигоны на несколько миллиметров и скашиваем короткие ребра. Теперь нужно убрать лишние вершины (Target Weld) и удалить три полигона между получившимися "ножками" после чего закрыть получившуюся дыру (Bridge). Положение новых вершин немного подкорректировать вручную. "Затягиваем" полученный хомут болтом (в оригинале всегда использовались винты с круглой шляпкой, но кому это интересно?). Болт делаем из цилиндра с 6 гранями, 3 сегментами по высоте и радиусом 0,4см. 32 полигона - многовато, используя Target Weld упрощаем центральную часть до трехгранника. Результат должен быть примерно такой:
Утапливаем торчащий из ствола полигон внутрь.
Теперь займемся ствольной коробкой.
12-гранной трубы должно хватить для получения достаточно гладкой поверхности. Остальные параметры подбираются по фотографии - радиусы 1,9 и 1,6 см, длина - 30. По высоте делаем три сегмента, после чего удаляем заднее кольцо внутри трубы и передний торец, закрываем его и задние отверстия (Cap), переднее кольцо (внутри) пока не трогаем.
Получившуюся сзади заглушку нужно немного увеличить и выдвинуть назад. Выделяем в режиме Vertex два полученных кольца ребер и передвигаем их вперед - между ними будет сделана петля пылезащитной крышки и окно выброса гильз. Переднее кольцо вершин сдвигаем по горизонтали до горловины магазина.
Теперь сделаем окно - выделяем шесть полигонов в уже обозначеном месте (три из них внутри), Bevel
удаляем выбраные полигоны и делаем стенки (Bridge). Самый верхний из новых полигонов сдвигаем ближе к центральному ребру (по двум осям).
Прямые углы (ребра в углах окна) сглаживаем командой Chamfer.
Пора заняться передней крышкой ствольной коробки. В этом нам поможет все та же команда Bevel, примененная к переднему торцу нужное количество раз:
Верхняя часть готова, теперь нужно сделать горловину магазина и коробку спускового механизма. Для этого выбираем два нижних ребра и нажимаем Convert to Vertex (точки внутри ствольной коробки перемещать не надо), выбираем еще по одной точке на том же ребре и перемещаем их назад до начала будущей шахты магазина.
Рассматривая фотографию разобранного автомата нарезаем (Cut) нечто похожее на:
и выдавливаем (Extrude) на пару сантиметров. Теперь наступает достаточно неприятная стадия редактирования вершин. Выдавливаем нижнюю поверхность ещё раз на 3 мм - это поможет сгладить передний край рукоятки управления огнем. Повторяем последнюю операцию, корректируя положение вершин.
Используя команду Cut разрезаем нижнюю поверхность тремя поперечными линиями, выделяем вершины каждой из них и из бокового окна проекции масштабируем каждую из линий по оси Х. Выравниваем линии по фотографии.
Скашиваем новую линию
и перемещаем точки в районе приемника магазина ориетируясь по фото. Теперь можно продолжить выдавливать полигоны и перемещать вершины.
Выдавливаем рукоятку еще пару раз, поправляем вершины на виде сбоку, выделяем два полигона в центре, Bevel, коррекция полученого полигона - из него будет вытягиваться спусковая скоба. Похожим образом формируем заготовку под спуск: дважды выдавливаем, корректируем форму передвигая вершины и соединяя при необходимости (Target Weld).
Делаем спусковую скобу - можно немного исказить форму (в оригинале она выполнена из пружинящей пластины).
Корпус в основном готов, осталось сгладить острые грани и добавить мелких деталей.
Модификаторы Smooth применять не надо!
Двигаем одни грани вперед, другие назад. Далее продолжаем в том же духе.
Когда форма начинает напоминать изображенную на фотографиях - начинаем оптимизацию сетки: Target Weld, Cut, Cap,Create (в режиме polygon). Все что выше коробки спускового механизма - не трогаем.
В итоге должно получиться нечто похожее на:
Можно заняться мелкими деталями. Начнем с крепления приклада.
Создаем в продольный цилинр (12 граней, 3 сегмента по высоте), подгоняем диаметр по фото, выравниваем и растягиваем. Ковертируем в Editable Poly и удаляем лишние полигоны. Используя все те же инструменты делаем накладку:
Делаем переднюю накладку из аналогичтого цилиндра, но большего диаметра - ничего сложного.
Соединяем первую накладку со второй (Attach), расчищаем место для них, удаляя полигоны с двух сторон корпуса и соединяем детали в единое целое. С обратной стороны пусть будет отверстие - потом заделается.
Далее следует рутинная операция по заделке отверстий вокруг накладок.
Когда эта стадия закончена - выделяем "заглушку" в режиме редактирования полигонов и отделяем ее (Detach с галочкой "as Clone"),
Зеркалим - она должна сразу перекрыть отверстие на противоположной стороне корпуса (важно следить чтобы границы отверстия и заглушки были одинаковыми - или придется выполнять лишнюю работу), присоединяем ее (Attach), выделяем все вершины (Ctrl-A в режиме Vertex) и соединяем все что ближе 0,1см. Добавляем кнопки складывания приклада, и переднюю антабку (под гайкой крепящей ствол). На заднем торце ствольной коробки через отверстия выступают направляющие возвратных пружин - их видно, значит придется сделать и их. (цилиндр, 6 граней, 1 сегмент по высоте, задний торец уменьшить).
Отделяем спуск и заделываем получившиеся отверстия.
Добавляем кнопку фиксатора магазина - во время анимации перезарядки она перекрывается пальцем, поэтому можно прикрепить к корпусу (анимироваться не будет). Сделать проще всего из бокса, последовательно выдавливая нужные грани.
Продолжаем делать ствольную коробку - на очереди петля пылезащитной крышки. Выделяем два полигона напротив окна выброса гильз и выдавливаем их на 2мм, нижние углы скашиваем.
Переднюю часть оптимизируем сразу, заднюю пока не трогаем. Удаляем верний полигон и закрываем дыру мостиком из 3-х сегментов
Из среднего будет вытянута петля, но перед этим нужно заделать границы - Bridge, Cap, Create (polygon). Выдавливаем полигон, и несколько раз скашиваем верхнее ребро до получения нужной формы. На нижнем боковом ребре режем вертикальную черту, выделяем ее вершины, масштабируем (она должна быть строго вертикальной), применяем к ребру Chamfer, и выдавливаем накладку.
Следующий шаг - антабки на левой стороне коробки. Начинать проще с передней, а заднюю сделать копированием. В корпус можно и не "вшивать". Подробно изготовление не описываю (совет: экономьте полигоны - четырехгранника будет достаточно).
Не забываем про шахту магазина - Bevel, Collapse (vertex),Target Weld, Extrude:
Добавляем заклепки (делать лучше всего из цилиндра или из геосферы - параметры зависят от предполагаемого угла и расстояния обзора), причем делать нужно лишь одну - после чего скопировать, перемещая в нужные места с зажатым Shift.
Теперь ответственный момент - изготовление прицела. На "Масленке", Как и на большей части американского оружия, был установлен диоптр, причем простейший - нерегулируемый. Мушка штамповалась вместе со ствольной коробкой, целик приваривался электрической сваркой - это была оптимальная технология для автозавода.
Начинаем с мушки - для симметрии режем еще одно ребро, выделяем полигоны, Bevel с высотой 0 (скос подбирается опытным путем), корректируем вершины и повторяем операцию
Теперь пора соорудить целик. Как видно из фотографий, он имеет не слишком сложную форму и легко может быть сделан из трубы. Создадим ее из проекции сзади, и выровняем по мушке. Здесь же настраиваем внутренний диаметр, а внешний - из боковой проекции по фото. Если в игре будет прицеливание как в Call of Duty и подобных боевиках - граней лучше взять побольше, если как в Conter-Strike - хватит и 6-8. Переднюю часть можно значительно упростить.
Выделяем четыре нижних полигона, (я взял 10-гранную трубу) сжимаем их по вертикали (Scale) и перемещаем их вниз для получения основания целика. Изменяем сетку спереди и сзади (Remove (edge), Cut) после чего выдавиваем два полигона спереди, скашиваем передние нижние ребра и корректируем положение вершин. Внутреннее передние кольцо вершин в прорези целика сдвигаем назад. Заднюю грань слегка скругляем тем же способом. Остается оптимизировать деталь и присоединить к корпусу не вшивая в него.
Должно получиться нечто похожее:
Корпус практически готов - можно добавить крышку масленки на нижний торец рукоятки, а можно и не добавлять. В последние годы применения этой модели оружия многие, чтобы не пачкаться закручивали в рукоять вместо масленки простую пробку. Если хочется можно попытаться оптимизировать модель уже сейчас удаляя лишние ребра - особенно с тех частей, которые находятся спереди или всегда закрыты руками персонажа. Отверстие под затвор пока не трогаем.
Теперь нужно сделать пылезащитную крышку, поскольку она является и предохранителем - желательно делать её отдельно (при выборе этого оружия герой будет открывать крышку). Выделяем четыре полигона за окном ствольной коробки и отделяем их как копию (Detach as Clone). Выделяем полученный объект, перемещаем его и масштабируем до нужного размера по одной из осей. Лишнюю вершину на нижнем полигоне удаляем (Remove). Двигать такую деталь совершенно не удобно - центр ее находится слишком далеко. Переходим на вкладку Hierarchy, нажимаем кнопку Affect Pivot Only и щелкаем Center to Object.
Выбираем все полигоны крышки, нажимаем Flip Normals, затем выделяем границы (режим редактирования Border) и с зажатым Shift тянем их вверх на ~2мм. Нажимаем в контекстном меню Cap и сразу нарезаем правильные грани (Cut).
Нижний полигон заменяем продольным мостиком (Bridge) из трех сегментов. Средний из получившихся полигонов масштабируем, выдавливаем и корректируем положение вершин. Из трех внутренних полигонов над окном таким же способом формируем выступ.
Добавляем петлю (из двух цилиндров или сделаную из торца петли корпуса), присоединяем их и оптимизируем геометрию.
Переходим в окно вида спереди или сзади и снова перемещаем точку опоры (Pivot) - она должна находиться там же где ось петли.
Следующий на очереди - приклад. Его можно сделать из сплайна или цилиндра. Мне ближе второй способ. Делать нужно только одну половину - потом делается ее зеркальная копия (Рис.34) и заготовки соединяются. Перед копированием удаляются четыре полигона в том месте где расположена соединительная пластина.
Пазы в корпусе не смоделированы - следовательно приклад выдвигаться не будет. Дополнительные выштамповки (сужение в середине затыльника) можно не моделировать - они были не на всех версиях.
Выбираем все вершины, соединяем те из них, что ближе 0,1мм (Weld с параметром 0,1см), создаем площадку и "зуб". Должно получиться похоже:
Ствол и приклад пока не присоединяем.
Можно приступать к затвору. Для этого отделяем (как копию) круглый полигон внутри ствольной коробки, перемещаем его вперед чуть дальше конца окна и выделив границу с зажатым Shift вытягиваем назад полигоны, получившиеся отверстие нужно закрыть крышкой (Cap). Теперь создаем цилиндр и делаем Boolean (кнопка находится в меню Create>Compound Objects).
Конвертируем затвор в Editable Poly и оптимизируем его геометрию. Создаем магазин. Можно сделать верхнюю накладку тем же способом что и затвор, а нижнюю из бокса (вертикальные ребра скосить). Если предполагается детальная анимация можно сделать его с губками и патроном (как он выглядит можно легко найти на оруженых сайтах).
Теперь, когда все элементы готовы можно начать их соединять.
Начинаем со ствола. Кто-то может спросить почему ствол присоединяется сейчас, а не сразу. Ответ прост: чем длиннее объект тем труднее моделировать. Поэтому, даже если оружие создается из одного цилиндра (например пулемет ДП-28), я часто разделяю его на более короткие элементы.
Выделяем ствол и корпус, удаляем заглушки, и соединяем их. Получившиеся дыры закрываем - внутри с помощью Target Weld (имитируем патронный вход), снаружи - Create (polygon) и Bridge.
Поднимаем заглушку шахты магазина вверх - теперь нужно сделать отверстие, соединяющее полости шахты и ствольной коробки. Напомню, что оружие стреляет с открытого затвора, значит если герой левша - игроку должно быть видно верх магазина и патрон.
Просто нарезать края отверстия не получится, но здесь помогут Булевы операции. Создаем копию верхней части магазина, закрываем торцы (Cap) и поднимаем полученную деталь. В настройках выбираем Cut, Remove Inside:
Снова конвертируем и закрываем дыру.
Проверяем на отсутствие дыр - в режиме Border жмем Ctrl-A. если есть - закрываем.
Модель практически готова, осталось оптимизировать сетку и соединить элементы.