Как создать игру на Unity. Как сделать игру на unity.

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

Основы

GameObjects Основной объект в сценах Unity, который может представлять персонажей, реквизит, фон, камеры, путевые точки и многое другое. Функциональность игрового объекта определяется связанными с ним элементами. Подробнее см. в словаре — это основные объекты в Unity, которые представляют персонажей, реквизит, декорации и многое другое. Каждый объект в вашей игре — это GameObject.

Объекты GameObjects представляют элементы вашей игры; пространство, в котором вы размещаете их для создания уровня, называется сценой (Stage) Сцена содержит окружение и меню вашей игры. Рассматривайте каждый отдельный файл сцены как отдельный уровень. На каждом этапе вы размещаете окружающую среду, препятствия и декорации, проектируя и создавая свою игру по частям. Для получения дополнительной информации см. раздел «Словарный запас». Сцены в Unity всегда трехмерны; когда вы создаете двухмерную игру в Unity, вы обычно предпочитаете игнорировать третье измерение (ось Z), но вы можете использовать его в особых случаях, например, при создании 2.5D игр.

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

Трансформация: компонент трансформации определяет положение, поворот и масштаб каждого объекта в сцене. Каждый GameObject имеет функцию Transform, которая определяет положение, вращение и масштабирование каждого GameObject в сцене. Каждый объект GameObject имеет элемент Transform.

Sprite Visualizer Элемент, позволяющий отображать изображения в виде спрайтов для использования в 2D и 3D сценах. Подробнее см. в словаре: Sprite Renderer элемент рендерит спрайт и управляет его внешним видом. в сцене.

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

2D Collider: Этот элемент определяет форму 2D игрового объекта для физических столкновений. Столкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов соприкасаются или перекрываются, если хотя бы один из них имеет элемент жесткого тела и движется. Подробности см. в словаре. См. раздел «Двухмерная физика».

Элементы представляют собой пользовательский интерфейс (UI). Он позволяет пользователю взаимодействовать с вашим приложением. В настоящее время Unity поддерживает три системы пользовательского интерфейса. Для получения дополнительной информации см. словарь C# Class Viewer Dictionary. Вы можете использовать сценарии для изменения и взаимодействия с элементами или создания новых элементов. Для получения дополнительной информации см. раздел Сценарии.

Сценарий

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

Для получения дополнительной информации об использовании сценариев в Unity см. обзор сценариев. Для получения дополнительной информации об использовании сценариев см. раздел Обзор сценариев. См. также курс «Изучение сценариев Unity для начинающих».

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

Спрайты

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

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

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

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

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

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

Importing and setting up Sprites

Импортируйте спрайты, используя рекомендуемые Unity настройки, см. раздел Импорт и настройка спрайтов.

Визуализация спрайтов

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

Настройка цвета спрайта с помощью средства визуализации спрайтов

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

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

Спрайты отсортированы по оси Y

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

Чтобы установить порядок наложения спрайтов, используйте опцию Sort Levels.

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

Атлас спрайтов

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

Атлас спрайтов

Атлас спрайтов

Это не важно для 2D-проекта, но если вы оставите имя Textures, вы можете дать Unity возможность автоматизировать некоторые задачи. Если вы хотите узнать больше об этой теме, вы можете прочитать об этом здесь или здесь.

Что такое Unity

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

Хорошим примером игры, разработанной на Unity и поддерживающей несколько устройств, является Genshin Impact, успешный кроссплатформенный проект китайской студии miHoYo Limited. Мобильная версия завоевала популярность, но пользователи могут войти в свой аккаунт, например, с ПК и продолжить игру там, где они остановились в мобильной версии. Помимо Genshin Impact, в Unity были разработаны такие известные проекты, как Hearthstone, Outlast, Cuphead, Pokemon GO и другие.

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

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

Смотрите также: Как установить Unity

Как создать простую игру

