Создаем Арканоид на Unity: Настройка проекта
() translation by (you can also view the original English article)



В этой серии уроков мы покажем вам, как воссоздать классическую игру Arkanoid (или Breakout) в Unity, используя собственные 2D-инструменты Unity. В каждом посте мы сосредоточимся на определенной части игры; В этом посте мы создадим проект и его ассеты.
Введение
Для кого предназначено это руководство?
Это руководство ориентировано в первую очередь на две группы людей:
- Для тех, кто совсем не знаком с Unity.
- Для тех, кто знаком с Unity, но не с 2D движком Unity и его инструментами.
Мы предполагаем, что у вас есть некоторые навыки программирования, поэтому мы не будем подробно описывать код.
Чтобы следовать этому руководству, вам нужно загрузить программное обеспечение Unity.
Основа этого руководства
В этом уроке мы полностью сосредоточимся на новом наборе 2D-инструментов Unity. Нашей задачей будет максимально освоить новые возможности и предоставить достаточно знаний, чтобы вы могли использовать Unity для создания своих 2D-игр и приложений, даже если вы никогда раньше не использовали Unity.
Основные функции, представленные в наборе 2D-инструментов Unity:
- Новый тип компонента,
Sprite
, определяемый 2D текстурой, прямоугольником и точкой поворота. - Новый компонент визуализации
SpriteRenderer
. - Новый вид отображения в 2D режиме.
- Физический движок Box2D и набор двухмерных физических компонентов, компонентов жесткого тела и нескольких коллайдеров.
- Атлас, или атлас спрайта.
Мы рассмотрим каждый из предложенных инструментов, кроме атласа спрайтов.
Превью результата
Взгляните на эту демонстрацию, чтобы увидеть, к чему мы стремимся во всей серии:
И вот что мы создадим в конце этого поста:
Настройка проекта
Запустите Unity и создайте новый проект, выбрав New Project... из меню File. Появится окно Project Wizard:



Определите местоположение проекта (это может быть любая удобная для вас папка), выберите 2D в поле Set up defaults for и не выбирайте шаблоны пакетов. (Эти шаблоны пакетов, как следует из названия, будут автоматически импортировать и подготавливать проект с определенными конфигурациями и ассетами).
На этом все, нажмите Create Project, откроется сам редактор и он должен выглядеть примерно так:



Это вид редактора по умолчанию. Можно работать с любым расположением окон, как вам удобно, но лучше всего адаптировать интерфейс к типу проекта, с которым вы работаете, это поможет вам повысить производительность. Если вы новый пользователь Unity, то мы советуем вам выбрать предложенный нами макет.
Редактор Unity состоит из вкладок, каждая вкладка имеет конкретную и специфическую информацию. Макеты изменяют организацию и размещение каждой вкладки. У вас будут вкладки консоли отладки, ассетов, сцены, инспекторов и т.д.
В правом верхнем углу экрана вы увидите раскрывающееся меню Layout. Нажмите эту кнопку и выберите опцию Tall. Ваш редактор будет автоматически адаптироваться и будет выглядеть примерно так:



Основная причина смены стандартного макета заключается в том, что мы можем иметь прямой и легкий доступ к нашей иерархии сцен, ассетов проекта, инспектору и консоли отладки. Консоль все еще отсутствует, поэтому добавьте ее, нажав Window > Console.
Обратите внимание, что окно консоли плавающее. Чтобы закрепить его в редакторе, перетащите его на вкладку Scene:



Теперь, когда у вас все на месте, следует сохранить новый макет, чтобы его можно было использовать в других проектах или легко вернуться к нему на случай, если потребуется изменить макет во время разработки игры.
Чтобы сохранить текущий макет, выберите Layout > Save Layout. Далее от вас потребуется ввести название; поскольку вы определяете макет для 2D игр, можно назвать его My2DLayout
. Нажмите Save, и у вас есть новый предопределенный макет.
Если хотите, вы можете перебрать все макеты, чтобы посмотреть на их разнообразие.
Организация проекта и импорт ресурсов
Теперь, когда редактор готов к работе, пришло время импортировать и упорядочить ассеты. Этот шаг еще раз очень важен для производительности. Основная организация проекта доступна на вкладке Project. Сейчас там почти пусто, за исключением папки Assets.

