Как найти игру в unity

#Руководства

  • 10 июл 2019

  • 17

На создание игры обычно уходит много времени и сил, но движок Unity значительно облегчает процесс. И в 2D-, и в 3D-играх.

 vlada_maestro / shutterstock

Евгений Кучерявый

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

С помощью Unity сделаны такие игры, как:

  • Outlast;
  • Hearthstone;
  • Cuphead;
  • Rust;
  • Firewatch;
  • Inside;
  • Cities: Skylines и другие.

Из статьи вы узнаете, из каких компонентов создаётся игра и как написать свой первый проект. Вот такие нас ждут этапы:

  • Создаем проект в Unity.
  • Добавляем первый объект.
  • Пишем скрипт.
  • Назначаем триггер.

Unity в несколько раз ускоряет разработку, потому что берёт на себя физику, графику, анимацию и работу со звуком. На движке делают игры практически для всех платформ. Причём пользуются им не только инди-разработчики, но и крупные студии.

Как именно пользоваться движком Unity и создавать крутые проекты, — мы учим на курсе «Разработчик игр с 0 до PRO».

Скачиваем Unity на официальном сайте. Новичкам достаточно бесплатного тарифа Personal.

Последняя версия движка может не поддерживаться на старых компьютерах. Если так, то подходящую стоит поискать в архиве версий. Игра для этой статьи написана на Unity 5.5.0f3. Интерфейс более поздних версий не сильно менялся, поэтому руководство подойдёт и для них.

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

Итак:

  • Запустите установщик и следуйте инструкциям.
    Кроме самого движка, вам предложат установить Microsoft Visual Studio — интегрированную среду разработки. Это лучшие возможности по работе со скриптами в Unity, но она занимает много места на диске.
  • Если Microsoft Visual Studio установлена или используется другой редактор кода, уберите галочку. Альтернативами могут быть Microsoft Visual Studio Code (более лёгкая версия Visual Studio) или MonoDevelop — встроенный редактор Unity.
  • Когда установка завершится, пора приступать к разработке своей первой игры.

Запустите Unity и нажмите кнопку New или New project.

Укажите название проекта, его местоположение на диске и количество измерений. Лучше выбрать 2D, потому что с ним проще разобраться с Unity.

На подготовку файлов уйдёт какое-то время, затем появится окно редактора Unity:

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

SceneView Selected shader is expected to have 7 passes

Чтобы устранить ее, нажмите кнопку Gizmos, а потом уберите галочку с пункта Selection Outline:

Затем зайдите в пункт меню Edit и в подменю Graphics Emulation выберите Shader Model 2:

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

Ассетами называют компоненты, которые нужны для создания игры. Для удобства поместите их в отдельные папки:

  • Scenes — локации в игре.
  • Scripts — скрипты на выбранном вами языке программирования, с помощью которых устроена механика игры.
  • Sprites — двухмерные изображения предметов, персонажей, фонов и так далее.
  • Prefabs — заготовки игровых объектов.

СПРАВКА

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

Теперь перетащите нужный спрайт из поля с ассетами в окно сцены. Чтобы сквозь него не пролетали другие объекты, добавьте к нему компонент типа Collider 2D из категории Physics 2D. Выбирайте тот тип, который соответствует форме спрайта: например, Circle Collider 2D (если это шар) или Box Collider 2D (если квадрат).

Добавление компонента «Коллайдер»

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

Например, поставить галочку возле Freeze Rotation, чтобы запретить объекту вращаться. У нас шар, поэтому замораживать вращение не нужно. В поле Interpolate укажите Interpolate — это сделает движение объекта более плавным.

Настройки интерполяции объекта

Чтобы изменить скорость падения, задайте гравитацию для всего проекта. Сделать это можно в меню Edit —> Project Settings —> Physics 2D.

Вход в настройки физики проекта

В правом окне появятся настройки, где можно менять гравитацию по оси Y или оси X. По умолчанию она равна –9.98f, но для 2D-игры лучше подойдет –30f.

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

Чтобы он не летел в пустоту, поставьте под ним платформу.

Создание платформы

Обратите внимание, что Rigidbody 2D указывать не нужно, иначе платформа будет падать.

Для этого перетащите её из боковой левой панели в папку Prefabs. Оттуда добавляются копии объектов на карту. В редакторе вы можете растягивать и поворачивать объекты: попробуйте это сделать, чтобы создать простую локацию.

Добавление объектов и установка их границ и физики в Unity

Поведение объекта прописывают с помощью кода. В Unity для этого используются языки C# и JavaScript. Скрипты тоже являются ассетами и добавляются к объектам в виде компонентов.

