Меню

Ассеты для unity 2d космос

Космический шутер в Unity 2D

Настройка Unity

Запустите Unity, и в верхнем меню выберите «File -> New Project». Назовите каталог проекта (например, SpaceShooter) и убедитесь, что выбран режим «2D» в выпадающем списке.

Теперь вы должны увидеть интерфейс Unity, специально предназначенный для создания 2D игр. Вот как он выглядит.

Интерфейс Unity делится на 6 вкладок:

  • Project: показывает все активы (ассеты) игры (изображения, звуки и т.д.)
  • Hierarchy: показывает все элементы, находящиеся на сцене
  • Scene: позволяет устанавливать и позиционировать игровые объекты
  • Game: интерактивный просмотр игры
  • Inspector: показывает информацию связанную с выбранным объектом
  • Console: отображает полезные отладочные сообщения

За работу! Перейдите на вкладку Project, затем выберите «Create -> Folder» и создайте 4 папки:

  • Textures, где мы будем хранить все изображения
  • Scripts: со всем нашим Javascript-кодом
  • Prefabs, которая будет содержать все наши игровые объекты
  • Scenes будет хранить различные сцены игры

Теперь скачайте файлы, содержащие все картинки нашей игры и переместите их в директорию «Textures», которые мы только что создали.

Теперь вы должны сохранить вашу сцену. Сделайте «File -> Save Scene». Unity попросит вас назвать свою сцену, вы можете назвать ее «MainScene». Не забудьте переместить «MainScene» в папку Scenes.

Добавляем фон в сцену

Перетащите фоновое изображение из папки Textures на вкладку Hierarchy.

Выберите фон на вкладке Hierarchy. Вы можете видеть, что вкладка Inspector теперь содержит информацию о нашем фоне.

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

  • Transform: отвечает за положение, поворот и масштаб объекта
  • Renderer: содержит отображаемый спрайт
  • Script: скрипт для данного конкретного объекта
  • Rigidbody: для добавления физики (гравитация, скорость и т.д.)
  • Colliders: чтобы заставить объект сталкиваться с другими объектами

Добаление космического корабля

Теперь перетащите космический корабль на вкладку Hierarchy. Так как мы хотим, чтобы на наш корабль действовали законы физики, мы должны добавить ему «Rigidbody». Для этого перейдите к вкладке Inspector и проделайте следующие действия: «Add component -> Physics 2D -> Rigidbody 2D». Удостоверьтесь, чтобы напротим пункта «is Kinematic» стоит галочка, иначе наш корабль упадет под действием силы тяжести.

Измените положение корабля во вкладке Hierarchy на -4, чтобы расположить его внизу экрана.

Далее, мы хотим управлять нашим космическим корабем, поэтому нам нужно написать небольшой код. Выберите корабль, и во вкладке Inspector сделайте «Add Component -> New script» (Добавить компонент -> Новый скрипт). Назовите его «spaceshipScript», и выберите параметр «Javascript» в выпадающем списке (the gif below select «CSharpt», and that’s a mistake).

Найдите «spaceshipScript» на вкладке проекта (Project), поместите его в папку Scripts. Затем дважды щелкните по сценарию, чтобы открыть редактор кода и заменить код по умолчанию, это:

Теперь, когда у нас есть космический корабль, мы можем протестировать игру. В Unity сделать это очень просто: достаточно нажать кнопку воспроизведения в верхней части экрана. Но прежде, вы должны перейдити на вкладку game (игра) и установить соотношение сторон равным 5:4.

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

Читайте также:  Тесла родстер космос трансляция

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

Стрельба

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

Перетащите изображение с пулями на вкладку Иерархия (Hierarchy), добавьте компонент «Rigidbody 2D» к нему, и не забудьте поставить галочку рядом с «is Kinematic».

Затем мы добавляем новый скрипт для пули так же, как мы сделали это с кораблем. Откройте скрипт «bulletScript», и добавьте в него этот код:

Поскольку мы устанавливаем переменную speed как публичную, то что мы можем напрямую редактировать ее во вклвдке инспектор (Inspector). Это очень удобно, если вам нужно быстро настроить значение переменной без редактирования самого скрипта. Не забудьте потом прописать подобранное значение в самом скрипте!

Наша пуля готова, нам осталось только «сохранить» ее, чтобы можно было использовать ее повторно. Просто перетащите пулю из вкладки Иерархия в папку Prefabs, а затем удалить пулю из сцены.

Космические пульки

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

Теперь надо помочь Unity понять, что из себя представляет переменная «пули». Поскольку мы сделали ее публичной, можно просто перетащить префаб пули в инспектор корабля таким образом. Since

Нажмите кнопку воспроизведения. Теперь двигаться и стрелять пулями при нажатии на клавишу пробел. Все это с помощью 15 строк кода и это только начало!

Неприятели

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

Перетащите врага из папки Textures во вкладке Hierarchy, добавьте компонент Rigidbody и убедитесь, что галочка стоит напротив пункта «is kinematic» (мы не хотим чтобы на врага действовала сила тяжести).

Затем добавьте компонент сценария к противнику под названием «enemyScript» с таким кодом:

Теперь, когда враг готов, мы должны «сохранить» его, сделав префабом. Просто перетащите противника в папку Prefabs, и удалить из Нierarchy.

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

Теперь добавьте к нему новый скриптовый компонент под названием «spawnScript» с помощью этого кода:

Этот код создает нового врага каждые spawnTime секунд где-то на белой линии:

Не забудьте настроить публичную переменную, перетащив префаб врага на его ввод:

Теперь вы можете протестировать игру, нажав на кнопку «Play». Вот, что у нас должно получиться:

