Содержание

Как генерировать разных персонажей, а не рисовать каждого вручную? — Инди на DTF

В нашей игре игрок постоянно сталкивается с разнообразными персонажами и чтобы они ему не наскучили, мы придумали, как генерировать их лица и тела из частей. Не рисовать же их всех вручную…

9570 просмотров

Сгенерированный персонаж из Galaxy Pass Station. Олег Савин, Дмитрий Зайцев

А прежде чем я расскажу всё, попробуйте этот генератор в действии. Мы выложили его web версию тут: galaxypassstation.com/character-creator (для ПК и Планшетов)

Дмитрий Зайцев, один из авторов игры

Об игре, контекст

Игра называется — Galaxy Pass Station. Вы смотритель первой космической станции, куда прилетают гости со всей галактики. Есть множество инопланетных рас и культур, а в галактике правит Галактическое Правительство, которое устанавливает правила межзвездной миграции.

Подробнее об игре я рассказал в этой статье:

Мы используем Unity и C# для разработки нашей игры, но описанные подходы в статье годятся и для других движков. Можно сказать, что это статья первый наш девлог.

Разнообразие лиц

Наша игра предполагает, что вы будете часто видеть лица забавных и глупых пришельцев и землян. Они должны вызывать эмоции у игрока. Визуальный стиль игры нам помог упростить эту задачу.

Мы вдохновлялись «Футурамой» и «Риком и Морти». Мы выработали в пиксельной графике стиль, похожий на взрослую анимацию. Такая анимация предполагает довольно простую структуру лиц, которую можно собрать из частей. Мы пошли по похожему алгоритму, постепенно улучшая качество лиц.

Все персонажи сгенерированы, любые совпадения случайны Генератор из Galaxy Pass Station

Как это реализовано?

Представьте, что у вас есть десятки вариантов носов, глаз, ушей, причесок и т. д. Теперь их надо стандартизировать, выработать общие правила компоновки, чтобы всё друг с другом стыковалось наилучшим образом.

Дмитрий Зайцев, Программист

По отдельности нарисовали:

  • Каждую форму головы + варианты причесок под формы.
  • Разные части лица — уши, глаза, рты, и т.п.
  • Разные варианты костюмов.

Все это хранится через Scriptable Objects и редактируется прямо из редактора Unity. Выглядит это так:

Это из редактора Unity + Odin.

ScriptableObject очень хорошая штука, чтобы хранить контент игры, если вы разрабатываете в соло, на мой взгляд.

На скрине представлены варианты формы головы для землян. На практике, мы выяснили, что проще всего хранить варианты причесок через форму головы. Если быть точнее, варианты чёлок, т.к. прически мы тоже храним отдельно.

Женское и Мужское

Наш генератор не предполагает выбора пола.

Это исходит из особенностей нашей игры. В 90% случаев сама игра должна генерировать персонажа и определять, кто примерно получился — женщина, мужчина или что-то среднее.

Непонятно кто Генератор из Galaxy Pass Station

Вы могли заметить выше на скрине, что у каждой части тела и лица встречается опция — Female. Это процент женственности части тела — от 0 до 1 (от 0% до 100%). Он помогает нам определить пол персонажа после генерации. Тут ничего сложного:

Берем среднеарифметическое female коэффициента от всех частей тела.

  • Если результат больше 0.6, то это скорее всего женщина.
  • Если меньше 0.4, то скорее всего мужчина.
  • Если от 0.4 до 0.6 — это может быть как мужчина, так и женщина.

Зачем игре нужно знать пол персонажа? Он фигурирует в документах посетителей станции, от пола зависит имя персонажа и многое другое. Но в целом, такой подход позволяет определять не только пол персонажа, но, например, уровень «забавности» персонажа или уровень чего-то еще.

Если каждой части тела задать коэффициент funny (т.е. забавность), то игра сможет определять, получился ли персонаж забавным. Удобно, можно чередовать забавных персонажей с обыкновенными, чтобы игрок не скучал.

Зерно генерации

Для генерации мы используем Random с определенным seed числом. По-русски, это зерно генерации.

Какой-то весёлый парень с усами Генератор

