Unity asset store как открыть в юнити
Перейти к содержимому

Unity asset store как открыть в юнити

How to import asset from Unity asset store in 2021

Unity has changed the way to import assets from the asset store in the recent Unity versions. Earlier you can open a window inside the Unity editor and import the asset directly to your project. But from Unity 2020 if you open the asset store window you will see the message as in the picture below.

Unity editor asset store window

Now you need to use the package manager to import your assets. Let’s go into this in a step-by-step manner.

Step1: Add to My Asset list

  1. Go to Unity Asset store on your browser.
  2. Bookmark this link as you will need to visit this frequently.
  3. You can also check the “Always open in browser from menu”.
  4. Sign In to your Unity asset.
  5. Browse for the best Unity asset of your choice.
  6. If it’s a paid asset, make the payment.
  7. Click on “Add to my asset”.

Unity sign in

Add to my assets

Step2: Import into your project

  1. Open Unity package manager by going to Window>PackageManager.
  2. Wait for the package manager to populate the list.
  3. Select My assets from the dropdown on the top.
  4. Select the asset you want from the list and click import.

using Unity Package Manager when Offline

You can still access Unity package manager in Offline mode. But you cannot download any new assets from the asset store. You can use the following features in offline mode

  1. Install inbuild Unity packages.
  2. Add or Remove Unity core features.
  3. Import already downloaded assets.

You cannot do the following in offline mode

  1. Update features and packages.
  2. Update your assets list.
  3. Download new assets.

Hope this clears the confusion on the new way to import your Unity asset. If you have any further queries, feel free to comment below.

Что такое игровой ассет в Unity

На фото — часть набора ассетов «The Hunt — Cyberpunk Pack», обладателя премии Unity Awards 2018 в номинации «Best Artistic Content»

Чтобы разобраться с игровыми ассетами для Unity, для начала надо разобраться с ассетами в принципе. Игровой ассет (англ. Game Asset), также игровой ресурс — цифровой объект, преимущественно состоящий из однотипных данных, неделимая сущность, которая представляет часть игрового контента и обладает некими свойствами.

Каждый отдельный файл в нашем Unity-проекте — это неделимая сущность, а значит он является ассетом. Мы можем разделить ассеты юнити (и в принципе везде) на несколько типов.

Встроенные ассеты

Встроенные ассеты — это ассеты, являющиеся частью игрового движка. Они создаются и редактируются внутри самого движка. Туда входят:

  • Стандартный примитив — это встроенная модель для создания примитивной фигуры, например, сферы, куба, капсулы.
  • Анимационный клип — это файл, который хранит в себе информацию об изменениях координат объекта. Клипы применяются для создания спрайтовых анимаций или для анимирования простых объектов на уровне (например, с помощью ассета юнити можно сделать открывание двери).
  • Аудиомикшер — это файл, который содержит в себе информацию о настройках громкости и эффектов источников звука.
  • GUISkin — это файл, который хранит информацию о GUIStyles, применяемых к вашему GUI. Эти ассеты в Unity предназначены для применения стилей ко всему пользовательскому интерфейсу.
  • Материал — это файл, который хранит в себе информацию о настройке рендеринга объекта на сцене, настройку шейдера.
  • Физический материал — это файл, который позволяет настроить физические параметры объекта, чтобы контролировать его поведение (например, ассет резинового мяча или кирпича).
  • Префаб — это файл, который содержит информацию об игровом шаблоне (например, шаблон противника или оружия).
  • Сцена — это файл, хранящий в себе информацию о настройках сцены и объектах, которые она содержит.
  • Спрайт — это файл, который хранит настройки отображения спрайта (например, особенности того, как объект будет растягиваться или сколько именно спрайтов содержит в себе данная текстура).

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

