Прежде чем создавать 2D-игру, необходимо определиться с перспективой игры и художественным стилем.
Чтобы создать 2D-игру, настройте свой проект Unity, а затем ознакомьтесь с соответствующими понятиями в следующем порядке:
- Основы
- Сценарии
- СпрайтыДвумерные графические объекты. Если вы привыкли работать в 3D, спрайты — это, по сути, просто стандартные текстуры, но есть специальные приемы комбинирования текстур спрайтов и управления ими для повышения эффективности и удобства во время разработки. Подробнее
См. в Словарь - Создание игровой среды
- Анимация персонажей
- Графика
- Физика 2D
- Аудио
- Пользовательский интерфейс
- Профилирование, оптимизация и тестирование
- Публикация
Основы
Игровые объектыФундаментальный объект в сценах Unity, который может представлять персонажей, реквизит , пейзажи, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь — это основные объекты в Unity, представляющие персонажей, реквизит, декорации, и более. Каждый объект в вашей игре является GameObject.
GameObjects представляют элементы в вашей игре; пространство, в котором вы размещаете их для создания уровня, называется сценойСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь. Сцены в Unity всегда 3D; когда вы создаете 2D-игру в Unity, вы обычно предпочитаете игнорировать третье измерение (ось Z), но вы также можете использовать его в особых случаях, например при создании 2,5D-игр.
Поведение GameObjects определяется функциональными блоками, называемыми компонентами. Следующие компоненты имеют основополагающее значение для 2D-игр:
Transform: компонент Transformкомпонент Transform определяет положение, вращение и масштаб каждого объекта в сцене. Каждый GameObject имеет Transform. Подробнее
См. в Словарь определяет положение, вращение и масштаб каждого игрового объекта в сцена. У каждого GameObject есть компонент Transform.Визуализатор спрайтовКомпонент, позволяющий отображать изображения как спрайты для использования как в 2D, так и в 3D сценах. Подробнее
См. в Словаре: компонент Sprite Renderer визуализирует Sprite и управляет его внешним видом. в сцене.КамерыКомпонент, создающий изображение конкретная точка зрения в вашей сцене. Вывод либо рисуется на экране, либо фиксируется в виде текстуры. Подробнее
См. в Словарь: устройства, которые захватывают и отображают мир для игрока. Пометка камеры как ортогональная удаляет всю перспективу из вида камеры. В основном это полезно для создания изометрических или 2D-игр.2D-коллайдер: этот компонент определяет форму 2D-игрового объекта для физических столкновений. Столкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов соприкасаются или перекрываются, когда хотя бы один из них имеет компонент Rigidbody и находится в движении. Подробнее
См. в Словарь. См. раздел 2D-физика.
Компоненты представляют собой UI(пользовательский интерфейс). Позволяет пользователю взаимодействовать с вашим приложением. В настоящее время Unity поддерживает три системы пользовательского интерфейса. Подробнее
Смотреть в Словарь представления классов C#; вы можете использовать сценарии для изменения и взаимодействия с компонентами или для создания новых. Дополнительную информацию см. в разделе Сценарии.
Сценарий
Все 2D-игры нуждаются в скриптахфрагменте кода, позволяющем создавать ваши собственные Компоненты, запускайте игровые события, изменяйте свойства Компонентов с течением времени и реагируйте на ввод данных пользователем любым удобным для вас способом. Подробнее
См. в Словарь. Скрипты реагируют на действия игрока и организуют события в игровом процессе, когда они должны происходить.
Подробнее об использовании сценариев в Unity см. Обзор сценариев. Также см. курс Unity Learn Скрипты для начинающих.
Сценарии присоединяются к GameObjects, и любой создаваемый вами сценарий наследуется от класса MonoBehaviour.
Спрайты
Спрайты – это двухмерные графические объекты. Вы используете спрайты для всех типов 2D-игр. Например, вы можете импортировать изображение своего главного героя в виде спрайта.

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