Мы имеем объект Random со случайным или неслучайным числом-зерном, из которого генерируются варианты глаз, ушей, волос и т.п. Это позволяет нам сохранять сгенерированного персонажа, просто, храня его зерно.

Что если сгенерированный персонаж должен появится в игре несколько раз? Для этого не нужно хранить результат генерации, сгенерированную графику и т.п. Достаточно сохранить число и заново сгенерировать по этому числу персонажа!

Алгоритм работы Random предполагает, что передав на вход одно и то же число (т.е. зерно), вы всегда получите одни и те же случайные числа. Конечно, нужно сохранять порядок их генерации. Примерно так мы и делаем.

Сборка тела и лица

Мы используем шаблон с точками, в которых создаются определенные части тела и лица. Сделано это через prefab, в нём собран типичный персонаж. Для каждой инопланетной расы у нас свой шаблон или даже несколько вариантов шаблонов:

Вручную созданный шаблон

Генератор использует этот префаб, чтобы определить в каких локальных точках создавать глаза, рот и т.д. Мы сделали такой способ настройки, чтобы было проще визуально понимать, где нужно расставлять носы, рты и т.п.

Однако, что делать, если у нас разные пропорции формы головы? Мы используем всё тот же шаблон, только высчитываем разницу между формой головы в шаблоне и в той, которую создает генератор. Полученная разница — это коэффициент, на основе которого мы модифицируем координаты наших ушей, глаз, рта, носа и т.д. Тело и шея в нашем случае это одно целое и они не зависят от формы головы.

Тут есть один нью-анс. Мы часто используем Pivot точку самого спрайта, чтобы регулировать корректное смещение части тела. Например, для волос, точка pivot соответствует месту, откуда приблизительно должны расти волосы. С носом похожая ситуация.

Дмитрий Зайцев, Программист

Pivot точки спрайтов позволяют нам регулировать место появления части лица или тела без изменении логики генератора.

Да, есть некоторые особенности и исключения из правил при генерации, например, брови привязываются к координатам глаз и их высоте, есть и другие исключения. Скорее всего, их будет больше когда мы начнем добавлять негуманоидных пришельцев в свой генератор.

Как рисовать для генератора?

Выше я писал про наш графический стиль. Всё, будет зависеть от него, но художнику нужно объяснять, что все части, которые он нарисовал, должны между собой стыковаться. У нас не было больших проблем с этим. Периодически, мы отбрасываем неподходящие варианты, хотя, их довольно мало.

Это наши усы и бороды

Мне пока не нравятся многие наши бороды, и мы не научились нормально стыковать прически с лысиной. Поэтому лысины еще нет в конструкторе. Если вы рисуете в векторе, вам должно быть еще проще — не нужно выверять пиксели как делаем мы.

Мы не используем sprite sheets для частей тел. Да, это не очень оптимально для Unity, но в нашем случае, это не влияет на производительность так сильно, чтобы мы начали оптимизировать этот момент. Мы избавляем себя от ручной разметки спрайтов в редакторе, на что у нас уходило много времени. Однако, всегда можно использовать функцию Sprite Atlas из новых версий Unity. Она позволяет собрать несколько спрайтов в одну большую текстуру без особых изменений в игре.

Графику мы храним в одном цвете. Наш генератор, если это нужно, заменяет цвета на другие. Используется это для изменения цвета кожи, перекраски костюма и изменения цвета волос. Делаем это через создание новой текстуры с заменёнными пикселями с одного цвета на другой.

Дмитрий Зайцев, Программист

Есть еще вариант делать это через шейдеры, у нас есть в разработке такой вариант перекрашивания.

Конец статьи

Буду рад любым комментариям к статье, игре и т.д. Если вам понравилась игра, не забудьте её добавить к себе в список желаемого в Стиме, чтобы не пропустить релиз в 2022 году:

Сгенерированные картинки — смерть художника или источник вдохновения?

Сгенерированные картинки — смерть художника или источник вдохновения?

За один год генератор изображений на основе текстовых подсказок сделал скачок от размытых 30-пиксельных изображений до реалистичных сложных и комплексных работ. С помощью текстового запроса можно сгенерировать несуществующие картины реальных художников — генератор анализирует все его работы, вытаскивает оттуда кусочки того, что он считает авторским стилем, и накладывает на изображение, которое вы ему описали.