Ассеты, которые не являются частью игрового движка

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

  • Звуки — это обычные аудио файлы в формате .mp3 .ogg .wav .aiff / .aif
  • Шрифты — обычный формат шрифтов в формате .ttf, он также подходит и для photoshop или word.
  • Модели (анимации) — это файлы c расширением .fbx, .obj, .dae. Также для ассетов в Unity можно использовать исходные файлы программ 3ds Max, Blender, Modo, Cheetah3D. Однако стоит помнить, что не все расширения файлов поддерживают анимации и кости (например .obj).
  • Скрипты — обычно это файлы .cs или .shader, но также можно импортировать и библиотеки .dll. В этих файлах содержится код, который используют программисты (всегда на страже, ваш Кэп :)).
  • Текстуры — это файлы картинок с расширением .jpeg, .png, .psd, .targa и т.д., который вы можете применять к материалам в виде основных текстур или дополнительных карт. Также иногда их можно использовать в объектах интерфейса, например raw image.
  • Видеоклипы — это файлы видеоклипов, который вы можете применять для создания катсцен, заглушек камер наблюдения и много как ещё. Как правило это файлы с расширением .avi, .dv, .m4v, .mov, .mp4, .mpg, .mpeg, .ogv, .vp8, .webm, .wmv.

Настройка ассетов

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

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

Если понизить разрешение с 2048 до 1024, мы сократим конечный вес текстуры почти в 5 раз. Выгода очевидна.

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

Настраивая материалы и их шейдеры, мы тоже можем разгрузить нашу систему, но уже со стороны потребления ресурсов видеокарты, а не жёсткого диска. Например, для объектов, на которых не нужно отображать тени (например, экран дисплея или искра от лампы), мы можем использовать шейдер unlit, который снизит потребление ресурсов GPU.

Можно ли создать игры без ассетов?

Конечно, можно. Даже если не использовать стандартные примитивы, мы можем создавать объекты — те же примитивы — с помощью скриптов, ресурсов движка из кода, как наши «прадеды» из 80-90-х годов. Можно упростить себе жизнь и создавать уровни и персонажей из примитивов. Для создания уровней вам может пригодиться инструмент Pro Builder. Хотя с недавнего времени он встроен в движок, он всё же является ассетом для юнити :).

Где найти ассеты?

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

На самом деле мало кому понравится игра, которая была собрана из кучи 2D и даже 3D ассетов для unity. Это связано с тем, что разные ассеты имеют разный стиль, графику, общее качество, что накладывает свой отпечаток. Невероятно сложно создать атмосферную игру полностью из скачанных или купленных ассетов. Поэтому я рекомендую делать игры, которые будут нести целостную атмосферу — пусть даже и с очень простой графикой.

В Сети есть немало площадок, где можно найти ассеты, начиная от Unity Asset Store и заканчивая сторонними магазинами вроде Syntystore.com или Sketchfab.com.

Зачем же тогда нужны ассеты?

Ответ простой: для прототипирования. Это дешёвый способ сделать набросок проекта и понять, стоит ли он будущих вложений. Однако даже это не гарантирует вам инвестиций, потому что всегда есть вероятность, что подобранные вами ассеты не создадут нужную атмосферу. Именно поэтому профессия арт-директора никогда не вымрет 🙂

Island Survival — пример мобильной игры, созданной полностью на бесплатных ассетах

Как создавать свои ассеты?

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

  • Для 3D ассетов — 3D Max, Maya, ZBrush, Blender, Marmoset, Substance Designer/Painter.
  • Для 2D ассетов — Photoshop, SAI, GIMP, Paint.NET.
  • Для звуков подойдёт Cubase, FL Studio, Reaper, Wave Editor.
  • Видеоклипы можно создавать в Adobe Premiere, Vegas Pro и т.д.

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

Как обмениваться ассетами?

Обмениваться ассетами в юнити достаточно просто. Если вы создали ассет сам по себе, вам достаточно просто предоставить своему коллеге исходники работы. Но если вы хотите переместить ассет из одного юнити в другой, то лучше использовать функцию «export package», чтобы гарантированно, без потери данных и настроек объекта перенести его из одного юнити в другой.

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

Освоить лучшие практики работы с ассетами в Unity и вообще вы сможете на факультете разработки игр Geek University. Кроме того, недавно у нас открылся факультет геймдизайна! Выбирайте, что интереснее 🙂 Ждём вас!

Разработка и публикация ассета в Unity Asset Store

image

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

Тут нам на помощь приходит Unity Asset Store, который позволяет покупать\продавать практически все, что поможет при разработке, будь то отдельные скрипты, паки с моделями или же целые игровые проекты и стартер киты, которые могут сэкономить огромный объем труда, позволив не писать базовые вещи, которые есть почти во всех играх.

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