Importing and setting up Sprites
Импортируйте свои спрайты с рекомендуемыми настройками Unity; см. Импорт и настройка спрайтов.
Визуализация спрайтов
Используйте компонент Sprite Renderer для визуализации спрайтов. Например, вы можете использовать средство визуализации спрайтов, чтобы изменить цвет и прозрачность спрайта.

См. руководство по изучению Sprite Renderer. . Сортировка спрайтов. Организуя спрайты слоями, вы можете создать иллюзию глубины. Вы можете сортировать спрайты по множеству стратегий. Подробнее см. в разделе Сортировка спрайтов. Например, вы можете отсортировать спрайты по оси Y, чтобы спрайты, находящиеся выше, сортировались позади спрайтов, находящихся ниже, чтобы спрайты, находящиеся выше, отображались дальше, чем спрайты, находящиеся ниже.

Чтобы задать порядок наложения спрайтов, используйте Слои сортировки.
Чтобы группировать игровые объекты с помощью модулей визуализации спрайтов и управлять порядком, в котором они отображают свои спрайты, используйте группы сортировки.
Атлас спрайтов
Вы можете использовать Атлас спрайтовтекстуру, состоящую из несколько небольших текстур. Также называется атласом текстуры, спрайтом изображения, листом спрайта или упакованной текстурой. Подробнее
См. в Словарь объединение нескольких текстур в одну комбинированную текстуру. Это оптимизирует вашу игру и экономит память. Например, вы можете добавить все свои спрайты, связанные с определенным персонажем или целью, в атлас спрайтов.

См. руководство по изучению Sprite Atlas Learn.
Создание игрового окружения
Дизайн окружения — это процесс создания игровых уровней и окружения. Вы можете комбинировать инструменты дизайна окружения в этом разделе так, как это лучше всего подходит для вашей игры; например, вы можете создать игру с видом сверху, используя только 9 фрагментов, или вы можете создать сайд-платформер с помощью Tilemap и SpriteShape.
9-нарезка
9-slicing – это двухмерная технология, позволяющая повторно использовать изображение разных размеров без необходимости подготовки нескольких ресурсов. Unity может динамически растягивать и размещать определенные части спрайта, чтобы один спрайт мог служить границей или фоном для элементов пользовательского интерфейса разных размеров. См. спрайты, разделенные на 9 частей.
Например, вы можете использовать 9-срезы, чтобы растянуть спрайт до нужной формы при создании 2D-уровня.

См. Использование 9-Slicing для масштабируемости. Учебное пособие по изучению спрайтов.
Карта листов
Игровой объект TilemapGameObject, позволяющий быстро создавать двухмерные уровни с использованием тайлов и наложения сетки. Подробнее
Компонент See in Словарь представляет собой систему, которая хранит и обрабатывает активы Tile для создания 2D уровни. Используйте пакет 2D Tilemap Editor (устанавливается по умолчанию), чтобы использовать Tilemaps.
Например, карты листов можно использовать для рисования уровней с помощью плиток и инструментов кисти, а также для определения правил поведения плиток.

См. руководство "Введение в Tilemaps Learn".
Дополнительные возможности 2D-карты листов
Чтобы добавить в проект дополнительные ресурсы Tilemap, установите 2D Tilemap Extras. Этот пакет содержит повторно используемые сценарии 2D и Tilemap Editor, которые вы можете использовать для своих собственных проектов. Вы можете настроить поведение скриптов для создания новых кистей, подходящих для разных сценариев.
Изометрические тайловые карты
Для игр с изометрической перспективой можно создавать изометрические карты листов.
Форма спрайта
Подобно инструменту векторного рисования, SpriteShape обеспечивает более гибкий способ создания более крупных спрайтов, таких как ландшафты и дорожки, выглядящие органично. См. профиль формы спрайта.