Таким образом вы можете заставить любого художника, чьи работы есть в интернете, нарисовать вам картину на заказ, и рисовать до тех пор, пока вам не понравится результат.

Само собой, реальный художник не получит за это никакого вознаграждения, не узнает о вас, а эта работа не будет принадлежать ему.

Такой поворот событий открывает множество возможностей, как позитивных, так и не очень.

Что с этим делать художнику

Во-первых, если вы известный художник, чьи работы оцифрованы и описаны в интернете, и кто-то с помощью ИИ генератора изображений захочет сгенерировать что-то “в вашем стиле”, вам от этого не будет ничего. Со временем могут возникнуть вопросы, кем была нарисована та или иная картина — самим художником, или генератором по мотивам художника. Тем ценнее становятся оригиналы работ, нарисованных вручную.

Если вы рисуете от руки, физически, здесь вообще никаких проблем. Так же, как вы не обратили бы внимания, что кто-то повесит распечатанную копию вашей картины маслом у себя в гостиной без вашего ведома. Оригинал картины масляными красками, который нарисовали именно вы и знаете каждый слой, каждый мазок и узелок на холсте, все еще принадлежит вам.

Что делать диджитал художникам? Здесь все сложнее, так как сложнее доказать, кто автор цифровой работы и что из 10 немного измененных работ — оригинал. Тут на помощь приходит технология NFT подписей, позволяющая раз и навсегда точно подписать диджитал картину в момент ее создания автором, после чего иметь доказательства того, какая из них оригинальная.

Это было маленькое лирическое отступление для художников, которые чувствуют себя неудобно из-за возможной конкуренцию с искусственным интеллектом, поздравляю, мы в будущем.

Дальше посмотрим, как можно использовать ИИ генераторы изображений для себя, если вы художник, и просто для исследования и развлечения.

Эксплуатируем Midjourney

Как использовать генератор изображений, если вы художник?

Самый простой метод: посмотрите уже созданные другими изображения, чтобы подыскать себе вдохновение для следующей работы. Уже есть огромная база открытых изображений и каждый день она пополняется новыми.

Интересный метод: напишите то, что вам хотелось бы нарисовать, и используйте сгенерированное изображение как референс. Отлично работает, когда вы изучаете для себя новые техники, например, трехточечную перспективу. Вы так же можете написать инструмент, которым должен быть сделан рисунок. Например, можете указать “рисунок углем” или “акварель”.

Метод расширения воображения: поищите среди изображений Midjourney те, которые вам нравятся, скопируйте текст генерации и добавьте в него те детали, которых вам не хватало. Если вы еще не совсем уверены в том, как общаться с Midjourney, попробуйте найти два разных изображения и соединить части предложений каждого из них.

Метод изучения художника: если вам нравится, как рисует определенный художник, вы можете изучить его стиль с помощью ИИ генератора. Не обязательно это должен быть великий художник, вполне возможно что Midjourney узнает и имя художника из DeviantArt, ArtStation или Instagram. Так вы сможете сгенерировать тот предмет, ландшафт или сюжет, который вы бы хотели нарисовать, в стиле того художника, который вам нравится, и изучить те детали стиля, которые делают его работы уникальными.

Метод практики: на одном изображении генератор может поместить не только какой-то один объект. Если вы учитесь рисовать, например, фентези оружие, вы можете сгенерировать для себя 10 разных видов двуручного оружия в стиле определенной эпохи, в виде полноценной модели или, что будет полезнее, всего лишь наброска, который поможет вам потренироваться и сделать что-то свое. Так же можно практиковаться с генерацией набросков лиц людей, животных, архитектурных скетчей, ландшафтов. Вы даже можете попробовать сгененировать ландшафт города будущего, выполненный в технике суми-э. То, что это не могло быть нарисовано в реальности, никак не мешает Midjourney или аналогам это изображение сгенерировать.

Генераторы изображений покончат с человеческой креативностью?

Нет. Они переведут ее на другой уровень. Поднимут планку.

Так же, как до промышленной революции казалось, что все уже изобретено и мануфактуры это вершина эффективности человека. А потом раз, и оказалось, что такая эффективность даже до нового минимума не дотягивает. Сейчас с помощью машин мы можем делать в миллионы раз более сложную и тонкую работу, можем работать на нано-уровнях.