Для этого зайдите в папку Scripts, нажмите правую кнопку, выберите
Create —> С# Script. Дайте скрипту понятное название вроде PlayerControl.

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

using System.Collections; //Можете убрать подключение коллекций, если не будете их использовать, это снизит общий объем проекта
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {

       //Метод, который запускается при старте игры
         void Start () {

        }
       
        //Метод, который выполняется при каждой смене кадра — тут и будет происходить управление объектом
        void Update () {
        }
}

public float maxHealth = 100; //Здоровье игрока
public float currHealth = 100;
public Rigidbody2D rb; //С помощью Rigidbody 2D будет осуществляться управление объектом
public float jumpForce = 7000f; //Сила прыжка
public float speed = 5f; //Скорость движения

rb = GetComponent<Rigidbody2D>();

if(currHealth > 0) //Управление объектом будет доступно, если здоровье выше нуля
{
     float moveX = Input.GetAxis("Horizontal"); //Получение направления движения
     rb.MovePosition(rb.position + Vector2.right * moveX * speed * Time.deltaTime); //Изменение позиции
     if(Input.GetKeyDown(KeyCode.UpArrow)) //Действия при нажатии стрелочки вверх
     {
         rb.AddForce(Vector2.up * jumpForce); //Добавление силы прыжка
     }
}
else
{
      Destroy(gameObject); //Если здоровье ниже нуля, то объект будет удален
    //Обратите внимание, что в качестве аргумента указан gameObject, а не this
    //Если указать this, то для текущего объекта будет отключен этот скрипт
}

Для указания координат используются статические классы Vector2(x, y) и Vector3(x, y, z) — они пригодятся не только для написания скрипта ходьбы, но для любых других целей, в которых требуется указание позиции.

Unity по умолчанию устанавливает клавиши, которые меняют движение по осям:

Так, если пользователь нажмёт стрелку вправо или D, то направление по оси X будет равно +1, если влево, то −1, если ничего не предпримет — 0. Чтобы получить это значение, используется метод GetAxis() статичного класса Input.

Прыжок срабатывает после нажатия отдельной кнопки. Это нужно, чтобы нельзя было лететь вниз при нажатии стрелочки вниз или S.

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

Вот как работает игра с таким управлением.

using UnityEngine;

public class CameraFix : MonoBehaviour
{
     public GameObject player;
     void Update()
     {
          transform.position = new Vector3(player.transform.position.x, player.transform.position.y, -10f);
     }
}

Его нужно подключить к объекту Main Camera:

Если не получается найти нужный объект в списке, просто перетащите его.

По тому же принципу работает полоса здоровья — её положение зависит от координат персонажа:

using UnityEngine;

public class Health : MonoBehaviour
{
     public PlayerControl player;
     void Update ()
     {
          //Получение длины полосы
          float healthPercent = (player.currHealth / player.maxHealth) * 100;
          float healthLevel = healthPercent / 10;

          transform.localScale = new Vector3(healthLevel, 1f, 1f); //Изменение масштаба
          transform.position = new Vector3(player.transform.position.x, player.transform.position.y + 4f, transform.position.z); //Изменение позиции
    }
}

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

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

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

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

using UnityEngine;

public class ButtonTrigger : MonoBehaviour
{
     public PlayerControl player;
     void OnTriggerEnter2D(Collider2D obj)
     {
           player.currHealth -= 5f;
           Destroy(gameObject);
     }
}

Так кнопка сначала отнимет здоровье игрока, а потом исчезнет. Ещё можно добавить проверку, какой именно объект запустил триггер (объект будет передан в аргументе obj типа Collider 2D).

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

Unity позволяет относительно легко создавать крутые игры. Это в разы быстрее и эффективнее, чем писать всё с нуля, но при условии, что вы хорошо умеете пользоваться этим движком и знаете C# или JS.

Всему этому мы обучаем на курсе «Разработчик игр на Unity». Вы освоите все необходимые инструменты, а в конце обучения у вас будет несколько проектов, которые не стыдно будет показать сообществу геймеров и создателей игр.

Научитесь: Профессия Разработчик игр на Unity с нуля до Middle
Узнать больше

Время на прочтение
5 мин

Количество просмотров 47K

Привет, Хабр. Материал подготовлен для тех, кто только начинает осваивать unity.

Unity — это один из самых популярных движков на данный момент. Составить ему конкуренцию может разве что Unreal Engine 4, но что у первого, что и у второго есть свои плюсы и свои минусы. Unity поддерживает почти 30 платформ, в их числе мобильные, виртуальная реальность, настольные компьютеры, консоли и так далее. Unity — это не просто хороший вариант для старта, это идеальный вариант для старта! Тут заложено использование гибкой модульной системы при создании сцен и персонажей в игре. Даже новичок способен создать крутой проект, используя готовые спрайты и конструктор движка.

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