См. руководство по работе со SpriteShape.
Анимация персонажей
Существует три различных способа анимации 2D-персонажей:
Тип 2D-анимации | Используется для |
---|---|
Frame-by-frame | Художественные причины, если вы хотите, чтобы ваша игра имела классический анимационный стиль. Покадровая анимация относительно ресурсоемка как для создания, так и для запуска. |
Cutout | Плавная скелетная анимация, когда персонажи не требуют реалистичной артикуляции. |
Skeletal | Плавная скелетная анимация, где спрайты изгибаются в соответствии со структурой костей. Используйте это, когда персонажи нуждаются в более органичном ощущении. |
Покадрово
Покадровая анимация основана на традиционной технике целл-анимации, при которой каждый момент анимации прорисовывается как отдельные изображения, которые воспроизводятся в быстрой последовательности, как перелистывание страниц в флипбуке.
Чтобы выполнить покадровую анимацию, следуйте Рабочий процесс покадровой анимации.

См. руководство "Введение в Sprite Animations Learn".
Вырез
В вырезной анимации несколько спрайтов составляют тело персонажа, и каждая часть движется, создавая визуальный эффект движения всего персонажа. Этот стиль анимации похож на скелетную анимацию (см. ниже), за исключением того, что спрайты не изгибаются.

Скелет
С помощью скелетной анимации вы сопоставляете спрайт или группу спрайтов со скелетом анимации. Вы можете создавать и определять кости анимации для персонажей и объектов, которые определяют, как они должны изгибаться и двигаться. Такой подход позволяет костям сгибаться и деформировать спрайты для более естественного стиля движения. Чтобы использовать скелетную анимацию, вам необходимо использовать пакет 2D Animation (установлен по умолчанию).
Для рабочего процесса 2D-анимации, включая руководство по работе с редактором костей, см. Документация по 2D-анимации.

Графика
В этом разделе описываются параметры графики при использовании универсального конвейера рендерингасерии операций, которые берут содержимое сцены и отображает их на экране. Unity позволяет вам выбирать из готовых конвейеров рендеринга или писать свои собственные. Подробнее
См. в Словарь (URP).
Освещение
Поскольку вы используете URP с 2D-рендерером, вы можете использовать компонент Light 2D для применения оптимизированного 2D-освещения к спрайтам. Подробнее см. в Введение в источники света. 2D.

Чтобы настроить освещение:
Подготовьте спрайты к освещению. Подробнее см. в разделе Подготовка спрайтов к освещению.
Настройка карты нормалейТип текстуры карты рельефа, который позволяет добавлять детали поверхности, такие как неровности, канавки и царапины на модели, которые отражают свет, как если бы они были представлены реальной геометрией.
Смотрите в Словарь и маскируйте текстуры. 2D Lights может взаимодействовать с картой нормалей и маскировать текстуры, связанные со спрайтами, для создания расширенных эффектов освещения, таких как наложение нормалей. См. раздел Настройка карты нормалей и текстур маски.Создать игровой объект 2D Light; см. Свойства 2D-освещения.
Настройте ресурс данных 2D-рендерера; см. Настройка объекта 2D-рендерера.
(необязательно), если вы хотите применить эффекты 2D-освещения к пикселюнаименьшей единице компьютерного изображения. Размер пикселя зависит от разрешения вашего экрана. Пиксельное освещение рассчитывается для каждого пикселя экрана. Подробнее
См. в Словарь арт-игре, см. 2D Pixel Perfect.
См. руководство по освещению в URP Learn.
Тени
Чтобы определить форму и свойства, которые источник света использует для определения отбрасываемых им теней, используйте 2D-компонент Shadow Caster. Увеличьте интенсивность тени источника света выше нуля.

Улучшенный внешний вид
Системы частиц и постобработкаПроцесс, улучшающий внешний вид продукта за счет применения фильтров и эффектов до того, как изображение появится на экране. Вы можете использовать эффекты постобработки для имитации физических свойств камеры и пленки, например Bloom и Depth of Field. Дополнительная информация
См. в Словарь дополнительные инструменты, которые можно использовать для придания блеска ваша игра.
Системы частиц
Вы можете использовать системы частиц для создания динамических объектов, таких как огонь, дым или жидкости, в качестве альтернативы использованию спрайтов. Спрайты больше подходят для физических объектов. См. раздел Системы частицКомпонент, моделирующий текучие объекты, такие как жидкости, облака и пламя, с помощью создание и анимация большого количества небольших 2D-изображений в сцене. Подробнее
См. в Словарь.

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

