Unity 6.3
0 онлайн 42 гостей 3 в системе
Вход

2D Рабочий процесс создания игры

Перед тем, как создать 2D игру, вы должны определиться с игровой перспективой и художественным стилем.

Чтобы создать игру 2D, создайте свой проект Unity и затем ознакомьтесь с соответствующими концепциями в следующем порядке:

  1. Основы

  2. Скриптирование

  3. Спрайт

  4. Создание игровой среды

  5. Анимация персонажа

  6. Графика

  7. Физика 2D

  8. Аудио

  9. Интерфейс пользователя

  10. Доступность

  11. Профилирование, оптимизация и тестирование

  12. Издательская деятельность

Основы

GameObjects являются основополагающими объектами Unity которые представляют персонажей, реквизит, пейзаж, и больше. Каждый объект в вашей игре является GameObject.

GameObjects представляют предметы в вашей игре; пространство, в котором вы помещаете их, чтобы построить свой уровень, называется сцена. Сцены в Unity всегда являются 3D; когда вы создаете игру 2D в Unity, вы обычно выбираете игнорировать третье измерение (ось z), но вы также можете использовать его в особых случаях, например, при создании 2.5D игр.

Поведение GameObjects определяется блоками функциональности, называемыми компонентами. Следующие компоненты являются фундаментальными для 2D игр:

  • Transform: компонент Transform определяет Положение, Вращение и Масштаб каждого GameObject в сцене. Каждый GameObject имеет компонент Transform.
  • Спрайт-рендер: компонент Sprite Renderer рендирует Sprite и контролирует, как он выглядит в сцене.
  • Камера: устройства, которые захватывают и отображают мир игроку. Camera как Орфографические убирает все перспективы из CameraЭто в основном полезно для создания изометрических или 2D игры.
  • Collider 2D: этот компонент определяет форму 2D GameObject для целей физических столкновений. См. 2D Физика.

Компоненты являются UI представлениями классов C#; вы можете использовать скрипты для изменения и взаимодействия с компонентами или создания новых. Подробнее см. в разделе Сценарии.

Скрипт

Все игры 2D требуют сценариев. Скрипты реагируют на ввод от игрока и организуют события в игре, чтобы они происходили, когда они должны.

Подробную информацию об использовании скриптов в Unity см. в Обзор сценариев. Также см. курс Unity Learn Сценарии для начинающих.

Скрипты прикрепляются к GameObjects, и любой созданный вами скрипт наследует от MonoBehaviour class.

Спрайты

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

Спрайт персонажа
Спрайт персонажа

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

Несколько спрайтов, которые составляют части персонажа, отображаемые в редакторе спрайтов
Несколько спрайтов, которые составляют части персонажа, отображаемые в редакторе спрайтов

Импорт и настройка спрайтов

Импортируйте свои спрайты с рекомендуемыми настройками Unity; см. Импорт и настройка спрайтов.

Отображение спрайтов

Используйте компонент Спрайт-рендер для рендеринга Sprites. Например, вы можете использовать Sprite Renderer для изменения цвета и прозрачности Sprite.

Настройка цвета Sprite с помощью Sprite Renderer
Настройка цвета Sprite с помощью Sprite Renderer

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

Спрайты, отсортированные по оси y
Спрайты, отсортированные по оси y

Для установки порядка наложения спрайтов используйте Сортировка слоев.

Чтобы группировать GameObjects с Sprite Renderersи управлять порядком, в котором они рендируют свои Sprites, используйте Sorting Groups.

Атлас Спрайта

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

Атлас Спрайта
Атлас Спрайта

См. Введение в учебный курс Sprite Atlas Learn.

Создание игровой среды

Дизайн окружения относится к процессу создания уровней и окружений вашей игры. Вы можете комбинировать инструменты дизайна окружения в этом разделе таким образом, который имеет наибольший смысл для вашей игры; например, вы можете создать игру сверху вниз, используя только 9-слой, или вы можете создать платформер с помощью Tilemap и SpriteShape.

9-разрезная

9-разрезание — это техника 2D, которая позволяет повторно использовать изображение различных размеров без необходимости подготовки нескольких элементов. Unity может динамически растянуть и покрыть плиткой определенные части спрайта, чтобы один спрайт служил в качестве границы или фона для UI элементов многих размеров. См. 9-разрезание спрайтов.

Например, вы можете использовать 9-слитинг для растяжения спрайта в форму, когда вы строите уровень 2D.

9-слойный Sprite, разделенный на девять секций
9-слойный Sprite, разделенный на девять секций

См. Использование 9-Slicing для масштабируемых спрайтов Учебник.

Карта плиток

Компонент Карта плиток представляет собой систему, которая хранит и обрабатывает ассеты Tile для создания двумерных уровней. Для работы с Tilemap используйте пакет 2D Редактор карт (установлен по умолчанию).

Например, вы можете использовать Tilemaps для рисования уровней с помощью инструментов плитки и кисти и определять правила поведения плитки.

Окно Палитра плиток, используемое для редактирования карт плиток
Окно Палитра плиток, используемое для редактирования карт плиток

См. Введение в Tilemaps Учебник.

2D Tilemap Дополнительное