То же произойдет и с креативностью. Сейчас многим кажется, что DALL-E 2, Midjourney и Stable Diffusion делает такое, до чего в принципе не может дотянуться человеческое воображение. Люди рисуют проще, воображение проще, комплексные структуры даже представить сложно, не то что нарисовать. А ИИ с этим справляется легко и непринужденно.

Это значит только одно. Что сейчас происходит скачок развития креативности, и люди должны научиться работать в симбиозе с такими генераторами изображений.

Ведь, откуда генератор берет “идеи”? Из текстовых подсказок, написанных человеком. Эта текстовая подсказка может быть очень сложной и комплексной. Вы управляете цветами. Вы управляете авторами, с которых генератор возьмет кусочки стиля. Вы управляете наложением заднего и переднего плана, перспективой, расположением объектов. При желании вы можете встроить один в другой, и генератор с этим справится.

Это как будто бы внешнее воображение. Но основной ресурс креативности — все еще в ваших подсказках.

Как сделать текстовые подсказки сложнее?

  1. Выберите авторов, с которых генератор возьмет стиль. Поищите малоизвестных авторов, например на Disco Diffusion Artist Studies. Генератор может использовать несколько авторов в симбиозе. Особенно хорошо выглядят работы, которые от одного автора берут визуальный стиль, а от другого — материал работы, например, линогравюру, японскую вышивку или рисунок линерами. Представьте, что вы заставляете Рембрандта рисовать аэрозольными красками!
  2. Используйте подсказки цветов. С помощью круга Иттена можно быстро разобраться, какие цветовые комбинации гармоничны, а какие нет, и использовать эти цвета в работе. То, что Midjorney делает даже из базовой подсказки, уже поражает, но если вы хотите отличаться и создать собственный уникальный стиль, не останавливайтесь на простых подсказках. Ведь что такое креативность, если не уникальное сочетание привычного?
  3. Пропишите перспективу. Генераторы изображений понимают и пятиточечную перспективу, и “с высоты птичьего полета”, и разнообразные линзы и “рыбий глаз”. Вы можете уточнить, с какого ракурса хотите видеть изображение, нужно ли добавить размытость, боке, или эффект старой фотокамеры.
  4. Используйте генераторы слов для генератора изображений. Звучит безумно, но если ваше воображение иссякло и вы уже не можете даже придумать, какие два объекта соединить, чтобы получилось красиво, попробуйте использовать онлайн генераторы слов. Нет ничего более случайного, чем набор слов на основе случайных чисел. И этот набор слов с помощью ваших подсказок и уточнений генератор изображений превратит в уникальное искусство.

Что с этим делать потом

  • Подписать NFT, красиво напечатать, оформить в рамку и попытаться физически продать. Если вы выработали уникальный интересный стиль с помощью симбиоза несочетаемого, вы продаете действительно СВОЮ работу — работу воображения. Попробуйте проработать варианты интерьерных картин: японская гравюра вечернего Нью-Йорка или многомерные формы из лестниц в духе набросков Пиранези, пределов особо нет.
  • Продолжить работу. Так как любой ИИ генератор изображений это ваше внешнее воображение, можно не заканчивать работу на самой генерации. Используйте получившиеся картины для источника вдохновения вашей собственной работы. Или изучайте определенного автора и его стиль, заставляя его рисовать новые формы. Вы можете сделать с помощью генератора только набросок линиями, и завершить его уже физически. Используйте его как помощник для себя, генерируйте наброски и идеи, а основную работу делайте как обычно, художественно.
  • Создать свой собственный авторский стиль сгенерированных изображений и даже стать профессиональным автором текстовых подсказок. Сейчас это становится востребованной профессией, потому что сгенерированные изображения могут быть очень высокого художественного уровня, и при этом не требовать усилий художника. Но для того, чтобы заказчик получил именно то, что хочет, нужен кто-то, кто уже знает, как точно передать “техническое задание” генератору изображений.
  • Использовать Midjourney как бесконечный источник вдохновения и челленджей для себя. В какой бы технике вы ни работали, генератор сможет сделать для вас наброски, которые вы сможете доработать или изменить. Если вы не знаете, что рисовать, поручите выбор вашему внешнему источнику вдохновения. Вы можете запросить референсы именно для вашего текущего уровня рисования, или чуть-чуть сложнее. Вы можете срисовывать сюжеты и картины, которые еще никогда не существовали, и не могли быть нарисованы.