При создании собственного проекта важно помнить, что разработка кода — это лишь около 20% игры; другие аспекты гораздо важнее:

  • Геймплей — это общая концепция взаимодействия игрока с игровым миром, которая определяет его действия (бег вперед, прыжки через препятствия, стрельба по мишеням, обгон других) и его цели (прийти к финишу первым, набрать 10 очков из 10, победить врага в бою, собрать как можно больше монет). Геймплей напрямую связан с типом игры, поскольку каждая игра имеет определенный набор правил и механик.
  • Игровая механика — это конкретные элементы взаимодействия с игрой, которые являются ее частью. Стрельба — это один механизм, фехтование — другой, борьба — третий. В одной игре могут сочетаться десятки таких механик.
  • История — это развитие сюжета в игре; она одинаково важна как для больших ААА-проектов, так и для небольших, но глубоких инди-игр. Сюжет должен увлекать игрока, рассказывать историю и развивать персонажей так, чтобы они не оставались односторонними и раскрывали перед игроком новые аспекты.
  • Персонажи — важны как дизайн, так и характер. Хорошо проработанный персонаж имеет узнаваемые черты, интересную историю и должен иметь что-то общее с игроком, чтобы увлечь его, что-то, что притягивает его и заставляет сопереживать. Учитывая это, компания Unity разработала руководство «Пять типов увлекательных игровых персонажей», чтобы помочь начинающим создать правдоподобный игровой персонаж.
  • Дизайн уровней — это внешний вид игры, цвета, общий стиль объектов, фонов, персонажей и предметов, которые создают определенное настроение. Чтобы помочь начинающим разработчикам, Unity опубликовала в своем блоге «Советы по дизайну уровней для вашей первой видеоигры».
  • Баланс — это взаимосвязь между свойствами различных объектов, а также отвечает за увлеченность игрока. Например, если меч в игре может нанести объекту 3 очка урона, но объект имеет только 3 HP (hit points — значение, обозначающее максимальный урон), то он может быть уничтожен с первой попытки, и игра станет слишком простой. Если объект имеет 30 HP, игрок должен нанести 10 ударов, чтобы уничтожить его. Это больше подходит для босса, например, на первом или втором уровне. Программисту важно правильно распределить эти значения, чтобы игра была увлекательной и бросала вызов игроку.

Перед разработкой игры важно обдумать все эти моменты и представить себе общую картину, а также найти ссылки, которые можно использовать в качестве ориентиров, и продумать опорные точки сюжета и механики. Чтобы создать игру в Unity, вам также необходимо понимать некоторые ключевые термины, с которыми вы будете постоянно сталкиваться в процессе разработки:

  • Asset — предварительно созданный компонент, который вы можете использовать для создания собственных проектов. Это может быть элемент интерфейса в игре, текстура, фигурка персонажа, шрифт или звук. Вы можете купить активы или загрузить некоторые из них бесплатно из Unity Asset Store.
  • GameObject — это любой объект, используемый в игровой сцене. Например, изображение монеты, сам ее внешний вид, является активом, а пять монет, которые персонаж должен собрать, чтобы пройти уровень, — это пять игровых объектов. Сам персонаж также будет игровым объектом.
  • Компоненты — часть игрового объекта, которая отвечает за его поведение в игре: движение или реакцию на определенные стимулы.
  • Сценарий — код на языке C#, задающий определенные условия для работы элемента.

Создание проекта

После изучения учебника вы сможете создать свою первую игру в Unity с помощью кнопки NEW в меню Projects.

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

Это не важно для 2D-проекта, но если вы оставите имя Textures, вы можете дать Unity возможность автоматизировать некоторые задачи. Если вы хотите узнать больше об этой теме, вы можете прочитать об этом здесь или здесь.

Подготовление основы

Сцена готова, теперь мы можем установить значения для наших объектов в инспекторе:

  • Щелкните на сцене улицы и в меню Инспектор — вкладка Текстура измените значение на Текстура,
  • Для текстуры, которая повторяется в игре, выберите Wrap Mode — Repeat, сохранив остальные свойства, и нажмите Apply,
  • Трек основан на 3D-объекте quad, который можно выбрать в меню Create — 3D Object, затем растянуть его до размеров выбранной игровой области и перетащить трек на quad,

Изменение свойств трассы

Поскольку объекты в сцене темные, мы добавим объект Directional Light. Это называется источником света. Он создает видимость солнца, давая нам возможность осветлить вид сцены и добавить тени для улучшения контраста.

Затем нам нужно определить способ передвижения, для чего необходимо написать новый сценарий:

  • Создайте папку Scripts, добавьте сценарий C# под названием Move Track и начните редактирование,
  • Дважды щелкните по скрипту, чтобы открыть текстовый редактор, и напишите код со значениями, которые будут перемещать созданную текстуру:
  • Запишем переменную public float speed = 1f, чтобы дорожка двигалась со скоростью 1, это значение может быть скорректировано позже,
  • тогда мы записываем в update новый вектор, в котором дорожка сдвинута на Y: Vector2 offset = new Vector2 (0, Time.time * speed),
  • Затем мы пишем GetComponent().material.mainTextureOffset = offset, здесь мы устанавливаем значение смещения для всей текстуры,
  • После создания сценария проверьте движение дороги в сцене, нажав кнопку Play.

