Вы находитесь на странице: 1из 16

Game

Development

Senior
Урок 13
Space Simulator

К уроку прилагаются дополнительные материалы. Для доспупа


к ним перейдите по ссылке.

2
Space Simulator

Space Simulator
На одном из занятий мы уже создавали город буду­
щего. А сегодня займемся разработкой космического си­
мулятора на Unity (рис. 1).

Рисунок 1

3
Урок 13

Создадим новый проект Space Sim (рис. 2).

Рисунок 2
В дополнительных материалах у вас находится архив
Assets. Распакуйте его и перетяните содержимое папки
Assets в проект (рис. 3).

Рисунок 3
В PolygonSciFiSpace/Scenes откройте сцену Demo_Interior.
unity. Эта сцена содержит интерьер космического кора­
бля (рис. 4).

4
Space Simulator

Рисунок 4
Если вы посмотрите на объекты, из которых состоит
сцена, то обнаружите, что не все они содержат коллайде­
ры. Таким образом, если мы создадим персонажа, то он
будет проваливаться сквозь текстуры. Чтобы исправить
это, перейдем в Scripts и перетянем AddCollider на объ­
ект Interiors (рис. 5).

Рисунок 5

5
Урок 13

Данный скрипт проверяет каждый объект и под­


объект на наличие компонента Mesh Collider, и если та­
ковой не был найден, то добавляет его. Запустите сцену
и перейдите на вкладку Scene. Проверьте все ли объекты
теперь имеют нужный коллайдер (рис. 6).

Рисунок 6
Если все получилось, то перейдем к добавлению пер­
сонажа. В папке Prefabs найдите префаб Player и перетя­
ните его на сцену. Player уже содержит настроенную ка­
меру, поэтому удалите оставшуюся на сцене Main Camera.
Сделайте активным объект Ceilings, который содержит
крышу космического корабля, а затем запустите уро­
вень (рис. 7).
Теперь вы можете передвигаться с помощью клавиш
W A S D. Обратите внимание, что двери в некоторые от­
секи закрыты и пройти туда нельзя. Так, например, игрок
не может попасть на капитанский мост. Давайте сдви­
6
Space Simulator

нем объект двери таким образом, чтобы она выглядела


как открытая (рис. 8).

Рисунок 7

Рисунок 8
Теперь игрок может попасть в это помещение. Кро­
ме того, можно так же открыть доступ в ангар (рис. 9).
7
Урок 13

Рисунок 9
Добавим на мосту зону, зайдя в которую игрок полу­
чит предложение начать управление кораблем. Создадим
объект ControlArea с Box Collider. В последнем отметим
галочку Is Trigger (рис. 10).

Рисунок 10
Далее добавим объект Text и назовем его ControlMsg.
Когда игрок наступит на коллайдер, в этом объекте будет
появляться текстовое сообщение (рис. 11).

8
Space Simulator

Рисунок 11
Если нажать на кнопку E, то откроется сцена Demo_
Exterior. Однако сперва ее нужно добавить в билд. Нажи­
маем File — Build Settings — Add Open Scene и добавля­
ем в билд текущую сцену. Затем открываем сцену Demo_
Exterior и добавляем ее таким же образом (рис. 12).

Рисунок 12
9
Урок 13

Пробуем нажать E находясь на капитанском мости­


ке. В данный момент сцена выглядит, как на рисунке 13.

Рисунок 13
Следующий этап — заставить космические объекты
двигаться, а также добавить возможность управления ко­
раблем. Перейдите в папку Prefabs и найдите префаб Ship.
Перетяните его на сцену. В нем уже содержится камера,
поэтому можете удалить со сцены объект Main Camera.
В подобъект Hull перетяните объект любого понравив­
шегося вам корабля из Ships. Обнулите его координаты
и установите Rotation -90 по X (рис. 14).

Рисунок 14
10
Space Simulator

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


кораблем (рис. 15).

Рисунок 15
Сейчас вы можете пролететь сквозь объекты, поэтому
добавим им коллайдеры. Перетяните уже знакомый вам
скрипт AddColliders на Ships, Planets, Astroids и Debris.
Кроме того, не забудьте вручную добавить Mesh Collider
на объект с моделью корабля, который вы добавляли в
Hull. Установите ему галочку напротив Convex. Также пе­
ретяните на Ships и Debris скрипт AddRigibody (рис. 16).

Рисунок 16

11
Урок 13

Если корабль игрока врежется в орбитальную стан­


цию, то она сдвинется с места, однако это нереалистич­
но из-за ее больших размеров. Перетяните ее из объекта
Ships и добавьте ей коллайдеры отдельно (рис. 17).

Рисунок 17
Теперь заставим космические объекты вращаться во­
круг звезды. Выберите нужный объект и перетяните его
за пределы объекта Planets (рис. 18).

Рисунок 18

12
Space Simulator

Теперь создайте новый объект PlanetsPivot с такими


же координатами, как у звезды. Перетяните Planets в соз­
данный объект. Найдите в папке Scripts скрипт Rotation и
перетяните его на PlanetsPivot. В Inspector укажите ско­
рость вращения объекта. Например, 10 (рис. 19).

Рисунок 19
Самостоятельно создайте аналогичные Pivot-объекты
для Astroids и Debris. Укажите им скорость 15 и 17 соот­
ветственно. Помните, что координаты Pivot должны со­
впадать с координатами звезды (рис. 20).

Рисунок 20

13
Урок 13

Последнее, что осталось добавить — это скрипт, кото­


рый будет перезапускать уровень при столкновении кос­
мического корабля игрока с другими объектами. Сделаем
так, чтобы угрозу несло только столкновение с планетами
и астероидами. Найдите в папке Scripts файл AddCollision.
cs и перетяните его на объекты Planets и Astroids (рис. 21).

Рисунок 21
Запустите игру, попробуйте врезаться в планету или
астероид. Убедитесь, что все работает корректно (рис. 22).

Рисунок 22
14
Space Simulator

Наш космический симулятор готов! Напоследок да­


вайте посмотрим на увлекательные игры космической
тематики.
1. Faster Than Light (рис. 23).

Рисунок 23

2. No Man’s Sky (рис. 24).

Рисунок 24

15
Урок 13
Space Simulator

© Компьютерная Академия «Шаг»


www.itstep.org

Все права на охраняемые авторским правом фото-, аудио- и видеопро-


изведения, фрагменты которых использованы в материале, принадле-
жат их законным владельцам. Фрагменты произведений используются
в иллюстративных целях в объёме, оправданном поставленной задачей,
в рамках учебного процесса и в учебных целях, в соответствии со ст. 1274
ч. 4 ГК РФ и ст. 21 и 23 Закона Украины «Про авторське право і суміжні
права». Объём и способ цитируемых произведений соответствует
принятым нормам, не наносит ущерба нормальному использованию
объектов авторского права и не ущемляет законные интересы автора
и правообладателей. Цитируемые фрагменты произведений на момент
использования не могут быть заменены альтернативными, не охраня-
емыми авторским правом аналогами, и как таковые соответствуют
критериям добросовестного использования и честного использования.
Все права защищены. Полное или частичное копирование материалов
запрещено. Согласование использования произведений или их фраг-
ментов производится с авторами и правообладателями. Согласованное
использование материалов возможно только при указании источника.
Ответственность за несанкционированное копирование и коммерческое
использование материалов определяется действующим законодатель-
ством Украины.

Вам также может понравиться