Так, сейчас художники, дизайнеры, моделировщики, архитекторы и многие другие представители визуальных профессий получают доступный и невероятно функциональный инструмент для того, чтобы усилить свою креативность, облегчить процесс поиска идей и обучение. Попробуйте и вы воспользоваться этим уникальным инструментом нашего будущего.

Случайные вещи для рисования

Если вы забрели на эту страницу, вы, вероятно, здесь, потому что вам интересно найти крутые вещи для рисования, милые вещи для рисования или, по крайней мере, что-то для рисования. Или, может быть, вы задаетесь вопросом: «Что мне рисовать?» Если вы ищете, чем бы порисовать, то вы определенно попали в нужное место. потому что генератор случайных вещей для рисования даст вам множество идей для рисования. Пока весь рисунок идеи случайны, результаты будут симпатичными идеями рисования, простыми идеями рисования, забавными идеями рисования или какой-то другой тип интересных идей рисования.

Если у вас есть определенный тип рисования, который вы хотите сделать, вам может помочь генератор случайных вещей для рисования. сузить фокус. Есть флажки, которые могут помочь вам сузить тип предложений случайного рисования. Вы получите. Например, если вы выберете «весело», то случайные идеи для рисования будут взяты из списка «весело». вещи для рисования. Если вы выберете «легкий», вы получите результаты, которые представляют собой простые идеи рисования. Если вы выберите «круто», тогда вы получите список крутых идей для рисования. Выбирая типы результатов, которые вы хотите, вы можете помочь сузить подсказки по рисованию, чтобы получить представление о том, что вы хотите нарисовать.

После того, как вы выбрали, какие типы результатов вы хотите получить, запускается генератор идей для рисования. прост в использовании. Вы можете указать количество результатов, которые вы хотите отобразить, а затем нажать «Создать». кнопка. После этого у вас будет точное количество идей для рисования, которые вы хотели увидеть мгновенно. появляться. Затем вы можете выбрать те, которые вас больше всего вдохновляют, и начать рисовать.

Вещи для рисования

Один из лучших способов стать лучше в рисовании — просто много рисовать. Проблема в том, что часто это может быть трудно решить, что рисовать. Важным моментом является получение рисунка, и именно здесь Генератор идей для рисования может быть очень полезен. Генерируя случайные идеи для рисования, вам не нужно тратьте любое время, думая о вещах, которые нужно нарисовать. Во многих отношениях это может быть лучше, чем решение о том, что вещи, которые можно нарисовать самостоятельно. Поскольку результаты случайны, вы часто будете получать результаты, которые бросят вызов вы больше, чем если бы вы решили по своему усмотрению. Это также поможет вам понять, что рисовать, когда скучно или скучно. идеи рисования для начинающих, когда у вас может не хватить творческого потенциала, чтобы решить, что рисовать.

Простые вещи для рисования

Еще одним преимуществом использования этого генератора случайных вещей для рисования является то, что он может помочь вам найти простые вещи. рисовать. Часто бывает довольно сложно придумать идеи простых вещей, которые можно нарисовать самостоятельно. Имея генератор идей для рисования, который дает вам результаты множества простых вещей для рисования, вы можете получить рисовать вместо того, чтобы зацикливаться на том, как сложно все кажется, когда вы думаете о рисовании идеи самостоятельно. Если вы когда-нибудь думали, что хотите легко рисовать, этот бесплатный инструмент может помочь вам найти широкий выбор простых вещей для рисования.

Как рисовать милые вещи

Еще одна вещь для тех, кто ищет вдохновения для рисования, — это научиться рисовать милые вещи. Это может занять много практики, и лучший способ стать лучше в рисовании милых — попытаться сделать это с самыми разными идеями. Хотя это можно сделать различными способами, один из наиболее распространенных заключается в создании рисунков милых животных. Еще один способ добиться этого — генерировать идеи эскизного рисунка. которые можно использовать для рисования милых животных. Опять же, имея широкий спектр случайных идей для рисования, представленных вы можете значительно облегчить поиск предметов, чем рисовать милые наброски.

