игровые ассеты что это
Что такое Unity Asset Store и как на нем зарабатывать?
Доброго времени суток, Habr! Я являюсь паблишером Asset Store уже 4 года и хочу поделиться с вами своим опытом. Расскажу вам что такое Unity Asset Store глазами программиста и что нужно знать для создания ассета.
Итак, что же такое этот Unity Asset Store? Это магазин в котором можно приобрести ассеты для Unity, такие как 3D модели, звуки/музыка, наборы UI, шейдеры/частицы, наборы спрайтов, а так же инструменты. Asset Store был создан в 2010 году и не так давно ему исполнилось 10 лет! Практически в любом проекте Unity можно встретить ассеты, которые делают процесс разработки более комфортным и быстрым. Если вы знакомы с Unity, у вас есть идея и желание, то вы можете стать паблишером и увеличить свой пассивный (но это не точно) доход.
Что нужно для создания ассета?
Создание ассета
Итак, вы определись с тематикой и содержанием ассета, далее необходимо реализовать задумку.
При создании ассета следует учитывать некоторые моменты:
Документация
Качественная документация — залог довольных покупателей. Когда вопросы пользователей повторяются — это явный признак того, что какие-то узкие места стоит вынести в документацию и описать максимально просто и понятно. Если пользователи вам не пишут с вопросами об ассете, а в отзывах появляются 5 звезд — это показатель того, что документация написана отлично. Знание английского должно быть не ниже уровня Intermediate.
Подготовка перед публикацией
Перед публикацией необходимо создать ассет в панели паблишера Asset Store:
Ассет опубликован, что дальше?
Поздравляю! Теперь дело за малым — ассет можно продвигать, для базового продвижения подойдут:
В качестве контента для продвижения можно использовать описание ассета и/или демонстрация его фичей, которые смогут заинтересовать пользователей. В целом продвижение — очень опциональная вещь. Некоторые из ассетов я вовсе нигде не постил, но люди все равно их находят и покупают, видимо здесь большую роль играют теги в сторе и Youtube.
Если вы опубликовали платный ассет, его нужно поддерживать, а именно:
Аналитика
Asset Store предлагает использовать в качестве сервиса аналитики Google Analytics. Для этого достаточно указать Tracking ID в консоли паблишера. Так вы сможете понять — географию ваших клиентов, сколько посещений страниц было сегодня у ваших ассетов, как меняется динамика посещений и т. д. Очень удобный и полезный инструмент!
Отзывы пользователей
Отличный показатель для пользователей которые присматриваются к покупке ассета — наличие положительных отзывов. Даже если вам поставили 1 звезду, не стоит отчаиваться, достаточно вежливо и непредвзято, в ответе на отзыв, сообщить пользователю что вы намерены помочь с возникшей проблемой и попросить сообщить о проблеме максимально детально, предоставив свои контакты. С негативными отзывами нужно работать и игнорировать их — худший вариант. Если пользователь вам напишет и вы сможете ему помочь, он может исправить свою оценку.
Вывод средств
Asset Store поддерживает 2 способа выплат:
Плюсы и минусы Asset Store
Плюсы
Минусы
Результаты
После публикации моего дебютного ассета, за первый месяц Asset Store принес мне 56$. А за полгода на счету было уже 316.8$. Я не строил никаких ожиданий касательно Asset Store и вполне доволен результатом. Особенно, если учитывать, что в основном это пассивный доход.
За 4 года я опубликовал 14 ассетов, которые приносят мне неплохой дополнительный заработок. По большей части — это мой Pet-project, над которым я работаю в свободное от основной работы время, получая от этого огромное удовольствие.
Asset Store — отличная площадка для разработчиков Unity, здесь вы можете найти нужный инструмент, а так же придумать, реализовать и опубликовать свой.
Если кто-то занимается аналогичным творчеством, пишите, буду рад вашим мыслям и комментариям!
Анатомия игр: Модель ассета
В прошлой части мы разобрались, как начинает свой жизненный путь игровой ассет (что это такое — смотрите там же). На данный момент он «вылеплен» в виде объемной модели. Замечательно! Но то, что получилось после стадии скульптинга, еще далеко от финала.
Бесспорно, детализированная «хайполька» выглядит потрясающе. Но в игру ее не запихнешь. Ни один движок не справится с таким полигонажем, какой обычно получается после предыдущего этапа. С этим надо что-то делать. Для начала — создать низкополигональную модель, которая повторяет форму скульпта.
Низкополигональное моделирование (Low-poly Modeling)
На этом этапе мы загружаем хай-поли в специальную программу — и вручную, полигон за полигоном, создаем новый меш (англ. ‘mesh’ — «сетка»), повторяющий ее поверхность. Тут важно не только вписаться в имеющийся «полигональный бюджет», но и сделать «чистую топологию», пригодную для последующих этапов (риггинга, текстуринга). Эта топология подразумевает, что в некоторых местах ребра между полигонами должны располагаться определенным образом, чтобы модель потом правильно деформировалась. Этот процесс называется ретопологией, или ретопом.
На словах объяснить, каким же должен быть «правильный меш», сложно. Так что давайте сразу взглянем на иллюстрацию.
Справедливости ради нужно отметить, что скульпт требуется не всегда. Иногда, если объект очень простой, вполне достаточно сразу сделать низкополигональный меш, а все необходимые детали вручную нарисовать на текстуре. Это такой «олдскульный» подход, сохранившийся с тех времен, когда разрешение текстур было настолько маленьким, что лепить скульпт не было смысла (да и соответствующего софта тогда тоже не было).
Впрочем, сегодня для всех, даже не особо значительных объектов стараются делать хай-поли. Просто на всякий случай. Вдруг потом понадобится объект детализировать (например, для крупного плана в кат-сцене)? А если скульпта нет и ассет сразу делался в виде лоу-поли, то это может стать проблемой.
Профессиональные требования
Владение софтом:
— В первую очередь — уже знакомые Maya/3ds Max/Softimage/Modo. Большинство моделлеров работают в «максе». Но лучший софт для моделлинга — еще одна тема для дискуссий. Сейчас на «передовой» проповедуют переход на «модо», как на самый перспективный, удобный и стабильный.
А еще есть отщепенцы, работающие в «блендере». Это вообще бесплатный пакет, распространяемый по лицензии GPL, и местами он дает прикурить своим платным аналогам. Но отсутствие некоторых фич затрудняет его внедрение в типичный пайплайн, так что на данный момент использование «блендера» — удел энтузиастов;
— TopoGun — специальная программа, предназначенная только для ретопологии. Нечто аналогичное (но местами менее удобное) есть в последних версиях уже упомянутой выше Maya.
— Понимание «правильной топологии»;
— умение передавать форму объекта через минимальное количество полигонов;
— владение всеми стандартными техниками моделирования;
— и это первая специальность, требующая если не досконального, то очень хорошего владения 3D-пакетом, который вы используете. Чтобы максимально эффективно задействовать его инструментарий.
UV-развертка и текстурирование (UV-mapping & texturing)
Вы уже и так наверняка знаете, что такое текстуры. Чтобы наложить их на наш объект, надо его сперва «развернуть».
Когда создается UV-развертка («увихи»), каждому полигону (который, как мы знаем, находится в 3D) сопоставляется определенная область на двухмерной текстуре. Получается этакий набор плоских «выкроек», из которых составлен 3D-объект.
И вот тут-то, если на предыдущем этапе топология получилась кривая, нам это в первый раз может аукнуться. Поэтому UV-развертку, как правило, начинают планировать еще на стадии моделлинга.
Но в нашем случае и топология, и развертка сделаны добротно. Так что мы переходим к стадии текстурирования. А раз у нас есть скульпт, первым делом надо передать на текстуру те детали, которые есть на «хайпольке».
Этот процесс называется «запеканием» (‘baking’). Технические подробности я сейчас опущу. Скажу лишь, что в результате мы получаем текстуру, которая отражает разницу между скульптом и лоу-поли-мешем.
Вернее, не одну текстуру, а целый набор. Как минимум — карту нормалей (Normal Map) и «окклюжена» (AO map). Но зачастую также используются карты «дисплэйса» (displace map), микрорельефа (cavity map), освещенности (light map), просвечиваемости (transparency/thickness map) и много чего еще.
Все они призваны решить одну задачу: сымитировать «хайпольные» детали на игровой модели.
А уже опираясь на эти технические карты, к работе приступает художник по текстурам. И тут надо отметить, что в наши дни практикуются два подхода.
Первый — «олдскульный». Служебные карты загружаются в старый добрый «фотошоп» и там уже разрисовываются. При таком подходе художнику приходится следить за рядом технических нюансов. Например, чтобы совпадал цвет на UV-швах между разными кусками развертки. Да и «увихи» надо разворачивать по-особому, чтоб художнику было проще рисовать. Но зато в дальнейшем текстуры довольно легко модифицировать.
Другой же подход считается более современным. Художник загружает и модель, и технические карты в специальный пакет для 3D-пэинтинга. И уже там рисует прямо по модели. А в виде 2D-картинки текстура экспортируется лишь в самом конце. Считается, что при таком подходе вносить правки сложнее, зато сам процесс текстурирования гораздо более интуитивен, а итоговые текстуры получаются более реалистичными.
В следующем видео продемонстрирован процесс текстурирования через 3D-painting в пакете Mari. Заодно тут можно увидеть, насколько более плотная сетка обычно бывает на низкополигональных моделях для VFX.
Так или иначе, в итоге получается набор текстур, и ассет приобретает не только форму, но и цвет.
Наш ассет: текстура
Профессиональные требованияНа этом этапе нужно владеть уже целым зоопарком всевозможных пакетов:
— Все те же Maya/3ds Max/Softimage/Modo/Blender;
— кроме того, специально для разворачивания «увих» есть headus UV Layout, Unwrella, Unfold3D, а также ворох бесплатных скриптов/плагинов для упомянутых выше редакторов. Не говоря уже о стандартном инструментарии для UV-маппинга.
И — не поверите — каждая из этих программ незаменима в определенных условиях. Так что единого инструмента для UV-маппинга на все случаи жизни — нет;
— для «ортодоксального» текстурирования — Photoshop. Любители экстрима также пытаются в нем имитировать 3D-пэинтинг, но это развлечение для особых ценителей;
— для 3D-пэинтинга — 3D Coat/Zbrush/Mudbox. Отдельно стоит упомянуть Mari: этот пакет требует достаточно мощную видеокарту, зато позволяет работать послойно, как в «фотошопе». И обладает еще кое-какими уникальными «плюшками»;
— для «запекания» текстур — xNormal. У этой программы тоже инопланетный интерфейс, как у ZBrush. Но только не от тех правильных инопланетян, а от каких-то больных на всю голову. И не лечится от версии к версии. Зато это действительно самый мощный софт для запекания всех известных видов карт всеми известными способами. И еще бесплатный к тому же.
— Понимание, чем отличается карта «диффуза» (раскраски) от карты «спекуляра», и как с ними взаимодействует свет;
— умение мыслить «в 2,5D» — когда рисуешь двухмерную карту, при этом понимая, как она натянется на меш;
— знание основных принципов и техник для создания эффективной UV-развертки;
— понимание принципа запекания текстур и умение это делать;
— общие художественные навыки;
— понимание, как работает текстурная фильтрация, и умение рисовать текстуры с ее учетом.
Теперь наш ассет уже более похож на то, каким он будет в игре.
Вообще-то (если пока забыть про эффекты и хитрую стадию под названием «шейдинг»), именно так он и будет выглядеть в финале. Можно считать, что некоторый рубеж уже пройден. Ура!
Но это только внешний вид. А чтобы вдохнуть жизнь в нашу бездушную кучку полигонов с текстурами, надо заставить ее двигаться. Все верно, речь об анимации.
Но это отдельная эпопея, с которой мы продолжим свое путешествие в следующий раз. А пока — если вы дочитали до этих строк, то можно смело считать, что мы на верном пути. Пора отпраздновать уже имеющиеся достижения. Например, съев заслуженный тортик.
Как правильно использовать ассеты?
Рассказываю, чем они могут помочь и навредить в разработке
С каждым годом условия для разработчиков становятся всё лучше и лучше: появляется много движков и инструментов, изобретаются и становятся общедоступными новые техники, количество уроков просто зашкаливает.
Тоже самое происходит и с ассетами: с каждым годом их становится всё больше и больше на любой вкус. Более того, появились даже генераторы ассетов с очень мягкой лицензией!
Но за лёгкостью идут и последствия: игр из готовых ассетов стало настолько много, что к их использованию относятся крайне негативно, обвиняя разработчиков в поиске наилегчайшего пути и отсутствии авторского видения.
Стоит ли их использовать? Как? И где их брать? Узнаете в этом материале.
Ассет (asset) — это набор ресурсов, которые вы можете использовать в своей игре. Потенциально в эту категорию может входить всё что угодно, но обычно под ними имеются в виду готовые программные модули, спрайты, модели, анимации, звуки.
Чаще всего такие наборы объединены какой-то конкретной областью применения, например одна модель с множеством анимаций, система инвентаря, набор спрайтов в схожем стиле. Но это может быть и не так.
Готовые ассеты — это такие наборы, которые лежат в готовом виде в сети и вы можете их приобрести на каких-то условиях и использовать. Впрочем, это можете сделать не только вы, но и все остальные.
Стоит заметить, что готовые ассеты — это не только сделанная за вас работа, но и сделанная качественно. В отличии от фрилансеров, которые делают ассеты на заказ, а потому не стопроцентно гарантируют их готовность и качество, готовые ассеты уже подготовлены не просто к единичному, но к массовому использованию, уже многократно протестированы и наверняка исправлены. А сам тот факт, что автор не побоялся выставить их на всеобщее обозрение, да ещё и за фиксированную цену, уже о многом говорит о его уверенности в себе как в специалисте.
Помимо платных ассетов есть ещё и огромное количество бесплатных ассетов, которые вы можете установить и протестировать прямо сейчас. Их качество никто не гарантирует, но перебором из нескольких вариантов можно быстро найти то, что надо.
Готовые ассеты можно использовать не только напрямую, но и косвенно: использовать в качестве референсов, а ещё изучение внутренностей ассетов может многому вас научить. Впрочем, это уже совсем хардкорный способ обучения.
Почти у всех готовых ассетов указана лицензия. За платные ассеты придётся заплатить. За бесплатные ассеты нужно будет указывать авторство, если не указано обратное. Поэтому конечно мало что вам достанется бесплатно.
Но есть исключение — лицензия Creative Commons, по которой ассеты могут распространяться бесплатно. В мире очень много апологетов свободных ресурсов, набивающих руку начинающих специалистов и просто добрых людей, которые готовы распространять свои работы по этой лицензии. Отдельно стоит упомянуть лицензию CC0 — «Никаких прав не предусмотрено», то есть вы можете делать с этими работами всё что угодно и как угодно.
Чаще всего ассеты представлены в удобном автору виде, а не в виде, удобному вам. Поэтому ассеты придётся адаптировать под свой проект и расширять, будьте к этому готовы. Да, это всё ещё проще, чем делать самому с нуля, но навык приобрести придётся.
Помимо вышеназванных ограничений, есть и прямые недостатки, которые будут тянуть общее качество вашей игры на дно, и с этим стоит считаться.
Прежде всего, стоит упомянуть уникальность. Если кто-то использует тот же готовый ассет, что и у вас в игре, или же тем более вы используете ассет, который был в другой игре — это сразу уронит тень недоверия на вас обоих. Никто не будет разбираться, откуда вы это взяли и имели ли вы право использовать эти ассеты, люди просто рассмеются и пойдут дальше, а вашу игру будут менее серьёзно воспринимать.
Границы возможностей. У каждого ассеты есть определённые ограничения, для которых он приспособлен. Например, модель может быть неприспособлена к лицевой анимации или же программный модуль инвентаря не позволит сделать прокачку вещей. Даже если вы в состоянии это исправить (а это достаточно сложный процесс), эти ограничения будут бессознательно приводить вас к мыслям обрезать задуманное в игре и оставить как есть.
Ну и самое главное — отсутствие авторского замысла. Готовые ассеты сделаны не для вашей игры, у всех них наверняка разный стиль. Если объединить их в одну игру, не приводя к общему виду, у игроков возникнет чувство негармоничности, что будет только отталкивать.
Во-первых, чем меньше вы используете ассетов, тем лучше. Дело даже не в том, что вы выбрали простую дорожку и это нехорошо. Просто чем меньше ассетов вы используете, тем меньше стилистических расхождений между ними. Лучше подбирать большие наборы.
Во-вторых, потратьте время на перебор ассетов. Хорошо проверьте, подходит ли он вам. Если подходит не очень — лучше подобрать другой. В будущем это окупится.
В-третьих, проверяйте лицензию перед использованием. И не скачивайте ничего с торрентов.
В-четвёртых, если у вас есть такая возможность — будьте готовы выделить время для адаптации ассетов под свои нужды. Изучите для этого необходимое ПО.
В-пятых, геймдизайн — это не про сюжет, не про сеттинг и не про количество полигончиков. Это про опыт. Поэтому возможно стоит подправить свои планы под игру под понравившиеся вам надёжные ассеты. Или даже придумать игру на их основе, тоже неплохой опыт.
Ассеты можно делать и своими руками. И если это не касается программного кода, то зачастую для этого не нужно особых навыков, только лишь авторское видение.
В последнее время в сети появляется много генераторов, особенно на основе нейронных сетей. Технологии поражают! Вы можете использовать поисковики для того, чтобы их найти, например с помощью запросов «sound generator» или «planet generator». Не для всего есть варианты, но выбор есть.
Если генератора нет, всё ещё можно использовать старые добрые фильтры. Для картинок это различные визуальные эффекты, которых полно в Photoshop. Для звуков это аудио-эффекты, которых полно в Audacity. Модели можно пересобрать использовать различные инструменты в Blender.
Но это очень тёмный и неосторожный путь. Переделанный ассет должен кардинально отличаться от исходника, чтобы вы могли его свободно использовать на правах производного произведения. Иначе же лицензии вам не избежать. Поэтому лучше использовать чужие работы как референс и пытаться их воспроизвести вручную.
В поисковике! В сети есть буквально десятки магазинов ассетов с десятком тысяч ассетов каждый. А ещё есть подборки магазинов ассетов, написанные уже без меня, вот например такая.
Вы также можете обратиться в поисковик с запросом «редактор аудио/изображений/моделей» или «model/art/audio editor», есть много опций, доступных прямо в браузере. И помните про генераторы! Ищите, обязательно ищите, это не так сложно, как кажется.
Что такое игровой ассет в Unity
Чтобы разобраться с игровыми ассетами для Unity, для начала надо разобраться с ассетами в принципе. Игровой ассет (англ. Game Asset), также игровой ресурс — цифровой объект, преимущественно состоящий из однотипных данных, неделимая сущность, которая представляет часть игрового контента и обладает некими свойствами.
Каждый отдельный файл в нашем Unity-проекте — это неделимая сущность, а значит он является ассетом. Мы можем разделить ассеты юнити (и в принципе везде) на несколько типов.
Встроенные ассеты
Встроенные ассеты — это ассеты, являющиеся частью игрового движка. Они создаются и редактируются внутри самого движка. Туда входят:
Некоторых из вас, возможно, заинтересует, почему я отделил текстуру от спрайта. Дело в том, что спрайт от текстуры отличается именно возможностью настройки ассета. Ведь текстура — это просто набор пикселей, а спрайт — это объект, который обладает своей геометрией, что даёт нам много возможностей для настройки. Именно поэтому за основу работы UI взят именно спрайт, а не текстура. Подробнее о настройках ассетов в юнити и вообще мы поговорим дальше.
Ассеты, которые не являются частью игрового движка
Помимо встроенных ассетов, есть и ассеты, которые не являются частью игрового движка. Они могут создаваться с помощью различных программ, включая написанные на С#.
Настройка ассетов
Как ни странно, но конечный вид ассетов на сцене зависит от настройки ассетов. Настройка одних ассетов может повлиять не только на внешний вид, но и на производительность. Например, настраивая аудиомикшер, вы изменяете только уровни громкости и, возможно, аудиоэффекты — на производительности проекта это особо не скажется. Но настраивая материалы или текстуры, вы можете повлиять не только на конечный вес вашего приложения, но и на производительность рендеринга в целом.
Если понизить разрешение с 2048 до 1024, мы сократим конечный вес текстуры почти в 5 раз. Выгода очевидна.
Подобное, увы, работает не со всеми ассетами в юнити, поэтому некоторые ассеты придётся «облегчать» на этапе их создания или в сторонних программах.
Настраивая материалы и их шейдеры, мы тоже можем разгрузить нашу систему, но уже со стороны потребления ресурсов видеокарты, а не жёсткого диска. Например, для объектов, на которых не нужно отображать тени (например, экран дисплея или искра от лампы), мы можем использовать шейдер unlit, который снизит потребление ресурсов GPU.
Можно ли создать игры без ассетов?
Конечно, можно. Даже если не использовать стандартные примитивы, мы можем создавать объекты — те же примитивы — с помощью скриптов, ресурсов движка из кода, как наши «прадеды» из 80-90-х годов. Можно упростить себе жизнь и создавать уровни и персонажей из примитивов. Для создания уровней вам может пригодиться инструмент Pro Builder. Хотя с недавнего времени он встроен в движок, он всё же является ассетом для юнити :).
Где найти ассеты?
Как несложно догадаться, есть ассеты платные, есть бесплатные, а есть те, что вы создаёте сами для конкретных целей. Да, ассеты можно и нужно создавать самому.
На самом деле мало кому понравится игра, которая была собрана из кучи 2D и даже 3D ассетов для unity. Это связано с тем, что разные ассеты имеют разный стиль, графику, общее качество, что накладывает свой отпечаток. Невероятно сложно создать атмосферную игру полностью из скачанных или купленных ассетов. Поэтому я рекомендую делать игры, которые будут нести целостную атмосферу — пусть даже и с очень простой графикой.
В Сети есть немало площадок, где можно найти ассеты, начиная от Unity Asset Store и заканчивая сторонними магазинами вроде Syntystore.com или Sketchfab.com.
Зачем же тогда нужны ассеты?
Ответ простой: для прототипирования. Это дешёвый способ сделать набросок проекта и понять, стоит ли он будущих вложений. Однако даже это не гарантирует вам инвестиций, потому что всегда есть вероятность, что подобранные вами ассеты не создадут нужную атмосферу. Именно поэтому профессия арт-директора никогда не вымрет 🙂
Island Survival — пример мобильной игры, созданной полностью на бесплатных ассетах
Как создавать свои ассеты?
Создавать свои юнити ассеты не сложно, для этого достаточно использовать программы-редакторы.
Здесь вам понадобятся не только навыки работы с самими программами, но и понимание всей сферы деятельности. Например, для создания моделей нужно понимать их анатомию. Для создания звуков — знать саунд-дизайн, чтобы добиваться красивых звуковых эффектов или раздражающих и нервирующих звуков.
Как обмениваться ассетами?
Обмениваться ассетами в юнити достаточно просто. Если вы создали ассет сам по себе, вам достаточно просто предоставить своему коллеге исходники работы. Но если вы хотите переместить ассет из одного юнити в другой, то лучше использовать функцию «export package», чтобы гарантированно, без потери данных и настроек объекта перенести его из одного юнити в другой.
Если вы с друзьями работаете над одним проектом, то лучше использовать репозиторий. Я могу порекомендовать GitHub, но вообще разных сервисов, предоставляющих систему версионирования, в интернете много. Вы даже можете завести собственную систему, если пожелаете.
Освоить лучшие практики работы с ассетами в Unity и вообще вы сможете на факультете разработки игр Geek University. Кроме того, недавно у нас открылся факультет геймдизайна! Выбирайте, что интереснее 🙂 Ждём вас!
Чтобы разобраться с игровыми ассетами для Unity, для начала надо разобраться с ассетами в принципе. Игровой ассет (англ. Game Asset), также игровой ресурс — цифровой объект, преимущественно состоящий из однотипных данных, неделимая сущность, которая представляет часть игрового контента и обладает некими свойствами.
Каждый отдельный файл в нашем Unity-проекте — это неделимая сущность, а значит он является ассетом. Мы можем разделить ассеты юнити (и в принципе везде) на несколько типов.
Встроенные ассеты
Встроенные ассеты — это ассеты, являющиеся частью игрового движка. Они создаются и редактируются внутри самого движка. Туда входят:
Некоторых из вас, возможно, заинтересует, почему я отделил текстуру от спрайта. Дело в том, что спрайт от текстуры отличается именно возможностью настройки ассета. Ведь текстура — это просто набор пикселей, а спрайт — это объект, который обладает своей геометрией, что даёт нам много возможностей для настройки. Именно поэтому за основу работы UI взят именно спрайт, а не текстура. Подробнее о настройках ассетов в юнити и вообще мы поговорим дальше.
Ассеты, которые не являются частью игрового движка
Помимо встроенных ассетов, есть и ассеты, которые не являются частью игрового движка. Они могут создаваться с помощью различных программ, включая написанные на С#.
Настройка ассетов
Как ни странно, но конечный вид ассетов на сцене зависит от настройки ассетов. Настройка одних ассетов может повлиять не только на внешний вид, но и на производительность. Например, настраивая аудиомикшер, вы изменяете только уровни громкости и, возможно, аудиоэффекты — на производительности проекта это особо не скажется. Но настраивая материалы или текстуры, вы можете повлиять не только на конечный вес вашего приложения, но и на производительность рендеринга в целом.
Если понизить разрешение с 2048 до 1024, мы сократим конечный вес текстуры почти в 5 раз. Выгода очевидна.
Подобное, увы, работает не со всеми ассетами в юнити, поэтому некоторые ассеты придётся «облегчать» на этапе их создания или в сторонних программах.
Настраивая материалы и их шейдеры, мы тоже можем разгрузить нашу систему, но уже со стороны потребления ресурсов видеокарты, а не жёсткого диска. Например, для объектов, на которых не нужно отображать тени (например, экран дисплея или искра от лампы), мы можем использовать шейдер unlit, который снизит потребление ресурсов GPU.
Можно ли создать игры без ассетов?
Конечно, можно. Даже если не использовать стандартные примитивы, мы можем создавать объекты — те же примитивы — с помощью скриптов, ресурсов движка из кода, как наши «прадеды» из 80-90-х годов. Можно упростить себе жизнь и создавать уровни и персонажей из примитивов. Для создания уровней вам может пригодиться инструмент Pro Builder. Хотя с недавнего времени он встроен в движок, он всё же является ассетом для юнити :).
Где найти ассеты?
Как несложно догадаться, есть ассеты платные, есть бесплатные, а есть те, что вы создаёте сами для конкретных целей. Да, ассеты можно и нужно создавать самому.
На самом деле мало кому понравится игра, которая была собрана из кучи 2D и даже 3D ассетов для unity. Это связано с тем, что разные ассеты имеют разный стиль, графику, общее качество, что накладывает свой отпечаток. Невероятно сложно создать атмосферную игру полностью из скачанных или купленных ассетов. Поэтому я рекомендую делать игры, которые будут нести целостную атмосферу — пусть даже и с очень простой графикой.
В Сети есть немало площадок, где можно найти ассеты, начиная от Unity Asset Store и заканчивая сторонними магазинами вроде Syntystore.com или Sketchfab.com.
Зачем же тогда нужны ассеты?
Ответ простой: для прототипирования. Это дешёвый способ сделать набросок проекта и понять, стоит ли он будущих вложений. Однако даже это не гарантирует вам инвестиций, потому что всегда есть вероятность, что подобранные вами ассеты не создадут нужную атмосферу. Именно поэтому профессия арт-директора никогда не вымрет 🙂
Island Survival — пример мобильной игры, созданной полностью на бесплатных ассетах
Как создавать свои ассеты?
Создавать свои юнити ассеты не сложно, для этого достаточно использовать программы-редакторы.
Здесь вам понадобятся не только навыки работы с самими программами, но и понимание всей сферы деятельности. Например, для создания моделей нужно понимать их анатомию. Для создания звуков — знать саунд-дизайн, чтобы добиваться красивых звуковых эффектов или раздражающих и нервирующих звуков.
Как обмениваться ассетами?
Обмениваться ассетами в юнити достаточно просто. Если вы создали ассет сам по себе, вам достаточно просто предоставить своему коллеге исходники работы. Но если вы хотите переместить ассет из одного юнити в другой, то лучше использовать функцию «export package», чтобы гарантированно, без потери данных и настроек объекта перенести его из одного юнити в другой.
Если вы с друзьями работаете над одним проектом, то лучше использовать репозиторий. Я могу порекомендовать GitHub, но вообще разных сервисов, предоставляющих систему версионирования, в интернете много. Вы даже можете завести собственную систему, если пожелаете.
Освоить лучшие практики работы с ассетами в Unity и вообще вы сможете на факультете разработки игр Geek University. Кроме того, недавно у нас открылся факультет геймдизайна! Выбирайте, что интереснее 🙂 Ждём вас!