Разработка 2D игры на Unity (2/5) "Подготовка сцены".

Разработка 2D игры на Unity (2/5) "Подготовка сцены". Unity, Gamedev, Игры, 2D, Урок, Длиннопост

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


Хронология постов:

1 - Знакомство с редактором.


Ну и начнем с того, из чего строится весь проект - ассеты.

Ассеты - это исходники вашего проекта. Все наши исходники, как я говорил в прошлом посте, отображаются в окне "Project" и находятся в папке "Assets", расположенной в корневой директории проекта. Юнити - очень дружелюбный движок и понимает множество форматов файлов. Более того, он их самостоятельно конвертирует в себе понятные форматы, поэтому абсолютно не имеет значения, в каких форматах вы будете хранить свои исходники. Так, например, изображения можно хранить в формате фотошоп, чтобы, в случае чего, их можно было легко подправить. А 3D графику можно хранить в формате .max. Вот только у вас должен быть установлен лицензионный 3D max (ну или хорошо крякнутый, кому как).


Где брать исходники? В голову приходит три варианта. Делать самостоятельно (что предпочтительно), искать в гугле (эффективно, но готовый качественный контент БЕСПЛАТНО получить практически невозможно) и скачать в Unity Asset Store.

Разработка 2D игры на Unity (2/5) "Подготовка сцены". Unity, Gamedev, Игры, 2D, Урок, Длиннопост

Unity Asset Store - это встроенный магазин исходников юнити. Открыть его можно в самом редакторе, комбинацией клавиш Ctrl+9. Здесь вы сможете найти всё, что необходимо для создания практически любой игры. Большинство ассетов - платные. Но они, собственно, и представляют из себя большую ценность, чем бесплатные. Некоторые из них можно найти и бесплатно, на просторах "этих ваших интернетов". Но я вам этого не говорил.


Мы же будем делать всё своими руками. Только импровизация! Только хардкор!

Я взял для примера изображение из интернета (было в первом посте) и сделал на его основе вот такую картинку (рис. ниже). Рисуется всё в фотошопе. Каждый отдельный элемент - новый слой. Я тот ещё мастер фотошопа... Но если хотите лучше - можете нарисовать.

Разработка 2D игры на Unity (2/5) "Подготовка сцены". Unity, Gamedev, Игры, 2D, Урок, Длиннопост

Для удобства, давайте создадим структуру нашего проекта, чтобы потом было удобнее ориентироваться во всех наших файлах. Сделаем три папки: Scripts, Sounds и Sprites. Все наши картинки сохраняем по одной в папку Sprites, попутно сортируя их на под категории Eggs и Player. И, для разметки, сохраним картинку целиком. Вот, что получилось у меня в итоге:

Разработка 2D игры на Unity (2/5) "Подготовка сцены". Unity, Gamedev, Игры, 2D, Урок, Длиннопост

Всё! С подготовкой закончили. Время творить!

Берём изображение "Sprites" и перетаскиваем его в окно иерархии (Hierarchy). Так оно займёт положение в самом центре сцены. Теперь, давайте создадим несколько пустых объектов. Так называемые "пустышки". Кликаем правой кнопкой мыши в окне иерархии и выбираем "Create Empty". Создастся объект, который так же имеет свои координаты, но он ничего в себе не содержит. Зачем он нужен? Для создания иерархии объектов (сортировки, проще говоря). Не просто так же юнитеки назвали так своё окно? =) Назовём эти объекты Player, Spawn1, Spawn2, Spawn3 и Spawn 4. Логично будет предположить, что в этих объектах будут размещаться яйца для каждой из 4-х сторон. Да, так оно и есть.


Берём яйца в окне проект и перетаскиваем их в окно сцены (Scene), размещая их сразу на свои места. Сначала размещаем все яйца (включая разбитое и убегающих цеплят), затем выделяем их все в окне иерархии и делаем дочерними объекту Spawn1. То же самое делаем для остальных спавнов. Да, разбитые яйца нужно будет тоже добавлять заного, для каждой стороны. В конечном итоге должно получиться что-то вроде этого:

Разработка 2D игры на Unity (2/5) "Подготовка сцены". Unity, Gamedev, Игры, 2D, Урок, Длиннопост

Обратите внимание, что у меня активно окно "Game", вместо сцены. То есть вот так вот будет видеть нашу игру - игрок. "Но что это за убожество??!???!!!" - скажете вы, и будете правы. Давайте исправлять. Активируем объект Main Camera. Справа, в окне "Inspector", ищем свойство "Background". Кликаем по нему, а затем, появившейся пипеткой, кликаем по серому фону. Отлично! Фон выровнялся. Но "край" нашей игры заметно отступает от края экрана. Это тоже легко исправить. Ищем свойство "Projection" и выбираем там "Perspective". И теперь, изменяя положение наших объектов по оси Z (делается это в свойствах объекта. Для этого выбираем объект и идём в инспектор), подстраиваем сцену так, чтобы она выглядела красиво.

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


Спасибо, что дочитали до конца! Подписывайтесь, чтобы не пропустить следующий урок ;)