Физика 2D
Настройки Physics 2D определяют пределы точности физической симуляции в вашей 2D-игре. См. раздел 2D-физика.
В этом видео представлен обзор функций 2D-физики в Unity 2020.1. .
Чтобы узнать, как использовать двухмерный физический движок Unityсистему, которая имитирует аспекты физических систем, чтобы объекты могли правильно ускоряться и подвергаться воздействию столкновений, гравитации и других сил. Подробнее
См. в Словарь, см. Учебное пособие по физике 2D.
Следующие инструменты 2D-физики полезны для 2D-игр.
Жесткое тело 2D
Жесткое телоКомпонент, позволяющий воздействовать на игровой объект смоделированной гравитацией и другими силами. Подробнее
См. в Словарь 2D-компонент помещает GameObject под контроль физического движка. См. раздел Rigidbody 2D.

2D-коллайдер
Компоненты 2D-коллайдера определяют форму 2D-игрового объекта для физических столкновений. Вы также можете использовать Colliderневидимую форму, которая используется для обработки физических столкновений объекта. Коллайдер не обязательно должен быть точно такой же формы, как сетка объекта — грубое приближение часто бывает более эффективным и неразличимым в игровом процессе. Подробнее
См. в Словарь 2D-компоненты для обнаружения ввода. Например, в мобильных играх вы можете использовать их для выбора спрайтов.
Типы Collider 2D, которые можно использовать с Rigidbody 2D:

Triggers
Когда вы устанавливаете 2D-коллайдер в качестве триггера (включив его свойство Is Trigger), он больше не ведет себя как физический объект и может пересекаться с другими коллайдерами, не вызывая столкновения. Вместо этого, когда коллайдер входит в свое пространство, Unity вызывает функцию OnTriggerEnter
в скриптах Trigger GameObject.

2D Joints
Соединения соединяют игровые объекты вместе. Вы можете присоединять только двухмерные соединенияФизический компонент, обеспечивающий динамическое соединение между компонентами Rigidbody, обычно допускающий некоторую степень движения, например шарнир . Подробнее
См. в Словарь игровые объекты, к которым прикреплен 2D-компонент Rigidbody, или к фиксированное положение в мировом пространстве. См. раздел 2D-соединения.
2D Effectors
Использовать двухмерные компонентыфункциональную часть GameObject. GameObject может содержать любое количество компонентов. В Unity есть много встроенных компонентов, и вы можете создавать свои собственные, написав сценарии, которые наследуются от MonoBehaviour. Подробнее
См. в Словарь с помощью Collider 2D для управления силами физики в вашей сцене, когда коллайдеры GameObject соприкасаются друг с другом. См. раздел 2D-эффекторы.
Audio
Вы можете добавить в игру фоновую музыку и звуковые эффекты в Unity; см. Обзор аудио. Используйте стороннее программное обеспечение для создания своего аудио и импортируйте его в Unity с рекомендуемыми настройками.
User interface
Если вы хотите добавить в игру меню или справку, вам необходимо настроить пользовательский интерфейс. Чтобы настроить пользовательский интерфейс, используйте Unity UI.
Profiling, optimizing and testing a build
Profiling
Профилирование позволяет увидеть, насколько ресурсоемкими являются различные части вашей игры. Вы всегда должны профилировать свою игру на целевой платформе выпуска; см. Профилирование вашего приложения.
Оптимизация
После профилирования вы можете использовать результаты для повышения производительности и оптимизации. См. Понимание оптимизации в Unity.
Testing
Протестируйте свою игру и свой код с помощью Unity Test Framework; см. Среда тестирования Unity.

Publishing
Когда вы закончите свою игру, вы будете готовы ее опубликовать. См. раздел Публикация сборок.