Так с чего же начать работу на Unity и реализацию своего проекта?

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

Если вам интересно, вот что означают эти три варианта:

  • Unity Personal: эта версия бесплатна. Однако ваша компания должна зарабатывать менее 100 000 долларов за финансовый год. Еще одна загвоздка в том, что в каждой игре будет отображаться заставка «Сделано Unity», которую нельзя удалить.

  • Unity Plus: эта версия стоит 35 долларов в месяц. Он поставляется с инструментами отчетности о производительности, оболочкой Unity Pro и некоторыми дополнительными функциями. Эта версия требует, чтобы ваша компания зарабатывала менее 200 000 долларов в год, и она позволяет отключать или настраивать заставку «Сделано Unity».

  • Unity Pro: это самый высокий доступный уровень. Он стоит 125 долларов в месяц и поставляется с полезными сервисами Unity, профессиональными надстройками для iOS и Android и не имеет заставки. Ограничения по доходу тоже нет.

Также можно присмотреться к версии Enterprise, где стоимость подписки определяют пользовательские потребности.

Самые явные различия представленных версий — это то, что в Enterprise игры должны начинаться с заставки Unity. А в платных версиях можно удалить или загрузить другую заставку.

Плюс есть довольно интересные сервисы в Unity, к примеру, Cloud Build и Analytics. Естественно, они существуют только в платных версиях.

Также у движка есть свои правила, как можно использовать бесплатную версию. Рекомендую прочитать FAQ .

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

Первым установится Unity Hub

Unity Hub — это автономное приложение, которое упрощает процесс поиска, загрузки и управления вашими проектами и установками Unity.

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

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

Чтобы создать новый проект (и указать, в какой версии редактора его открыть), выполните одно из следующих действий:

  • Щелкните кнопку New. В строке заголовка диалогового окна «Новый проект» отображается версия редактора, которую должен использовать проект.

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

Вкладка «Проекты»

Чтобы просмотреть проекты, которыми управляет хаб, щелкните значок Проекты

Unity хранит проекты на вашем диске и в облаке. Вы можете открывать как локальные, так и облачные проекты, использующие Unity Collaborate , щелкнув имя проекта. Чтобы открыть проект, которого нет в списке, нажмите «Добавить», чтобы найти на своем компьютере папку «Проект».

Изучение интерфейса

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

Ваш макет, вероятно, будет выглядеть так:

Если нет, нажмите кнопку «Макет» в правом верхнем углу и выберите 2 на 3 в раскрывающемся меню.

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

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

Чтобы просмотреть список всех представлений, щелкните параметр «Окно» в строке меню.

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

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

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

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

Нажмите и удерживайте на вкладку Профили и перетащите его на вкладке Сцена выше.

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

Чтобы сохранить макет, выберите «Окно Макеты Сохранить макет…» и назовите его «Отладка».

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

При нажатии вы увидите список всех ваших макетов.

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

Организация активов

Новички в Unity могут представить, что вы разрабатываете свою игру от начала до конца в Unity, включая написание кода, создание 3D-моделей и текстур и т. д.

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

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

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

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

В Диспетчере проектов выберите папку Assets и нажмите кнопку Create. В раскрывающемся меню выберите «Папка» и назовите ее «Модели». Это будет дом для всех ваших моделей. У вас может возникнуть соблазн создать папки и манипулировать файлами в файловой системе вместо обозревателя проекта. Не делайте этого!

Unity создает метаданные для каждого актива. Создание, изменение или удаление ресурсов в файловой системе может нарушить эти метаданные и вашу игру.

Создайте следующие папки: Animations, Materials, Prefabs, Presets, Scripts и Textures.

Ваш обозреватель проекта должен выглядеть так:

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

Примечание. Все снимки экрана в этом руководстве с этого момента будут отображать самые маленькие настройки.

Наконец, вы можете изменить название актива. Например, ваша текущая сцена называется SampleScene. Выберите папку Scenes, а затем выберите файл SampleScene. Имя будет выделено. Один раз щелкните по нему еще раз, и вы напишете новое имя. Измените его на Main.

Вы можете сделать это с любой папкой или активом в Диспетчере проектов.


Материал подготовлен в рамках курса Unity Game Developer. Professional.Если вам интересно узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.

В этом уроке я покажу вам, как использовать новые 2D-инструменты, добавленные в Unity для создания 2D-игр.

1. Обзор приложения

В этом уроке вы узнаете, как создать 2D проект и создать мобильную 2D игру в Unity используя язык программирования C#.

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