Чтобы добавить некоторые дополнительные ресурсы Tilemap к вашему Project, установите пакет 2D Tilemap Дополнительное. Этот пакет содержит многоразовые сценарии 2D и Tilemap Editor, которые вы можете использовать для своих собственных проектов. Вы можете настроить поведение сценариев для создания новых кистей, которые подходят для различных сценариев.

Изометрические карты

Для игр с изометрической перспективой вы можете создать Изометрические карты.

SpriteShape

Аналогично инструменту векторного рисования, SpriteShape обеспечивает более гибкий способ создания более крупных спрайтов, таких как органически выглядящие пейзажи и пути. См. Sprite Shape Profile.

Путь создан в SpriteShape
Путь создан в SpriteShape

См. урок Работа с SpriteShape.

Анимация персонажа

Существует три различных способа, которыми вы можете анимировать персонажей 2D:

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

Кадр за кадром

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

Для получения информации, см. Sprite Swap в руководстве по пакету 2D Animation.

Покадровая анимация в редакторе Sprite
Покадровая анимация в редакторе Sprite

См. Введение в анимации Sprite Учебник.

Вырезка

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

Анимация вырезки в редакторе Sprite
Анимация вырезки в редакторе Sprite

Скелет

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

Для рабочего процесса 2D Animation, включая руководство по работе с редактором Bone, см. документацию 2D Animation.

Персонаж с костями в редакторе костей
Персонаж с костями в редакторе костей

Графика

В этом разделе описываются графические возможности 2D URP, доступные при использовании Universal Render Pipeline (URP).

Освещение

Потому что вы используете URP с 2D Рендерер, вы можете использовать Свет 2D компонент для применения оптимизированы 2D освещения к спрайтам. Для подробностей см. Введение в свет 2D.

Эти два изображения показывают одну и ту же сцену; на изображении слева 2D Lights отключены, а на изображении справа 2D Lights включены. С 2D Lights вы можете использовать одни и те же спрайты для создания разных погодных условий или настроений.
Эти два изображения показывают одну и ту же сцену; на изображении слева 2D Lights отключены, а на изображении справа 2D Lights включены. С 2D Lights вы можете использовать одни и те же спрайты для создания разных погодных условий или настроений.

См. Освещение в URP Учебник.

Тени

Чтобы определить форму и свойства, которые использует Свет для определения теней, которые он бросает, используйте компонент Shadow Caster 2D.

Интенсивность тени 0.5 в компоненте Shadow Caster 2D
Интенсивность тени 0.5 в компоненте Shadow Caster 2D

Улучшенный вид и ощущение

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

Системы частиц

Вы можете использовать системы частиц для создания динамических объектов, таких как огонь, дым или жидкости, в качестве альтернативы использованию Sprite. Sprites больше подходят для физических объектов. См. Системы частиц.

Эффект огня, созданный с Particle System и Shader Graph для 2D
Эффект огня, созданный с Particle System и Shader Graph для 2D

Последующая обработка

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

URP имеет собственную реализацию пост-обработки. См. Post-processing в Universal Render Pipeline.

Демо Lost Crypt использует эффекты цветения и виньетирования после обработки
Демо Lost Crypt использует эффекты цветения и виньетирования после обработки

Физика 2D

Настройки Физики 2D определяют пределы точности физических моделей в вашей 2D игре. См. 2D Физика.

Это видео содержит обзор 2D физические особенности в Unity 2020.1.

Чтобы узнать, как использовать движок двухмерной физики Unity, ознакомьтесь с учебным руководством 2D Physics Learn.

Следующие 2D инструменты физики полезны для 2D игр.

Rigidbody 2D

Компонент Rigidbody 2D помещает GameObject под управление физики. См. Rigidbody 2D.

Компонент Rigidbody 2D
Компонент Rigidbody 2D

Collider 2D

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

Типы Collider 2D, которые можно использовать с Rigidbody 2D:

Круг Collider 2D компонент
Круг Collider 2D компонент

Триггеры

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

Компонент Circle Collider 2D с включённым параметром Is Trigger
Компонент Circle Collider 2D с является выбранным триггером

2D Соединения

Соединения соединяют GameObjects вместе. Вы можете присоединять только соединения 2D к GameObjects, к которому прикреплен компонент Rigidbody 2D, или к фиксированной позиции в мировом пространстве. См. 2D Соединения.

2D Эффекторы

Используйте Эффектор 2D компоненты с Collider 2D компонентами для направления сил физики в вашей сцене, когда GameObject Коллайдеры вступают в контакт друг с другом. См. 2D Эффекторы.

Аудио

Вы можете добавить фоновую музыку и звуковые эффекты к вашей игре в Unity; см. Аудио обзор. Используйте стороннее программное обеспечение для создания аудио и импортировать его в Unity с рекомендуемыми настройками.

Пользовательский интерфейс

Если вы хотите добавить меню или справку к вашей игре, вам нужно настроить пользовательский интерфейс. Чтобы настроить пользовательский интерфейс, используйте Unity UI.

Доступность

Охватите более широкую аудиторию игроков, сделав свою игру доступной для людей всех способностей. См. Доступность для руководства.

Профилирование, оптимизация и тестирование сборки

Профилирование

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

Испытания

Проверьте свою игру и код с помощью Unity Test Framework; см. Unity Испытательная база.

Окно Test Runner
Окно Test Runner

Издательство

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