Dead Space 2 — создание костюма — Advanced Suit Aйзека Кларка |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-07-04 11:25 Я давно хотел сделать косплей на Айзека и постараться сделать как можно больше интересных технических решений. И вот наконец я смог добраться до этого. Если какие-то моменты кажутся не достаточно раскрытыми — сообщите мне и я постараюсь сделать как можно более развернутые описания для таких моментов. Изучение исходных материалов В игре Dead space 2 в отличие от первой части игры присутствует достаточно большое количество вариантов костюма главного героя, и в отличие от первой част игры в них присутствуют дополнительные подвижные элементы (те же закрыли на плечах). Поэтому в итоге выбор пал на Advanced suit –стилистически более в духе дизайна фантастики 90-2000ых, в отличие от стандартного инженерного костюма в стиле фантастики 70-80ых. После выбора варианта образа я приступил к поиску референсов, среди которых была во первых сама игра, официальный артбук по всем трем частям (благодаря которому удавалось увидеть некоторые особенности образа). А также как наиболее удобный инструмент —3d модель текстурированная, что позволяло строить последующие рабочие материалы без погрешностей графики в игре камеры с освещением там же, затруднявшего работу над деталями. Разработка чертежей/шаблонов брони На основе 3d модели и текстуры используемой в ней я начал изготавливать шаблоны элементов брони используя бесплатный векторный редактор InkScape. Для части элементов, таких как некоторые фронтальные элементы брони, элементы брони ног за основу я использовал их изображение в текстуре модели, в связи с тем что там они не были визуально искажены и были изображены с учётом наложения на объект требуемой формы. Для более сложных элементов в качеств основы для изготовления чертежей я использовал непосредственно сами модель, подстраивая положение камеры и угол для наиболее корректного отображения элемента или детали брони. Также я открыл доступ к этим материалам если кто-то захочет сделать данный костюм. Ссылка на материалы добавлена в конце статьи. Разработка ткани для сьюта костюма Изучив варианты доступные мне, я решил сделать сьют костюма используя печать на ткани, и в последствии издание этой ткани сшить основной сьют костюма – как самый оптимальный способ исходя из моих навыков (упрощение пошива). Как базу я решил использовать текстуру модели и ее изначальный размер текстуры был 1024х1024 пикселей – но этот размер в десятки раз был меньше минимально необходимого для печати. Поэтому я решил прибегнуть к помощи современных разработок в области нейросетей – в частности сервисам предоставляющим возможность увеличения изображений посредством «додумывания» нейросеть изображения большего разрешения (использовал сервисы https://letsenhance.io/). С помощью первого прохода бесплатной версией сервиса я получил изображён размером 4000х4000, которое затем уменьшил до 3000 и ещё раз скормил бесплатной версии нейросети, и таки образом получил свой вариант для начала работы 12000х12000 пик пикселей. По мере изучения вариантов изготовления шаблона для сьюта и вариантов выкроек я набрел на материал одного из зарубежных сайтов по печати на ткани — https://fabricondemand.com/ken/landrum.html и оттуда попал на http://www.kenlandrum.com/kl_website/artwork/spider.html где были представлены бесплатные шаблоны для печати и изготовления сьюта для человека-паука. В ходе дальнейшего изучения я понял что большинство сьютов и их текустуры изготавливается по такому шаблону раскройки, но его изготовление сложнее за счет большего количества составных деталей, поэтому было решено сделать более простой вариант (две половины на сьют плюс рукава — меньше деталей, проще изготовление). Далее из дешёвой ткани был изготовлен прототип сьюта, на котором был примерно нарисован узор оригинала – что требовалось для облегчения соотношения узора в игре и на текстуре и проекции его на ткань. После сьют был разрезан и на основе разрезанного была сделана выкройка. Для переноса выкройки в цифровую форму для всех последующих работ она была разложена поверх раскроенного коврики с сантиметровой сеткой и сфотографирована. Теперь начался период обработки фотографии и рисования в PhotoShop. Полученная фотография была деформирована посредством инструмента искажение для того чтобы сантиметровая сетка соответствовала направляющим и тем самым отсутствовала искажение из за не идеальной съёмки. После выравнивания в векторном редакторе на основе фотографии была нарисована обводки выкройки для удобства наложения на фотографию. Затеи как отдельный слой была добавлена текстура полученная с помощью нейросетей. Была произведена базовая подгонки положения элементов, для того чтобы элементы изображённые на текстуре совпадали с положением эскиза элементов на ткани. После чего используя кисти, штампы клонирующие и базовые примитивы наподобие линий я вычистил и перерисовал теккстуру для совпадения с нарисованным на ткани изображением. Далее полученный файл был отправлен на печать на бифлексе (как раз получилось 4 m2 что соответствовало минимальному объему доступному для печати), и спустя пару дней я получил готовый материал и был готов переходить к следующим шагам. Электроника и её программирование для модуля спины (RIG) В качестве основы для начинки модуля спины я использовал плату Arduino Uno (оригинальную версию). Она требовалась для управления подсветкой RIG (индикация уровня жизни и уровня стазис модуля персонажа). Также использовались два сервопривода SG90 для управления закрылками на плечах. В качестве подсветки использовалась управляемая RGB светодиодная лента WS2801 - что позволяет программировать различные анимационные эффекты, включать нужные сегменты и прочее – что является идеальным аппаратным решением для реализации функционала присутствующего у персонажа в игре. Для управления различными режимами модуля (положение и анимация плечевых «закрылок»,уровня здоровья и анимационных эффектов было выбрано делать дублирующее решение. В частности решено было использовать IR датчики для возможности управления с использованием обычного пульта дистанционного управления (применение которых читатель широко встречает в быту). Для этого в коде для были собраны коды нажатий для пульта, после чего для этих кодов в цикле стало возможным назначить необходимые действия (к примеру проиграть «анимацию» движения закрылок с помощью сервоприводов, включить нужный тип подсветки и так далее. Но как ещё один способ управления был выбран беспроводной модуль NRF2401 - которые позволяют осуществить двунаправленную коммуникацию для ноды вплоть до 8 устройств, что позволит управлять отдельными модулями на большем расстоянии и не зависеть от визуальных помех, а также синхронно выполнять действия для различных электронных блоков костюма – в частности объединять управление подсветкой шлема и спинного модуля, синхронизировать открыта забрала шлема и движения закрылок и так далее. Используемый вариант кода опубликован мной в общедоступном репозитории на Github — https://github.com/m0rg0t/DeadSpace2_rig_cosplay Далее немного более подробно разберем отдельные фрагменты кода и работу с вышеперечисленными модулями и устройствами. Работа с сервоприводами Для работы с сервоприводами (и в частности с SG90) используется библиотека Servo #include <Servo.h> Далее необходимо объявить переменные которые будут ответственны за необходимые сервоприводы Servo myservoLeft; Servo myservoRight; Далее в функции setup мы устанавливаем на каких пинах ардуино у нас повешен data провод сервопривода, к примеру: void setup() { После чего мы можем управлять сервоприводом, отправляя необходимый угол поворота посредством команды myservoLeft.write(50); Где 50 — это нужный нам градус поворота. При этом сервопривод производит этот поворот «моментально» — и поэтому если нам нужно более плавное изменение положения сервопривода, то нам требуется постепенно менять угол поворота делая между ними задержки времени, к примеру: for ( int i = start; i > pos; i--) Где start — стартовое положение серво, pos - конечная позиция и time — задержка между состояниями сервопривода. (В данном случае цикл работает для стартовой позиции больше конечной позиции). Работа с управляемой светодиодной лентой WS2801 Для работы с сервоприводами (и в частности с SG90) используется библиотека Servo #include <FastLED.h> Далее необходимо объявить переменные которые будут ответственны за массив светодиодов, их количество и Data и Clock пины к которым мы подключаем ленту к arduino #define NUM_LEDS 17/ Далее в функции setup мы устанавливаем на каких пинах ардуино у нас повешен data провод сервопривода, к примеру: void setup() { После чего мы можем управлять лентой, устанавливая нудный цвет в массиве светодиодов leds (где индекс в массиве — номер нужного светодиода). К примеру мы можем включить определенный сегмент ленты (с красным цветом) leds[7] = CRGB( 255, 0, 0); Или показать «бегущий» сегмент светящийся по ленте for(int dot = 0; dot < NUM_LEDS; dot++) { delay(50); //делаем задержку leds[dot] = CRGB::Black; } Изготовление сьюта После того как разработанная ткань была изготовлена, мы с моим отцом приступили к изготовлению искомого сьюта (на данном этапе потребовалась помощь в связи с недостатком требуемых навыков для сборки сьюта из бифлекса, плюс требовалась подгонка в связи с неизбежным отклонениями от первоначальной выкройки из за различия в тканях и их эластичности, что весьма сложно без использования манекена с подходящими параметрами). После первоначальной сборки были помечены места с излишками ткани (к примеру в области ног и рук присутствовали избытки ткани, внесены поправки в области спины и так далее). После следующей проверки была установлена молния на спине (закрываемая спинным модулем), и сьют был окончательно сшит с использованием тянущегося варианта шва и добавлены липучки для приклепления кусков брони на костюм. Изготовление спинной и фронтальной брони Для спинной и фронтальной брони использовались шаблоны созданные на основе 3d моделей. В качестве материалов использовалась ЕВА, кожа и прозрачный ПЭТ пластик для светящихся элементов. Для создания центрального светящегося блока я использовал картонную втулку для того чтобы сформовать ПЭТ пластик строительным феном в виде трубки. Для кожаных элементов брони было произведено тиснение необходимого узора и для подвижных частей прикреплены самые обычные петли. Броня на руки На основе изготовленных чертежей на первых этапах создания костюма я начал размещать на коже растительного дубления кусочки брони находящиеся на руках. Кожа в качестве материала была выбрана по причине прочности и стойкости (так как на элементы рук приходится большая нагрузка), а также возможности нанести необходимый узор с помощью тиснения. После завершения тиснения нужных узоров я приступил к покраске элементов с использованием акриловых красок ( подробнее в разделе о покраске). Изготовление шлема В качестве основы для изготовления шлема использовалась обнаружена модель для Pepakura, а также использовалось ручное построение деталей по исходному изображению шлема. В ходе создания шлемы было решено отказаться от полной сборки на основе pepakura файла — поэтому часть элементов создавалась посредством построения нужных форм с использованием малярного скотча — и по этоим формам вырезались куски EVA foam. Для открытия шлема было решено добавить два соединения открывающейся маски по бокам шлема, а не использовать петли на верхней части головы (иначе при открытии получалась бы слишком высокая конструкция). Изготовление брони ног Для изготовления брони ног также использовались шаблоны, созданные на этапе построения всех необходимых материалов. Часть с ботинками было решено сделать в виде накладок на обычную обувь – что позволит более комфортно перемещаться в костюме в удобной обуви. Для этого при помощи пищевой пленки и малярного скотча была обмотана обувь и на основе этого сделаны шаблоны для броне-ботинок. Далее были вырезаны шаблоны для основной брони ног. Предварительно пришлось несколько раз перемасштабировать шаблон ног, так как изначальная версия оказывалась недостаточно большой для моей ноги. В качестве креплений на ботинке были сделаны резинки поверх ботинка, а на пятке застегивалось на липучке. Для основной ножной брони в области голеностопного сустава передняя и задняя часть была соединена резинкой (длина была рассчитана так, чтобы можно было просунуть стопу), а в верхней части икры части брони соединяются при помощи липучек. В итоге получается достаточно прочное и удобное для носки соединение. Покраска Для покраски элементов брони были произведены следующие действия: Для элементов изготовленных из EVA была сделана предварительная грунтовка «жидкой резиной» - состав аналогичный по своим характеристкам plastidip, после сего производилась покраска элементов в базовый цвет. Далее более мелкие детали и поверхности другого цвета прорабатывались с помощью художественных акриловых красок, и после дополнительные детали были проработаны аэрографом. При работе акриловыми красками и аэрографом я обычно развожу акрил водкой — по моим ощущениям распыление происходит лучше, меньше «плевков» и загрязнения аэрографа. Но это лучше проверять самостоятельно) Затем все было покрыто акриловым лаком. Использовался обычный матовый акриловый лак который можно найти в любом строительном или авто магазине Для кожаных элементов брони производилась покраска акрилом и проработка деталей аэрографом с последующей обработкой восковых составом. Кожу желательно красить обычным художественным акрилом, не акрилом для ткани — так как в случае акрила для ткани поверхность будет оставаться чуть липковатой, что приносит свои проблемы. В случае же художественного акрила — краска держится идеально, изгиб, деформация и царепание поверхности не влияет на покрытие. Для элементов брони ног ход покраски и используемые материалы были аналогичны. Электроника для шлема Составные компоненты для шлема в целом аналогичны тому что было описано для модуля спины. Единственное важное отличие в технических средствах – это использование более компактной Arduino nano (из-за недостатка свободного места в самом шлеме. Схема управления аналогична и состоит из двух вариантов – IR датчик и беспроводной модуль. Сама схема собиралась с использовнием коннекторов и конечно же изоленты, что позволяет собрать аналогичную схему в полевых условиях или при отсутствии подходящих инструментов под рукой. Далее приведен пример работы электроники в шлеме Электроника для плазменного резака Составные компоненты для плазменного резака — Arduino Nano, сервопривод для вращения резака и WS2801 светодиод для подсветки. Схема управления аналогична и состоит из беспроводного модуля NRF. Изготовление плазменного резака Для изготовления плазменного резака в качестве референса я использовал материалы от SKS Props. Затем на основе этих референсных материалов я решил обучиться работе в программе Fusion 360 и создать модель резака для последующей лазерной резки. Резак было решено не делать целиком из фанеры посредством лазерной резки, а часть деталей сделать вручную на глазок. Для изготовления этих деталей также используется EVA твердостью 50 шор, плюс вспомогательные элементы из термопластика (bublestar). Далее модель была разбита на набор плоских деталей и сохранена в cdr для последующей лазерной резки. После подготовки деталей и резки получили вот такой вот конструктор. Примерка Перечисление материалов — «Жидкая резина» (аналог Plastidip) Перечисление используемых инструментов — Строительный фен Ссылки на полезные материалы созданные в ходе работы над костюмам — Фирма для печати на ткани — https://kunjut.com/— Исходный код —https://github.com/m0rg0t/DeadSpace2_rig_cosplay— https://yadi.sk/d/99gb81cUzQZcgg — созданные материалы (шаблоны, чертежи и прочее) Статья будет дополнительно дополнена для некоторых не полностью законченных этапов Оставшиеся к завершению:— завершение работы над плазменным резаком Источник: m.vk.com Комментарии: |
|