В этом проекте вы узнаете следующие аспекты разработки в Unity:

  • создание 2D-проекта в Unity
  • ознакомление с интерфейсом Unity
  • создание префаба
  • добавление скриптов к игровым объектам
  • работа с физикой столкновений
  • использование таймеров

2. Создание нового проекта в Unity

Откройте Unity и выберите New Project в меню File, чтобы открыть новый диалог проекта. Выберите каталог для своего проекта и выберите для параметра Set up defaults for (Настройки по умолчанию) значение 2D.


3. Настройки сборки

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

В Unity можно создавать игры для iOS, Android, BlackBerry и Windows Phone 8, и это великолепно, если вы планируете разрабатывать мобильную игру для нескольких платформ.


4. Устройства

Поскольку мы собираемся создать 2D игру, первое, что нам нужно сделать после выбора платформы — это выбрать размер картинок, которые мы будем использовать в игре:

iOS:

  • iPad without Retina: 1024px x 768px
  • iPad with Retina: 2048px x 1536px
  • 3.5″ iPhone/iPod Touch without Retina: 320px x 480px
  • 3.5″ iPhone/iPod with Retina: 960px x 640px
  • 4″ iPhone/iPod Touch: 1136px x 640px

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

  • Asus Nexus 7 Tablet: 800px x 1280px, 216 ppi
  • Motorola Droid X: 854px x 480px, 228 ppi
  • Samsung Galaxy SIII: 720px x 1280px, 306 ppi

И то же самое для Widows Phone и BlackBerry:

  • Blackberry Z10: 720px x 1280px, 355 ppi
  • Nokia Lumia 520: 400px x 800px, 233 ppi
  • Nokia Lumia 1520: 1080px x 1920px, 367 ppi

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


5. Экспорт графики

В зависимости от того устройства, на которое вы ориентируетесь, вам
может потребоваться преобразовать изображения до рекомендуемого размера и
плотности пикселей. Вы можете сделать это в своем любимом графическом редакторе. Я использовал функцию Adjust Size… в меню Tools в приложении Preview (Просмотр) на OS X.


6. Интерфейс Unity

Обязательно нажмите кнопку 2D на панели Scene (Сцена). Вы также можете изменить разрешение, которое используется для отображения сцены, на панели Game.


7. Интерфейс игры

Игровой интерфейс нашей игры будет довольно простым. Вы можете найти арт и скрипты в исходных файлах, прилагаемых к этому уроку.


8. Язык

Вы можете использовать один из трех языков программирования, которые поддерживает Unity: C#, UnityScript, который по синтаксису похож на JavaScript и Boo. У каждого языка есть свои плюсы и минусы, но вам решать, какой из них вы предпочтете. Мне больше нравится C#, так что его и будем использовать.

Если вы решите использовать другой язык, то обратитесь к Unity’s Script Reference для изучения примеров.


9. 2D-графика

Unity стала отличной платформой для создания 3D-игр для различных платформ, таких как Microsoft Xbox 360, Sony PS3, Nintendo Wii, Интернет и различные мобильные платформы.

Хотя Unity всегда можно было использовать для разработки 2D-игр, но это не было официально объявлено до выпуска версии Unity 4.3, которая включала встроенную поддержку 2D. На следующем этапе, мы изучим как работать с изображениями как спрайтами вместо текстур.


10. Звуковые эффекты

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


11. Импорт ассетов

Прежде чем мы начнем разработку, нам нужно добавить наши ассеты в проект Unity. Есть несколько способов сделать это:

  • выберите Import New Asset из меню Assets
  • добавьте элементы в папку assets в своем проекте
  • перетащите ассеты в окно проекта

После завершения этого шага, вы должны увидеть ассеты в папке Assets вашего проекта на панели Project.

12. Создание сцены

Мы готовы создать сцену нашей игры путем перетаскивания объектов на панель Hierarchy (Иерархия) или Scene (Сцена).


13. Фон

Начните с перетаскивания фона на панель Hierarchy (Иерархия). Затем он должен появиться на панели Scene (Сцена).

Поскольку вкладка Scene (Сцена) настроена на отображение 2D-вида, вы можете выбрать Основную камеру (Main Camera) в панели Hierarchy (Иерархия), при этом вы увидите то, что камера будет отображать. Вы также можете увидеть это переключившись в режим игры. Чтобы сделать всю сцену видимой, измените значение Size (Размер) для Основной камеры (Main Camera) на 1.6 в панели Inspector (Инспектор).


14. Космический корабль

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


15. Коровник

Выберите коровник на панели Assets и перетащите его на сцену. Поместите его, как это показано ниже на скриншоте.


16. Коллайдер коровника

Чтобы убедиться, что коровник реагирует на столкновение с коровой когда она
пытается войти внутрь – нужно добавить один компонент, а точнее Box Collider 2D.