Хотя этот шаг не является абсолютно необходимым пунктом, мы настоятельно рекомендуем вам организовывать ассеты интуитивно понятным способом, особенно если вы работаете с крупными проектами. Для начала создайте папки со следующими именами (щелкните правой кнопкой мыши Assets и выберите Create > Folder):
Sprites
Scripts
Sounds
Music
Levels
Теперь, когда вы создали папку проекта, пришло время импортировать игровые ресурсы. Вы можете найти их в папке tutorial_assets в репозитории GitHub для этого урока. (Если вы не знакомы с GitHub, то вы можете просто нажать кнопку Download ZIP на последней странице.) Обратите внимание, что эта папка включает в себя ассеты для всей серии статей, поэтому некоторые спрайты/звуки мы пока использовать не будем.
Для импорта вам нужно только перетащить папку с ассетом в редактор Unity в папку, в которую требуется добавить этот конкретный ассет. Поэтому перейдите к файлу ресурсов, который вы только что загрузили, выберите содержимое папки Sprites и перетащите ее в папку Sprites в Unity. Затем редактор загрузит файлы. Повторите процесс для папок Music и Sounds; После того, как закончите, вы должны увидеть нечто подобное:



Подготовка сцены для первого уровня
После того, как мы подготовили редактор к работе и организовали проект, импортировали ресурсы, пришло время к созданию первого уровня.
Unity работает со scenes (сценами). Сцены могут использоваться для хранения игровых объектов, меню, уровней или любых других игровых объектов. Интуитивный способ понять концепцию сцены - увидеть каждую сцену как индивидуальный уровень, где вы разместите ресурсы, создадите среду, врагов и т. д. С учетом вышесказанного, давайте создадим вашу первую сцену.
По умолчанию при создании нового проекта Unity автоматически генерирует новую сцену. В этом случае сцена будет иметь только один объект, нашу Main Camera (основную камеру). Можно проверить объекты, которые имеются в сцене, на вкладке Hierarchy.



Вы также можете использовать эту иерархию сцен для организации игровых объектов на вашей сцене. Обратите внимание: когда вы выбираете игровой объект на сцене, вы можете изменить его свойства на вкладке Inspector.
Добавьте Sprite
для фона уровня в качестве первого объекта: на вкладке Hierarchy нажмите Create > Sprite. Теперь измените имя на Background
(нажмите клавишу Enter или сделайте это через первое поле вкладки Inspector).



Обратите внимание, что поле Sprite в компоненте Sprite Renderer пустое. Это означает, что для этого объекта не был назначен спрайт. Давайте изменим это: перетащите элемент background1.png
из папки Background в это поле. Затем текстура появится на сцене.
Если вы перейдете на вкладку Game, вы сможете увидеть сцену в таком виде, какой она будет в финальной версии игры. Вы также можете изменить разрешение на этой вкладке. В этом уроке, у нас выбрано разрешения Standalone (1024x768) по-умолчанию (за исключением встроенных демо-приложений в которых разрешение несколько меньше.)



Как вы видите, наш фон окружен синим цветом. Это связано с тем, что изображение не охватывает весь экран, поэтому нам придется масштабировать его. Во вкладке Inspector измените параметр Scale по оси X и Y на 4
. Это приведет к тому, что фон будет покрывать всю игровую область. Кроме того, убедитесь, что в слое Order in Layer задано значение 0
: при работе со спрайтами Unity использует слои для их прорисовки, это значит, чем ниже число, тем раньше будет рендериться спрайт, а спрайты с числами повыше, будут рисоваться поверх тех, что ниже. Так как объект Background это фон и он должен быть максимально отдаленным от нас, мы задаем этому параметру 0
.

Следующим шагом станет создание границ; мы добавим три спрайта (Top
, Left
и Right
) - это будут стены игры. Добавьте три спрайта, используя тот же процесс, что и раньше, используйте для своих изображений ассеты bar1.png
и bar2.png
. Для того, чтобы настроить точное расположение и размеры барьеров, перейдите на вкладку Scene поиграйте с границами по отдельности. Не забудьте изменить Order in Layer на 1
для каждого спрайта.
В итоге у вас должно получиться что-то подобное:



Созданные нами границы будут стационарными объектами, и они будут вести себя одинаково, поэтому мы будем группировать их в один игровой объект. Для этого сначала создайте новый пустой игровой объект, щелкнув Game Object > Create Empty в верхней строке меню.
Редактор создал новый пустой игровой объект на нашей сцене. Во вкладке Hierarchy перетащите три спрайта на пустой объект, который мы только что создали. Затем объекты границы станут подобъектами нового объекта. Переименуем объект в Bars
для удобства, чтобы мы запомнили, что в нем.



Осталось добавить шарик, платформу игрока и блоки. На данный момент
мы добавим по одному каждого типа. Снова добавьте Sprite для каждого
объекта и установите для параметра Order in Layer значение 1
.
Вот, что у вас должно получиться в итоге:



Давайте сохраним текущую сцену в качестве первого уровня. Выберите File > Save Scene as..., назовем ее Level1
и переместим файл в папку Levels.
В следующей части
На этом завершается первая часть этой серии. Теперь у вас есть проект Unity, все необходимые ассеты и архитектура первого уровня. В следующий раз мы научим мяч и платформу игрока двигаться.
Если у вас есть вопросы или отзывы, как всегда, не стесняйтесь писать в разделе для комментариев.