Что такое игровой ассет
Что такое ассеты Unity, где их скачать и как добавить
За 12 минут чтения этой статьи вы узнаете, что такое ассеты, где их взять и почему без них нельзя создать ни одной игры на Unity.
Ассеты — это компоненты, которые представляют собой графику, звуковое сопровождение или скрипты. Они прикрепляются к объектам и составляют важную часть игры.
Например, к объекту Skeleton (скелет) могут быть прикреплены такие компоненты:
Все эти компоненты нужны, чтобы игрок видел не неподвижную болванку, а полноценного врага, который преследует героя и нападает на него, издавая при этом страшные звуки.
Какие бывают ассеты
К ассетам относятся:
Пишет о разработке сайтов, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Где брать ассеты для Unity
По умолчанию в Unity есть стандартные ассеты (если вы не отключили их во время установки), но только для 3D-проектов. Для двумерных игр их приходится искать или создавать самостоятельно.
Самый простой вариант — скачать их в Unity Asset Store. Это официальный магазин, где можно найти как платные, так и бесплатные компоненты для игр. Здесь можно выбрать категории ассетов и нужное измерение (2D или 3D).
Тут вы можете узнать, что входит в набор, а также проверить, поддерживается ли он в вашей версии Unity.
Спрайты, звуки и модели подходят практически для всех версий движка. Проблемы с совместимостью могут быть у скриптов, эффектов, префабов и анимации.
В Asset Store можно зайти прямо из редактора Unity — это удобно, если вам понадобились ассеты во время разработки и вы не хотите открывать браузер.
Если у вас старая версия Unity, вы можете указать в фильтре поиск только совместимых наборов. Для этого нужно перейти в старый магазин, нажать кнопку Filters и указать версию в поле Supported Unity Version.
Если в официальном магазине Unity вы не нашли ничего подходящего, попробуйте сделать это на других площадках.
Также можете поискать что-нибудь на форумах и сайтах для инди-разработчиков:
Если ничего подходящего нет и там, можно заказать нужные ассеты у фрилансеров, которые специализируются на разработке скриптов или создании графики для игр.
Это может быть дороже и дольше, чем использование готовых компонентов, но вы получите что-то созданное специально для вашего проекта. А значит, будете уверены, что ассеты уникальны, а не встретятся еще в десяти или двадцати играх.
Как создать ассеты для Unity самому
Если нет возможности купить или заказать ассеты, то создать их можно и самостоятельно, но для этого понадобится знание программ для работы с графикой и аудио, а также навыки программирования.
Спрайты можно нарисовать в Adobe Photoshop или Adobe Illustrator, но подойдет и MS Paint. Для этого нужно владеть векторной графикой или уметь рисовать в стиле pixel art. А еще можно просто сфотографировать реальный предмет, а потом обрезать фото и обработать его для игры.
Модели можно создавать в программах Blender или 3ds Max. Для этого нужно разбираться в трехмерной графике, в том числе и в создании скелетной анимации.
Скрипты пишут в MonoDevelop (встроенный редактор Unity) или любом другом редакторе кода. Для этого нужно знать JavaScript или C#, а также библиотеки для работы с Unity.
Аудио можно записать на диктофон, а потом обработать в Sony Sound Forge, Adobe Audition или в бесплатном Audacity. Могут получиться очень атмосферные эффекты, если у вас скрипят полы или двери. Также вы можете записать какую-нибудь композицию в Frutty Loops или Cubase.
На что обратить внимание при создании ассетов
Прежде всего — на их качество и размер. С большими ассетами игра станет более требовательной. Если же, наоборот, сжать спрайты, аудио и модели, то проект станет менее привлекательным. Поэтому нужно соблюдать баланс между производительностью и качеством.
Также вы можете дать игрокам возможность самим выбирать качество — но тогда придется добавлять ассеты в нескольких вариациях, и из-за этого увеличится размер программы.
Как использовать ассеты в Unity
Есть несколько способов добавить ассеты в Unity-проект. Самый простой — с помощью обозревателя поместить файлы в папку Assets.
Можно и перетащить их в поле Assets внутри редактора Unity. Там же можно создать новые скрипты или префабы.
Если проект еще не был создан, можно добавить набор ассетов с помощью кнопки Add Asset Package. Чтобы воспользоваться ею, нужно быть авторизованным. Также у вас должны быть уже куплены или добавлены ассеты из Asset Store.
Чтобы добавить ассет на локацию, его нужно перетащить из поля Assets в поле Scene.
Вы можете прикрепить ассет к уже готовому игровому объекту. Для этого надо выбрать объект и в поле Inspector нажать Add Component, а затем указать какой-нибудь компонент.
С помощью нескольких ассетов вполне можно создать простую игру.
Заключение
Поиск и использование хороших ассетов — это только полдела. Чтобы создать серьезную игру, нужно уметь грамотно связать все компоненты в единое целое.
Кроме того, вам понадобятся знания в гейм- и левел-дизайне и дополнительные технические навыки. Если вы новичок в разработке игр, то получить нужные знания и почувствовать себя увереннее поможет учебный курс «Профессия разработчик игр на 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-развертки;
— понимание принципа запекания текстур и умение это делать;
— общие художественные навыки;
— понимание, как работает текстурная фильтрация, и умение рисовать текстуры с ее учетом.
Теперь наш ассет уже более похож на то, каким он будет в игре.
Вообще-то (если пока забыть про эффекты и хитрую стадию под названием «шейдинг»), именно так он и будет выглядеть в финале. Можно считать, что некоторый рубеж уже пройден. Ура!
Но это только внешний вид. А чтобы вдохнуть жизнь в нашу бездушную кучку полигонов с текстурами, надо заставить ее двигаться. Все верно, речь об анимации.
Но это отдельная эпопея, с которой мы продолжим свое путешествие в следующий раз. А пока — если вы дочитали до этих строк, то можно смело считать, что мы на верном пути. Пора отпраздновать уже имеющиеся достижения. Например, съев заслуженный тортик.
Что такое 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, здесь вы можете найти нужный инструмент, а так же придумать, реализовать и опубликовать свой.
Если кто-то занимается аналогичным творчеством, пишите, буду рад вашим мыслям и комментариям!
Игровой ассет
Из Википедии — свободной энциклопедии
Игровой ассет (англ. Game Asset ) или Игровой ресурс — цифровой объект, преимущественно состоящий из однотипных данных, неделимая сущность, которая представляет часть игрового контента и обладает некими свойствами. Понятие «игрового ассета» используется при разработке компьютерных игр по отношению к тем элементам контента, которые обрабатываются ресурсной системой как неделимые (атомарные, элементарные) сущности.
С точки зрения программной модели ассет (ресурс) может выступать в виде объекта, созданного на некотором наборе данных. Ресурс может храниться в виде отдельного файла. Ресурсы являются «строительными блоками» игровых объектов, из которых собственно и состоит игра.
Совокупность всех ресурсов в игре, всех объектов, построенных на ресурсах, всех ссылок и связей между ними, а также ограничений на ресурсы и механизмов сериализации/десериализации ресурсов называется ресурсной системой.
К ассетам (ресурсам) относятся все данные, используемые и обрабатываемые компьютерной игрой: геометрические модели, текстуры, отдельные звуки и музыкальные треки, тексты диалогов, анимационные данные, модели поведения игрового ИИ и проч. Совокупность всех ассетов представляет контент игры, тогда как игровой движок является совокупностью всех механизмов, обрабатывающих контент. На начало 2010-х годов количество ассетов в среднестатистической игре превышает 100 000.
Что такое игровой ассет в 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. Кроме того, недавно у нас открылся факультет геймдизайна! Выбирайте, что интереснее 🙂 Ждём вас!