Выберите коровник в сцене, откройте панель Inspector и нажмите Add Component. Из списка компонентов выберите Box Collider 2D из раздела Physics 2D. Обязательно проверьте стоит ли галочка в поле Is Trigger.

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


17. Скрипт для обработки столкновений с коровником

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

Выберите коровник и нажмите кнопку Add Component (Добавить компонент) на панели Inspector. Выберите New Script (Новый скрипт) и назовите его OnCollision. Не забудьте поменять язык на C#.

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

1
using UnityEngine;
2
using System.Collections;
3

4
public class OnCollision : MonoBehaviour
5
{
6
    void OnTriggerEnter2D(Collider2D other)
7
    {
8
        if (other.gameObject.name == "cow(Clone)")
9
        {
10
            /* Play the save cow sound */
11
            audio.Play();
12
            /* Destroy the cow */
13
            Destroy(other.gameObject);
14
        }
15
    }
16
}

Этот фрагмент кода реагирует на столкновение между объектами, к которым привязан скрипт, коровником и объектом названым cow(Clone) — один из экземпляров коровки, Prefab (префаб) который мы создадим позже. Когда происходит столкновение, проигрывается звук и объект коровка уничтожается.


18. Добавляем звук для коровника

Для воспроизведения звука, когда коровка попадает в коровник, нужно для начала прикрепить этот звук к коровнику. Щелкните мышью на коровник во вкладке Hierarchy или на самой сцене (вкладка Scene), нажмите кнопку Add Component во вкладке Inspector и выберите в разделе Audio пункт Audio Source.

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

Вы можете увеличить размер значков в пользовательском интерфейсе Unity (gizmos), нажав Gizmos на вкладке Scene и отрегулировав положение ползунка.


19. Луч

Перетащите изображение луча из вкладки Assets на сцену и добавьте к нему коллайдер. Это необходимо для обнаружения столкновения луча с невезучей коровой. Проверьте включен ли параметр Is Trigger на панели Inspector.

20. Скрипт для луча

Создайте новый скрипт, повторите шаги, проделанные ранее. Назовите скрипт Bullet и замените его содержимое следующим фрагментом кода:

1
using UnityEngine;
2
using System.Collections;
3

4
public class Bullet : MonoBehaviour
5
{
6
    public AudioClip cowSound;
7

8
    // Use this for initialization

9
    void Start()
10
    {
11
        renderer.enabled = false; /* Makes object invisible */
12
    }
13
    
14
    // Update is called once per frame

15
    void Update()
16
    {
17
        /* Get main Input */
18
        if (Input.GetButton("Fire1"))
19
        {
20
            renderer.enabled = true; /* Makes object visible */
21
            /* Play the ray sound */
22
            audio.Play();
23
        }
24
        
25
        if (renderer.enabled == true)
26
        {
27
            transform.position += Vector3.down * (Time.deltaTime * 2);
28
        }
29

30
        /* Check for out of bounds */
31

32
        if (this.transform.position.y < -1.5)
33
        {
34
            transform.position = new Vector2(0.08658695f, 0.1924166f); /* Return bullet to original position */
35
            renderer.enabled = false;
36
        }
37
    }
38

39
    void OnTriggerEnter2D(Collider2D other)
40
    {
41
        if (other.gameObject.name == "cow(Clone)")
42
        {
43
            AudioSource.PlayClipAtPoint(cowSound, transform.position);
44
            /* Destroy the cow */
45
            Destroy(other.gameObject);
46
            transform.position = new Vector2(0.08658695f, 0.1924166f); /* Return bullet to original position */
47
            renderer.enabled = false;
48
        }
49
    }
50
}

Здесь много кода, но он не сложен. Давайте посмотрим, что происходит. Сначала мы создаем экземпляр AudioClip с именем cowSound, который мы будем использовать для хранения аудио файла. Это просто еще один способ воспроизведения звука, если вы не хотите привязывать к объекту два аудио компонента. Мы объявили переменную как публичную, поэтому мы можем получить к ней доступ из вкладки Inspector. Нажмите маленькую точку справа от cowSound и выберите аудио файл.

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

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

Также мы предусмотрели проверку не оказался ли наш луч за границами сцены. Если это так, то мы возвращаем его на место и наше НЛО может стрелять снова (проверьте значения х и у луча во вкладке Inspector).

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


21. Добавляем звук для луча

Чтобы добавить аудио к нашему космическому лучу необходимо выбрать во вкладке Hierarchy или Scene наш луч и нажать на кнопку Add Component во вкладке Inspector. Выберите Audio Source из раздела Audio. Снимите галочку с Play on Awake и нажмите маленькую точку справа от Audio Clip, чтобы выбрать звуковой файл.