Простые идеи рисования

Когда дело доходит до рисования, большинство людей предпочитают простые идеи рисования. Это и хорошо и плохо. Легкий Идеи рисования могут быть идеальной вещью, когда время ограничено, и вы хотите создать что-то легкое и крутое. рисунки. Проблема в том, что не всегда лучше рисовать только классные простые вещи. За гранью легкости рисуя идеи, важно также бросить себе вызов, чтобы улучшить свои способности к рисованию. Его поэтому важно знать, когда выбирать простые идеи рисования, а не идеи рисования эскизов, которые могут быть немного сложнее. Генератор идей для рисования может помочь вам убедиться, что вы не всегда выбираете легкие идеи рисования.

Независимо от того, почему вы в конечном итоге нашли свой путь к этому инструменту для рисования, мы надеемся, что как только вы это сделаете, вы обнаружил, что это полезно для создания качественных идей для рисования и набросков. Если да, то нам было бы интересно в знании того, что вы нашли наиболее полезным в этом. Чем лучше мы сможем понять, как люди используют это генератор, чтобы получить идеи для рисования, тем лучше мы сможем улучшить его в будущем. Мы также были бы очень признательны если вы сообщите нам, если какие-то аспекты этого инструмента вам не понравились или вы считаете, что мы должны их улучшить. Чем лучше мы понимаем, что людям нравится и не нравится в том, как этот генератор генерирует идеи для рисования, тем больше у нас шансов улучшить его для всех в будущем.

Генератор случайных рисунков — Индивидуальные идеи рисования

Попробуйте еще раз? (Новая подсказка)

Большая пушистая собака выбирается из воды у пруда.

Их владелец расстроен, так как они потратили кучу времени на уход за своим большим пушистым пальто. Но собака счастлива. Даже при том, что они правы, собираясь ВЫТРЯБИТЬ эту воду повсюду.

Создать новую подсказку

Идея этого генератора подсказок для рисования проста: нажмите кнопку, посмотрите на новую подсказку для рисования. Если концепция вам подходит, приступайте к наброску! В противном случае просто нажмите кнопку еще раз! Генератор случайных рисунков предложит более простые идеи для рисования.

Нужна помощь в выполнении? Ознакомьтесь с нашим руководством по использованию классических инструментов рисования в тандеме с цифровыми инструментами рисования.

Это тоже не искусство ИИ. Мы можем использовать несколько случайных чисел и случайных слов в алгоритме, чтобы дать вам толчок для творчества. Наш генератор идей для рисования призван помочь преодолеть ступор художника. Простой взгляд на поток случайных рисунков может помочь разрушить ваш разум и помочь идеям искусства начать течь. Иногда творение требует иллюстраций… использование цифрового искусства и текста, чтобы помочь сделать шаг к тысяче различных видений…

За кулисами мы составили список креативных идей для рисования. Вы предоставляете навык рисования и цветным карандашом, мы немного поможем вам приступить к творческим идеям рисования. Подсказки универсальны — вы можете использовать их для простых идей рисования или подробного наблюдательного рисунка. Нужны крутые идеи рисования аниме? У нас тоже есть такие.

Развитие навыков рисования старой школы

Хотя всегда полезно иметь классные идеи для рисования, мы всегда рекомендуем начинающим художникам всех возрастов начинать с освоения рисования линий и основных форм. Вы можете многому научиться, освоив технику рисования карандашом, от того, как выполнять штриховку, как рисовать фигуру под разными углами и использовать перспективу, чтобы добавить глубину рисунку. Эти навыки можно развить даже в простых проектах по рисованию и набросках рисунков.

Приобретите альбом для рисования и набор качественных карандашей для рисования. Держите их в таком месте, где вы сможете легко добраться до них, когда придет настроение. Лучшим предметом часто является натюрморт, простые портреты, которые легко выделить из окружающего мира. Изучение того, как превратить творческую идею в реалистичный рисунок… регулярное нанесение графита на бумагу… позволит развить навыки быстрее, чем любой учебник по рисованию.

Абсолютно застряли на простых идеях рисования? Нужна простая идея для рисования? Попробуйте абстрактный рисунок.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *