Как превратить 3D модель в 800-килограммового робота
Знакомьтесь, это «Молот» — стратегический юнит из игры «Правила войны».
3D модель робота была создана еще 5 лет назад. В ней 180 тысяч полигонов, 440 элементов и 5 основных текстурных листов по 4К каждый. Но сейчас перед вами уже не 3D модель, а настоящий 3-метровый 800-килограммовый исполин из плоти и крови. Точнее, из металла и металла.
«Молота» сделали Саша, Андрей и Сергей — кузнецы со стажем. Они говорят, что их кузня стала чем-то вроде арт-студии. Публикуем рассказ ребят о том, как робот «Молот» появился на свет.
Как приступили к созданию робота
В основном мы работаем над эксклюзивными заказами — беремся за то, что нам интересно, и постоянно поднимаем планку сложности.
Мы находим то, чего еще никто не делал. Потом выясняем, в чем основная загвоздка, и беремся за работу. Сергей создал сложнейшие готические доспехи. А к Евро-2012 на одном из харьковских проспектов установили нашу 4-метровую скульптуру женщины. Однажды мы делали фигуру коня, половину которой выковали в реалистичной манере, а вторую половину — в стиле стимпанк. Чаще всего оказывается, что трудности, перед которыми отступали другие, можно преодолеть — было бы желание.
Мы начали сотрудничество с компанией Plarium с небольшой пробной задачи — аптечки из Half-Life. Сейчас она висит на парковке Plarium Kharkiv. А потом ребята прислали 3D модель, скриншоты и видеоролик с роботом.
У нас не было необходимого опыта, но мы знали, что получим его в процессе. В общей сложности над «Молотом» мы работали 2 года, но сейчас сделали бы подобный проект за 6 месяцев.
Как мы готовили материалы
Сначала мы использовали старый подход — распечатали картинки, перенесли размеры на листы бумаги и начали резать металл болгаркой. На создание одной стопы ушло несколько недель и намного больше материалов, чем мы ожидали. Нужно было искать альтернативы.
Мы вспомнили, что существуют программы, раскладывающие модели на развертку, из которой потом создается паперкрафт. Решили попробовать то же самое с металлом.
В 3ds Max разобрали робота на детали, а в Pepacura сделали развертку 3D модели. Затем стали готовить материалы для лазерной порезки и осваивать SolidWorks. Чтобы создать необходимое количество деталей, нужно было сделать 1,5 километра надрезов на стальных 26-миллиметровых листах размером 1×2 метра.
В фирме, которая занимается лазерной порезкой и обычно делает корпусы для сварочных аппаратов, очень удивились нашему заказу. Особенно количеству деталей — более 3000.
Вскоре нарезанные элементы доставили в мастерскую. В этот момент мы по-настоящему осознали масштаб работы: детали свалены грудами, в мастерской невозможно пройти. Неделя ушла только на сортировку и маркировку, страшно было представить, сколько времени потребуется на сборку.
Как мы собирали робота
Работу по сборке мы поделили на блоки: каждую часть робота собирали отдельно. При этом одна часть могла состоять из 20–30 состыкованных между собой деталей.
Базовый элемент, на котором всё держится, замоделировали в 3ds Max, а потом собирали из труб. Конструкцию нужно было сделать разборной, поэтому мы закупили крепкие трубы для каркаса, а остальные блоки сделали навесными.
Лазером вырезали только контуры деталей, так что все сгибы и объем нужно было создавать вручную. Мы переносили пунктирные линии сгибов из Peparura на железные детали, а потом проходились по этим отметкам болгаркой, чтобы металл стал податливее. Разметка была очень трудоемким процессом, на нее ушла треть всего времени.
На этапе сборки у нас сгорело 2 ноутбука и 2 телефона. Техника не справлялась с обилием металлической пыли в воздухе, а работать без визуализации было невозможно.
Мы отдельно собирали платформу робота, его ноги, корпус, руки и пушку. Каждый из этих элементов тоже разбирается — к примеру, можно отделить голову от туловища, а руки разобрать на несколько частей. Это позволяет в случае необходимости добраться до электроники в любом модуле.
Для каждого блока мы определяли каркасную деталь и в первую очередь выгибали ее, а потом присоединяли другие, которые помогали задавать форму. Все блоки сначала собирались на сварочной прихватке, затем проваривались основательно, отправлялись на зачистку и откладывались в сторону.
Мы начали с головы робота и сразу поняли, что всё делаем правильно: голова выглядела точь-в-точь как у 3D модели.
После головы и каркаса ног сделали пушку и приступили к созданию разборной конструкции для тела. Когда заканчивали туловище и руки, электрики занялись подвижными и светящимися элементами в шлеме, на локтях и плечах.
Неожиданно с пушкой возникли сложности. Виртуальной робот держал ее без труда, а вот реальному пропорции не позволяли взять оружие в руки. Поэтому мы сделали дополнительную опору и замаскировали ее под планшет.
Как мы оживили робота
Робот умеет поворачивать голову. Обычный моторчик не справился бы с таким весом, поэтому мы использовали один из самых мощных сервоприводов для робототехники, рассчитанный на усилие в 35 килограмм.
Конечно, можно было взять простой микроконтроллер и зашить в него обычную программу, которая поворачивала бы голову влево и вправо. Но хотелось большей реалистичности в движениях, поэтому механизм поворота мы реализовали с помощью Arduino. В программу заложен нелинейный алгоритм и различные настройки, а еще — возможность управлять движением головы и цветом подсветки глаз, рук и прицела со смартфона.
В роботе установлена влагозащищенная акустика Mystery (такая же используется на катерах и яхтах) и усилитель с караоке-системой — к «Молоту» можно подключить 2 микрофона или электрогитару.
Прицел и локти заливали термоклеем, который рассеивает свет и скрывает его источник. Раньше мы уже экспериментировали с подсветкой аптечки Half-Life и выяснили, что материал идеально подходит для таких целей.
По контуру модулей проходит LED-лента. В синематике мы видели, что робот использует подсветку на плечах для ослепления противника, поэтому оставили щель, через которую пробивается пучок света.
А в глазах «Молота» LED-лента закрыта фильтром из оргстекла, затертым ближе к краям. Именно это создает эффект светящихся зрачков.
Как навели красоту
Проще всего было зачистить робота, вскрыть грунтом и покрасить. Но мы хотели чтобы робот выглядел как будто только что из гущи сражения. Для этого нужно было, чтобы металл ржавел равномерно и ржавчина не стала коррозийной. Поэтому мы потратили огромное количество наждачной бумаги, щеток и насадок для дрели, зачищая каждый сантиметр металла вручную.
Финальный этап, сборка, занял трое суток — без сна и отдыха. Это была самая сложная часть проекта. Чего стоило вставить пушку, которая весит больше 200 килограмм, ему в руки!
Сейчас робот «Молот» встречает сотрудников и посетителей Plarium Kharkiv на ресепшене 8 этажа.
P.S. Позже разработчики, локализаторы и саунд-дизайнеры Plarium научили робота говорить на трех языках, но об этом будет отдельная статья.