22. Добавление коровки

Перетащите изображение коровки из панели Assets и поместите ее в сцену, как показано ниже.


23. Rigid Body 2D

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


24. Коллайдер коровки

Мы также должны привязать к коровке коллайдер, чтобы определять столкновения с коровником и лучом. Обязательно проверьте флажок Is Trigger во вкладке Inspector.


25. Скрипт движения коровки

Добавьте скрипт к коровке и напишите в нем следующий код:

1
using UnityEngine;
2
using System.Collections;
3

4
public class MoveCow : MonoBehaviour
5
{
6
    public Vector3 moveSpeed;
7
    public float spawnTime = 2f;
8
    public float spawnDelay = 2f;
9

10
    // Use this for initialization

11
    void Start()
12
    {
13
        moveSpeed = Vector3.left * Time.deltaTime;
14
        InvokeRepeating("ChangeSpeed", spawnDelay, spawnTime);
15
    }
16

17
    void ChangeSpeed()
18
    {
19
        moveSpeed = new Vector3(Random.Range(-1, -2), 0, 0) * 0.05f;
20
    }
21
    
22
    // Update is called once per frame

23
    void Update()
24
    {
25
        transform.position += moveSpeed;
26
    }
27
}

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


26. Создаем префаб для коровки

Теперь, когда мы привязали к коровке все необходимые компоненты, пора преобразовать ее в Prefab. Что такое Prefab? Давайте посмотрим в справочном руководстве Unity:

«Префабы (Prefabs) – это GameObject (игровые объекты) предназначенные для многократного использования, которые находятся во вкладке Project View. Префабы можно добавлять в любое количество сцен, несколько раз для каждой сцены. Когда вы добавляете Prefab в сцену, вы создаете его экземпляр. Все экземпляры префаба связаны с оригинальным префабом и, по сути, являются его клонами. Независимо от того, сколько экземпляров вы создали для своего проекта, любые изменения, коснувшиеся оригинального префаба, будут применены ко всем его экземплярам».

Если вы когда-либо изучали Flash и ActionScript, это должно звучать для вас знакомо. Чтобы преобразовать коровку в префаб, перетащите ее с панели Hierarchy на панель Assets. В результате название на панели Hierarchy станет синим.

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


27. Скрипт Spawner

Сценарий Spawner отвечает за появление коровок. Откройте MonoDevelop или ваш любимый C# редактор и создайте новый скрипт:

1
using UnityEngine;
2
using System.Collections;
3

4
public class Spawner : MonoBehaviour
5
{
6

7
    public float spawnTime = 2f;
8
    public float spawnDelay = 2f;
9
    public GameObject cow;
10

11
    // Use this for initialization

12
    void Start()
13
    {
14
        InvokeRepeating("Spawn", spawnDelay, spawnTime);
15
    }
16

17
    void Spawn()
18
    {
19
        /* Instantiate a cow */
20

21
        GameObject clone = Instantiate(cow, transform.position, transform.rotation) as GameObject;
22
    }
23
}

Мы используем метод InvokeRepeating для клонирования коровок с применением значений, установленных для spawnTime и spawnDelay. Игровой объект коровки GameObject cow установлен в значение public и создан с использованием Inspector. Нажмите маленькую точку справа и выберите префаб коровки.


28. Игровой объект Spawner

Чтобы создать несколько экземпляров префаба коровы, используйте изображение коровы, которое мы добавили к сцене несколько минут назад. Выберите его и удалите его компоненты. Затем добавьте скрипт Spawner.


29. Тестирование

Пришло время протестировать игру. Нажмите Command + P для запуска игры в Unity. Если все работает как надо, вы готовы к заключительному шагу.


30. Настройки проигрывателя

Когда вы довольны своей игрой, пришло время выбрать Build Settings в меню File и нажать кнопку Player Settings. Это вызовет Player Settings на панели Inspector, где вы можете настроить параметры для своего приложения.


31. Иконка приложения

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


32. Изображение для заставки

Иконка приложения или картинка-заставка, которая показывается при запуске приложения.

33. Сборка

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

34. Xcode

Если вы делаете игры для iOS, вам понадобится Xcode, чтобы скомпилировать конечный двоичный (бинарный) код для приложения. Откройте Xcode проект и выберите Build из меню Product.

Заключение

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

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

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

Что такое Unity

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

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

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

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

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

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

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

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

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

Установка Unity занимает 5–10 минут. Для этого нужно зайти на официальный сайт проекта и выбрать бесплатный тариф для физических лиц — Personal. Его будет достаточно для самостоятельного изучения Unity и создания первой игры. Еще один бесплатный тариф — студенческий, но он подойдет тем, кто зарегистрирован на GitHub и может подтвердить свой ученический статус.