Враги появляются как и должны, но у нас нет никаких столкновений. Давайте посмотрим, как исправить это.

Столкновения

Космический корабль, враги, и пули все должны сталкиваться друг с другом. Чтобы это работало, каждый из этих объектов должен иметь новый компонент под названием «box collider». Для этого вы должны проделать над нашими объектами следующий порядок действий: «Add Component -> Physics 2D -> Box Collider 2D»:

Затем выберите префаб противника, и поставьте галочку напротив опции «is trigger» в бокс-коллайдере. В результате Unity будет вызвать функцию OnTriggerEnter2D при каждом столкновении врага с чем-то.

Читайте также:  Проблема мирного освоения космоса проявления

Теперь добавьте эту новую функцию в конец enemyScript:

Источник

Топ 15 бесплатных Unity ассетов для начинающего 2D разработчика

Введение

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

Сама платформа Unity предоставляет широкий набор инструментов, но иногда не хватает и их. Тогда в дело вступает Asset Store с миллионами ассетов, моделей и примеров проектов.

Если у вас еще мало опыта в разработке приложений, имейте в виду: Asset Store – это огромный склад велосипедов, которые уже изобрели до вас. При этом там можно найти очень много бесплатного контента, или же контента по цене одной чашки кофе (сэкономьте на латте!).

Почему мы посвятили статью именно 2D играм? Посмотрите на рынок: 2D игры сейчас переживают ренессанс. Чтобы в этом убедиться, достаточно взглянуть на инди-сектор в Steam, Ketchapp и Zeptolab в мобильной разработке. 2D игры давно превратились из отжившего свое сектора в отдельную процветающую нишу рынка. Поэтому если вы решили делать 2D игру на Unity, сначала убедитесь, что у вас в арсенале есть все нужные инструменты, чтобы обеспечить должное качество продукта.

Немного про Asset Store

Если вы читаете эту статью, то скорее всего что-то слышали про Asset Store. Там хранятся несколько тысяч моделей, плагинов, систем частиц, скриптов и многое другое. Часть этого добра распространяется за деньги, а часть совершенно бесплатно! И мы настоятельно рекомендуем пользоваться этим обстоятельством. Прежде чем реализовывать A* для ваших юнитов, подумайте: может быть, кто-то уже сделал это до вас и выложил в общий доступ в удобной форме.

Ассеты с точки зрения 2D разработки

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

Что же нам может понадобиться? Вот список:

  • Готовые шаблоны проектов, с помощью которых можно быстро научиться базовым механикам создания игры. Это могут быть как платформеры, так и что-то более специфическое, например, roguelike.
  • Так называемые Sprite packs, то есть паки текстур для вашей 2D игры. Они очень полезны на том этапе, когда у вас еще нет арта, но уже появились идеи для механики. Спрайт паки можно использовать, просто чтобы было с чем работать. Естественно, в релизной версии их лучше заменить на оригинальную графику.
  • Готовые 2D объекты. Это могут быть как классические триггеры (зоны смерти, точки респауна, телепорты), так и что-то более интересное, скажем, физически верно рассчитанный меховой шарик.
  • Скрипты и расширения редактора. Это отдельный, огромный класс компонентов, которые могут выполнять широкий спектр разных задач. Можно поставить скрипт, который добавит несколько приятных визуализаций в редактор, а можно превратить Unity в инструмент визуального кодинга, вроде Unreal Blueprints.
  • Эффекты. Сюда можно отнести огромные паки частиц, эффекты на камеру, шейдеры для спрайтов и т.п. В этом сегменте попадается особенно много бесплатных ресурсов.
  • Анимации. Сюда можно отнести библиотеку простых анимаций (твинов), а также примеры покадровой или скелетной анимации.
Читайте также:  Как цветут цветы космос

Непосредственно ТОП

Пак стандартных ассетов от самой Unity. Это самые необходимые и проверенные в деле ассеты. Все они относятся к следующим категориям: 2D, Cameras, Characters, CrossPlatformInput, Effects, Environment, ParticleSystems, Prototyping, Utility, Vehicles. Эти ассеты можно подключить при установке Unity.

Великолепная библиотека твинов. Содержит все необходимые виды твинов (move, scale, rotate, alpha, color). Ее отличает очень удобный вызов методов, поддержка easing type и многое другое. Комбинируя простые твины, можно создавать очень интересные эффекты.

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

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

Более сложный пример 2D платформера от самой Unity. В отличии от 2D Platformer Controller здесь добавлена анимация, стрельба и еще множество функций и объектов.

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

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

Большой ассет для работы с скелетной 2d анимацией, включая инверсную кинематику и автоматическую генерацию весов. Раньше он стоил 60 $, но недавно Unity сделала его бесплатным. Очень мощный инструмент.

Удобный ассет-редактор для создания тайловых уровней; может разбивать атласы по сетке, рисовать уровни в редакторе Unity, добавлять коллайдеры на блоки и настраивать слои отрисовки.

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

AutoSave – ассет, который не ценишь, пока он не сработает. Суть в том, что при обычном положении вещей если Unity зависает или вылетает, а вы не сохранили сцену, то все внесенные изменения пропадут. То есть вы можете час делать уровнь, забыть сохраниться и потерять его из-за критической ошибке в скрипте (например, бесконечного цикла). AutoSave сохраняет сцену при каждом нажатии на кнопку Play. Это очень удобно.

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

Мощный шаблон «рогалика». Содержит в себе управление героем, врагов, этажи уровней, звуки и эффекты.

Расширенный и усиленный вариант Simple Sprite Packer. Огромное количество функционала для работы с атласами.

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

Источник

Adblock
detector