Далее будут описаны моменты, которых нету в официальной документации по паблишингу ассетов, на которые стоит обратить внимание:
1) При использовании Package Upload Tools собирается и помещается пакет, который загружается на сервер. Поскольку из превью страницы ассет стора вы не сможете скачать сами свой же ассет лучше всего для финальных тестов использовать именно этот пакет, который создается инструментами для загрузки в стор.
Если ваш проект использует другие пакеты (скажем, вы интегрировали NGUI для работы с юзер интерфейсом) то следует проверить, чтобы они не были включены в пакет, который вы отправляете на проверку. У нас было так, что даже при выделении папки с нашим продуктом в финальный пакет попадала папка Plugins. Наиболее простое решение- просто удалять эту папке перед загрузкой в ассет стор.

2) Вы должны проверить ваш ассет на плагиат. В особенности, если вы используете какие-либо подходы из уже находящихся в ассет сторе ассетах. К примеру, когда мы делали Complete 3D Game Template некоторые функции были взяты из другого стартер кита попроще. Чтобы избежать какого-либо плагиата мы проверили весь код через MOSS (наиболее адекватный и точный инструмент проверки на сходство двух проектов в коде. Разработан стенфордским университетом и умеет логически анализировать код, показывает одинаковые куски кода, даже если похожести завуалировали переименованием переменных, дроблением кода на функции и подобное). По сети гуляет открытый GUI клиент для сравнения исходников. Можно закинуть 2 папки- со своим кодом и с кодом ассета, на плагиат из которого нужно провериться и через минуту будет сгенерирован подробный side-by-side список пересечений.

3) Ваш ассет должен быть протестирован на всех платформах. Как в скомпилированном виде, так и в редакторе юнити, причем, желательно, на разных версиях юнити. Многие вещи могут не работать. К примеру, в 4ой юнити были разного рода проблемы с билдом под браузер- там нельзя было использовать не переопределенные virtual функции в Coroutine- билд просто падал.
В юнити при тестировании ассета же используется последняя версия Unity3d pro, можно ориентироваться на нее. В случае, если на любой из платформ ваш проект не будет собираться- его могут отказаться публиковать, пока не пофиксите.

4) В случае, если проект содержит более пары строк кода он должен иметь документацию. Даже если у вас весь код задокументирован и есть readme, описывающий как начать работать с ассетом- зачастую вам будет необходимо сделать .pdf с описанием ваших систем и как они взаимодействуют.
Не лишним будет сделать диаграмму классов: при помощи visual studio делается и конвертируется в .pdf за пару кликов, но при этом экономит пользователям ассета уйму времени.

5) В случае, если вы в своем пакете используете другие (К примеру, для создания стартер кита мы интегрировали в ассет сразу несколько: NGUI, HOTween, Highlighting System, EasySave2, в прочем, многие из них можно отключить изменением одного дефайна) то вам следует перед публикацией удостовериться, что вы используете последние версии всех пакетов, а так же что вы указали в readme и документации их названия и ссылки на них в Asset Store. Вы не можете использовать старые версии ассетов. Так же все должно работать на последней версии юнити.
При разработке стартер кита мы руководствовались опытом разработки обычных проектов: работает- не трож, оставаясь до последнего момента на устаревших версиях всех ассетов и юнити. В последствии ушло немалое количество времени и сил, чтобы обновить все ассеты и пофиксить баги, связанные с обновлением.

6) Небольшой хак, на случай, когда ассет забраковали с пометкой о том, что нужно что то переделать: как только вы все поправили вы можете в ответ на сообщение на почту о отклонении ассета написать, что вы поправили ошибку и просите перепроверить. В таком случае вам не придется ждать долго как при первой отправке- ваш пакет протестируют в течение дня-двух.
В целом, админины в юнити крайне дружелюбны и с удовольствием опишут при запросе как именно воспроизвести ошибку, которую они нашли (в первый раз, когда мы не могли найти платформозависимую ошибку нам подробно расписали как ее получить. Во второй раз, как бы странно это ни было, мы спросили как воспроизвести ошибку и они не смогли воспроизвести ее повторно сами. В итоге мы так ничего и не поменяли и после повторного теста ассет приняли).

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

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