После нажатия кнопки «Начать» откроется Unity Store. Для новых пользователей в нем есть вариант установки движка с обучающим руководством для начинающих. С помощью кнопки «Начните здесь» скачивается установщик UnityHubSetup.exe, который запускается как любой другой установщик: нужно просто открыть файл, принять условия пользовательского соглашения и нажать кнопку «Установить».

Русского языка в настройках нет, так что придется совершенствовать технический английский. Всего Unity занимает 11,3 Гб,поэтому перед установкой лучше проверить свободное место на диске и почистить его при необходимости.

Следующий шаг — создание Unity ID. Можно регистрироваться с помощью почты или использовать предложенные аккаунты, например Google или Apple. Важно поставить первые две галочки: согласие с условиями использования Unity и признание политики конфиденциальности. Третья галочка — это согласие на маркетинговые рассылки, ее ставить не обязательно.

После регистрации Unity предложит создать тестовый проект Microgame. На выбор предлагается пять шаблонов:

  • LEGO Microgame;
  • шутер от первого лица;
  • картинг;
  • платформер;
  • пустой 3D-шаблон.

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

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

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

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

Настройка интерфейса

В стандартном интерфейсе проекта шесть элементов рабочей области:

  1. Верхняя панель инструментов в ней находятся стандартные вкладки File, Edit, Help, как во многих других интерфейсах, а также вкладки Assets, GameObject, Components и Window.
  2. Scene — окно сцены, в котором выстраивается игровое пространство (элементы игрового мира, текстуры, фигурки персонажей и прочее).
  3. Games — это окно игры, в котором можно посмотреть глазами пользователя, как будут двигаться элементы и работать игровые механики.
  4. Hierarchy — окно иерархии, в нем перечислен список всех элементов (GameObject), которые помещены в окно Scene.
  5. Project — это система папок, в которых хранятся ассеты по категориям (текстуры, шрифты, звуки и т.д.).
  6. Inspector — окно для изменения элементов игры, их размера, цвета, положения в пространстве и других характеристик.

Добавление объекта

Объекты на экран Scene можно добавить из Asset Store. Для этого на панели инструментов нужно кликнуть на вкладку Window –> General –> Asset Store.

В строке поиска можно по названиям найти нужные компоненты, например, сет Free Platform Game Assets.

Как и другие ассеты, он загружается с помощью кнопки Import.

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

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

Шаг 2. Перенести в область Scene

Работа со скриптами

За поведение игровых объектов отвечают присоединенные к ним компоненты (Components). Базовый компонент любого объекта — Transform, он отвечает за положение элемента в окне Scene, возможность поворачивать и масштабировать его. К базовому компоненту можно добавить, например, Renderer, который меняет цвет, или RigidBody, который отвечает за массу и физику объекта. Но кроме базовых компонентов, объектам можно задавать особые условия, и для этого как раз используются скрипты.

Создать новый скрипт можно в окне Project, кликнув мышкой на Assets –> Create –> C# Script.

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

Базовые элементы скриптов — это:

  • using — элемент в коде, который подключает библиотеки;
  • public class — в этой строке обычно прописан класс MonoBehaviour, он содержит набор функций, необходимых для работы скрипта;
  • void — те самые функции, с их помощью прописываются действия, происходящие в игре.

Рассмотрим, например, функцию start. Любое действие в ней произойдет только один раз, когда запустится игра. Пропишем здесь print (“Hi”).

И можно заметить, что в консоли это слово выводится один раз.

Функция update — повторяющаяся, ее можно использовать, например, для передвижения объекта. Для этого в скрипте задается переменная int i = 0, она выводится на экран с помощью функции print (i) и увеличивается на одну единицу за каждый шаг с помощью i++.

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

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

Для понимания сути триггеров важно усвоить, что такое коллайдер (Collider). Это компонент, который присваивается объекту в пространстве игры, задает форму и делает его твердым, недоступным для прохождения сквозь него. Например, если мы разместим монетку в 2D-пространстве и захотим сделать так, чтобы она упала на платформу, то без использования компонента Collider ничего не получится — монетка пролетит сквозь платформу.

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

Так объекты обязательно соприкоснутся и монета встанет на платформу.

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

Чтобы создать триггер, нужно накинуть тот же самый компонент коллайдера, но поставить галочку Is Trigger.

Триггеры распознают три варианта взаимодействия области на карте и объекта:

  • OnTriggerEnter — объект зашел в зону;
  • OnTriggerStay — объект находится в зоне;
  • OnTriggerExit — объект покинул зону.

Что дальше?