Скрипт MoveTrack

Робота над «игроком»

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

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

  • Добавьте 2D-элемент Box Collider к текстуре, чтобы сделать объект «твердым». Не забудьте задать условия, нажав Edit Collider,
  • Также добавьте Rigidbody 2D с гравитационным масштабом 0, так как гравитация не нужна в этом типе игры,
  • Создайте сценарий для перемещения объекта, назвав контроллер игрока, например,
  • Открываем редактор и задаём значения:
    • public float carSpeed = 5f, and Rigidbody2D rb; void Start () < rb = GetComponent < Rigidbody2D >(); >
    • теперь нам нужно определить движение объекта влево и вправо, поэтому пишем в Update: float direction = Input.GetAxis («Horizontal»); Vector2 carMove = New Vector2 (carSpeed * direction, 0); rb.velocity = carMove,
    • Установите границы, за которые объект не должен выходить: Vector3 pos = transform.position; pos.x = Mathf.Clamp (pos.x, -2.2f, 2.2f); transform.position = pos,
    • Вернитесь в Unity и нажмите кнопку play, чтобы проверить результат.

    Скрипт PlayerController

    Добавление оппонентов

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

    Скрипт EnemyMove

    • После размещения препятствия в игровой сцене добавьте Box Collider 2D, отредактируйте его в соответствии с примером игрока и поверните его на 180,
    • Добавляем скрипт enemyMove с программированием кода для перемещения:
      • Скорость = Random.Range (5f, 8f),
      • transform.Translate (new Vector3 (0, 1, 0) * Velocity * Time.deltaTime),
      • Затем создайте новый пустой объект, перетащите его из игровой области и поверните на 180. Для простоты назовем его Barrier и дадим ему произвольный символ,
      • public GameObject Barrier,
      • Программируем скрипт этому объекту:
        • public float delayTimer = 2f,
        • таймер,
        • В начале мы указываем: timer = delayTimer,
        • При каждом обновлении:
        • timer -= Time.deltaTime,
        • Если (таймер
        • Vector3 pos = new Vector3 (Random.Range (-2.2f, 2.2f), transform.position.y, transform.position.z),
        • int BarrierID = Random.Range (0, 1),
        • Embed (Barrier BarrierID, pos, transform.rotation),
        • По сути создана игра, главный объект автомобиль имеет свойства движения, есть объекты на дороге, которые нужно объезжать, есть результат движения в роли текстуры дороги.
        • timer = delayTimer; >

        Скрипт BarrierScript

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

        Сохраните эти платформы как готовые. Просто перетащите их в папку «Prefabs»:

        Prefabs (Префабы)

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

        Префабы

        Примечание по поводу кнопок «Prefab»: Если вы позже измените игровой объект, вы можете использовать кнопку «Применить», чтобы применить эти изменения к префабу, или кнопку «Отменить», чтобы отменить все изменения игрового объекта в свойствах префаба. Кнопка «Выбрать» перемещает выбранные свойства в сборку префаба в окне проекта (они выделены).

        соединение префабов

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

        Теперь вы можете добавить дополнительные платформы, изменив их координаты, размеры и уровни (вы можете разместить их на заднем или переднем плане, просто установите координату Z для платформы равной 0).

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

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

        Уровень

        Позиционирование по оси Z 0 — фон
        1 — Средний фон 10
        2 — Элементы переднего плана 5
        При переключении из 2D в 3D вы будете четко видеть слои в окне сцены: 0

        Если вы щелкните на игровом объекте Main Camera, вы увидите, что флажок Projection установлен на Orthographic. Эта настройка позволяет камере рендерить 2D-игру без учета 3D-свойств объектов. Помните, что даже если вы работаете с 2D-объектами, Unity использует 3D-движок для рендеринга сцены. На рисунке выше это хорошо видно.

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

        В следующем уроке:

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

        Сами по себе объекты GameObjects довольно бесполезны — как мы уже видели, они представляют собой просто контейнеры. Чтобы добавить к ним функциональность, нужно добавить компоненты, которые по сути являются скриптами, написанными на C# или Javascript.

        Встроенные компоненты Unity

        Компонентная модель актера

        Unity работает по модели «актер-компонент». Проще говоря, игровые объекты — это ваши действующие лица, а компоненты — ваши сценарии.

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

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

        Думаю, пришло время привести несколько примеров встроенных компонентов Unity Games Engine.

        Ключевые встроенные компоненты

        MeshFilter: позволяет назначать материалы на 3D-сетку игрового объекта.

        • MeshRender: позволяет назначать материалы для 3D-сетки.
        • Box | Mesh Collider: позволяет обнаружить столкновения игровых объектов.
        • Rigidbody: позволяет реалистично моделировать физику, которая воздействует на игровые объекты с 3D-сетками и вызывает события обнаружения в бокс-коллайдерах.
        • Свет: Освещает части сцены.
        • Камера: Определяет поле зрения игрока для соединения с игровым объектом.
        • Различные элементы UI canvas для представления графического интерфейса пользователя.
        • Есть еще много других, но это самые важные из них, которые вы должны знать. Один из советов заключается в том, что вы можете получить доступ ко всему этому из любого места с помощью руководства по Unity и руководства по автономным сценариям:

        новый сценарий (c#).

        Создание пользовательских компонентов

        Встроенные компоненты в первую очередь управляют физикой и визуальными эффектами, но для того, чтобы действительно создать игру, вам нужно будет принимать вводимые пользователем данные и манипулировать этими стандартными компонентами, а также самими игровыми объектами.Чтобы начать создание компонентов, перейдите в нужный GameObject> Добавить компонент> введите имя вашего нового компонента в строке поиска>В качестве общей рекомендации, я бы не советовал использовать javascript в Unity. Он не был обновлен всеми замечательными вещами, которые появились в ES6, и большинство продвинутых вещей основано на материалах C#, перенесенных на javascript … По моему опыту, это становится огромным обходным путем.

        Все элементы наследуются от класса MonoBehaviour. Он включает в себя в основном некоторые стандартные методы:

        Структура моноповедения

        Ключевые функции

        void Start(), который вызывается всякий раз, когда в сцене создается объект, содержащий сценарий. Это полезно, когда необходимо выполнить инициализационный код, например, для установки снаряжения игрока после его появления в игре.

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

        Переменные инспектора

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

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

        Мы можем сделать это, просто объявив их как публичные переменные в теле компонента.

        Обратите внимание, что мы можем создавать переменные с различными правами доступа (приватные, публичные или общедоступные), но они не будут отображаться в окне инспектора.

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

        Принятие пользовательского ввода

        Input.GetKey (KeyCode.W) Возвращает True W, клавиша W нажата.

        • Input.GetKeyDown (KeyCode.W) Возвращает True при первом нажатии клавиши W.
        • Input.GetAxis(«Vertical»), Input.GetAxis(«Horizontal») Возвращает значение межд у-1,1 для движения мыши по входу.
        • Научиться пользоваться пользовательским интерфейсом Unity довольно просто. Вы можете быть немного напуганы, когда впервые откроете его, но уже через несколько часов вы будете чувствовать себя как рыба в воде.

        Prefabs в браузере ресурсов вы увидите, что там есть маленький робот под названием «CharacterRobotBoy.prefab».

        Шаг 5. Сделайте персонажа

        Теперь, когда у вас есть карта, следующий шаг — создать кого-нибудь, кто будет перемещаться по ней. К счастью, Unity проделала большую часть тяжёлой работы на этом этапе. Если вы зайдёте в папку стандартных ресурсов> 2D>Помните время, когда у вас был элемент конфликта, прикрепленный к вашей карте плитки? Ну, нашему персонажу нужно много элементов, чтобы работать. Вместо того чтобы каждый раз создавать каждый элемент с нуля, вы можете создавать готовые элементы, которые служат в качестве игровых объектов. Их можно использовать снова и снова.

        Сделайте персонажа1

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

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

        Сделайте персонажа2

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

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

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

        Сделайте персонажа3

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

        Шаг 6. Дорожная карта и сборка

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

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

        Добавьте систему монет.

        1. Добавьте здоровье и урон игрока.
        2. Главные враги.
        3. Обзор ошибок.
        4. Улучшить базовое искусство.
        5. Создавайте сценарии игр и побеждайте.
        6. Добавьте элементы пользовательского интерфейса.
        7. Добавьте систему меню.
        8. Это позволит оценить потенциал игры в перспективе и понять, сколько работы еще предстоит сделать между прототипом и финальной игрой. Важно знать это расстояние, так как вы не всегда можете уделять игре неограниченное время и внимание.

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

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

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

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

        Кроме того, не бойтесь спрашивать совета у опытных разработчиков. Для начинающих лучше всего пройти онлайн-курсы. Игровой движок имеет одно из лучших сообществ в мире, и есть много высококвалифицированных специалистов, которые публикуют контент бесплатно или почти бесплатно. Также посетите Asset Store, где вы найдете широкий выбор контента: Скрипты, модели, звуки, музыка или даже готовые проекты по разным ценам, включая бесплатные проекты, которые вы можете включить в свой первый проект, чтобы понять, как работает Unity.

        Как уже упоминалось в начале, разработчики Unity добавляют новые модули, которые изначально отсутствовали в базовой версии. Вы можете загрузить их из магазина Asset Store, многие пакеты бесплатны. И с их помощью будет проще разрабатывать игры в 2D. Итак, список лучших бесплатных пакетов в Unity:

        Лучшие бесплатные пакеты в Asset Store

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

        • 2D Sprite Pack. Пакет представляет собой коллекцию спрайтов, полезных для создания 2D-прототипов. Спрайты Unity являются основой почти каждой игры, поэтому скачайте этот пакет, чтобы упростить свою работу.
        • Анима 2D. Если ваша игра включает анимированные скелеты, этот пакет Unity ускорит ваш рабочий процесс. В новых версиях он входит в базовый набор, но если вы используете старую версию Unity, стоит загрузить пакет дополнительно.
        • Стек для постобработки. Если вы хотите разрабатывать дизайн как профессионал, вам не обойтись без этого стека. Он покажет свои возможности в играх с постобработкой. С его помощью вы можете применить целый ряд эффектов, и ваша 2D-разработка станет действительно эффектной и интересной. Однако, добавляя эффекты в проект Unity для смартфонов и планшетов, имейте в виду, что устройства будут снижать производительность. Главное — найти баланс между визуальными эффектами и потреблением ресурсов.
        • По умолчанию. Необходимый пакет для тех, кто только начинает разрабатывать 2D-игры. Он содержит большую коллекцию скриптов, активов и сцен для Unity, которые обязательно пригодятся при изучении его возможностей.
        • Это не полный список бесплатных наборов для разработки Unity, используемых как начинающими, так и опытными 2D-геймерами. Но здесь перечислены самые полезные из них. Когда вы зайдете в Asset Store, вам, естественно, захочется скачать оттуда все, потому что каждый пакет интересен по-своему. Но вовремя остановитесь и постарайтесь шаг за шагом ознакомиться с новыми функциями. Всегда есть возможность установить другие утилиты.

        Это не просто программа, а большое сообщество, где вы всегда можете получить поддержку и совет и поделиться опытом с другими разработчиками. Благодаря сообществу стало намного проще разрабатывать игры в 2D, учиться и сотрудничать. Какие еще функции вы найдете в Unity:

        Какие еще есть возможности в Unity

        Участвуйте в обсуждениях проекта и получайте помощь. Существует множество ресурсов для этой работы. Первый — это раздел «Ответы», где новички и опытные разработчики помогают друг другу решать различные проблемы. Вторая область — это форумы, где вы можете найти технические обсуждения и другие темы. Общение с единомышленниками всегда полезно, особенно когда игра идет не очень хорошо. Существуют также группы пользователей, созданные программой, которые несложно найти. Существует множество обсуждений на Reddit или Stackoverflow. В общем, вы не одиноки, это точно.

        • Опытный гид по основным этапам развития. Игровая логика, игровая механика, редактирование персонажей — все это подробно рассматривается в руководстве и не должно игнорироваться.
        • Возможность поделиться своим проектом в интернете, найти в нем участников, сохранить его — Unity Collaborate предлагает все это и многое другое.
        • С помощью Unity Cloud Build вы можете упростить процесс сборки для различных операционных систем, работая непосредственно в облаке.
        • Unity Performance Reporting — это очень полезный инструмент для анализа и отчетности. В конце концов, вы разрабатываете 2D-игру не просто так, а значит, вам необходимо отслеживать ее популярность у пользователей.
        • А Unity Analytics поможет вам получить максимальную отдачу от вашего продукта, используя наиболее подходящий вариант монетизации.
        • Поэтому, когда вы работаете с программой, перед вами открывается безграничный мир, где все продумано до мелочей и существует множество возможностей. Если вы начнете с простого проекта, вы сможете легко перейти на профессиональный уровень — программа и функции сообщества облегчат вам эту задачу.
Оцените статью
Бизнес блог