Освоить интерфейс Unity довольно легко, в интернете есть разные гайды на тему того, как сделать это действительно быстро. Например, видео «Я сделал игру на Unity за неделю» или обучающий мини-курс «Как создать RPG за час». Можно изучать геймдев самостоятельно или начать обучение на курсе — это ускорит процесс и даст более заметные результаты.

Для работы со скриптами и создания более сложных механик разработчикам в любом случае понадобится С#, так что к его изучению вы тоже рано или поздно придете. Но в отличие от Unity, по C# нет в свободном доступе такого большого количества актуальных и понятных гайдов, так что в целях экономии времени и сил лучше записаться на курс «Разработчик игр на Unity», где все знания упакованы в структурированные блоки и сбалансированы с практикой на тренажерах.

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

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

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

После выбора этих параметров Unity может собрать и упаковать ваше приложение, которое затем можно распространять

Предполагая, что у вас уже есть игра, готовая к публикации, вы можете начать вносить изменения в Build Settings. Если у вас нет игры Unity, вы можете начать работу с Unity for Game Development

Как указать платформу для вашей игры

Варианты платформ включают автономную игру для ПК, PS4, iOS, PS5, Xbox One, Android, WebGL и другие

ПлатформаОписание

PC, Mac & Linux Standalone

Это самостоятельная игра для ПК, которую можно запустить на Windows, Mac OS или Linux. В выходной папке будет находиться исполняемый файл, который можно запустить

iOS

Это позволит вам запустить вашу игру на мобильных устройствах Apple. Когда вы создадите свою игру, Unity сгенерирует проект Xcode, который вам понадобится для упаковки игры, чтобы отправить ее в магазин Apple. Вы также можете использовать симулятор iOS для тестирования игры на iPhone и iPad

Android

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

WebGL

Это подготовит ваш проект, чтобы вы могли разместить его в Интернете. Выходная папка состоит из файла index.html и файлов ресурсов для логотипа и полосы загрузки. Она также содержит папку для дополнительных необходимых ресурсов, таких как фреймворк, данные и файлы кода

Конкретная консоль (например, Xbox, PS4, PS5)

Это позволяет запустить вашу игру на определенных консолях

Вы можете указать желаемую платформу на вкладке Build Settings

  1. Когда ваш проект Unity открыт, нажмите на вкладку File в верхней части окна Unity. Выберите Build Settings.
  2. Откроется новое окно, в котором вы можете указать платформу вашей игры.

Как выбрать сцены, которые вы хотите построить

Вы также можете использовать окно Build Settings для указания сцен, которые вы хотите опубликовать

  1. На панели Scenes In Build выберите сцены, которые вы хотите включить в опубликованную игру.
  2. Если ваши сцены не видны, вы можете нажать на кнопку Add Open Scenes Добавить открытые сцены. Убедитесь, что ваши сцены открыты в Unity.

Как изменить расширенные настройки сборки

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

  1. В нижней левой части окна Build Settings нажмите на Player Settings.
  2. Откроется еще одно окно, в котором можно указать другие параметры, такие как аудио, разрешение, иконки или графику. Например, на вкладке Аудио вы можете указать Режим динамиков по умолчанию вашей игры. Здесь можно выбрать следующие варианты: стерео, моно или объемный звук.
  3. Откройте вкладку Игрок. Укажите название компании, название продукта и версию игры.
  4. Укажите иконку по умолчанию для вашей игры. Вы также можете развернуть раздел Icon и указать иконку для разных размеров экрана.
  5. Раскройте раздел Разрешение и представление и укажите разрешение для вашей игры.
  6. Раскройте раздел Splash Image. Здесь вы можете настроить пользовательскую заставку – экран, который вы показываете пользователю, когда он впервые открывает вашу игру.
  7. Вы можете найти другие настройки, такие как настройки сжатия или регистрации трассировки стека, если раскроете раздел Other секцию.

Как собрать и запустить проект Unity

Вы можете Собрать и запустить проект на вкладке Build Settings

  1. Нажмите на Build and Run и выберите местоположение папки, в которой вы хотите хранить файлы игры.
  2. После завершения процесса игра запустится автоматически. Перед началом игры Unity покажет вам заставку.
  3. Перейдите в папку, в которой вы сохранили файлы игры, чтобы просмотреть структуру проекта. Она будет отличаться в зависимости от платформы игры. Например, самостоятельная игра для ПК будет включать исполняемый файл.

Разработка игр с помощью Unity

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

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

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

Понравилась статья? Поделить с друзьями:
  • Как найти свой дом на сайте жкх
  • Показатель валового национального продукта как найти
  • Как найти собственника земельного пая
  • Как в консультанте найти судебную практику
  • Как составить резюме для гувернантки