Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Development
Senior
Урок 11
Role Playing Game
2
Role Playing Game
Рисунок 1
Давайте создадим уровень для ролевой игры. В до
полнительных материалах вы найдете архив с заготовкой
проекта, которую нужно открыть в Unity (рис. 2).
3
Урок 11
Рисунок 2
Сцена Main выглядит следующим образом (рис. 3):
Рисунок 3
Начнем с усовершенствования внешнего вида лока
ции. В Assets/RPG Village/Prefabs у нас есть папки с моде
лями зданий, деревьев и различных конструкций (рис. 4).
4
Role Playing Game
Рисунок 4
Ознакомьтесь с содержимым этих папок и добавьте
несколько зданий и конструкций на сцену.
Для более удобного структурирования объектов до
бавим объект Constructions в Environment и поместим
в него добавленные строения (рис. 5).
Рисунок 5
Кроме того, изменим Skybox для локации. Переходим
в Assets/Day-Night Skyboxes/Materials и перетягиваем по
нравившийся на сцену (рис. 6).
5
Урок 11
Рисунок 6
Изменим настройки камеры, чтобы она отображала
скайбокс. Для этого отыщем объект Main Camera и изменим
параметр Clear Flags, задав ему значение Skybox (рис. 7).
Рисунок 7
Следующий объект, который обязательно должен
быть на сцене — это сундук со стартовым снаряжением
6
Role Playing Game
Рисунок 8
В этой же папке находится префаб с манекеном глав
ного героя. Разместите его рядом с сундуком (рис. 9).
Рисунок 9
7
Урок 11
Рисунок 10
Подключим камеру, чтобы она следовала за игро
ком. Для этого перетянем объект Cam look target в Main
Camera — Camera Controller — Target (рис. 11).
Рисунок 11
Запустим игру и убедимся, что главный герой по
является в нужном месте. Если все сделано правильно,
то, используя кнопки A и D, камеру можно поворачи
вать, а используя колесико мыши, приближать и отда
лять (рис. 12).
8
Role Playing Game
Рисунок 12
Персонаж перемещается в нужную точку локации
по нажатию в нее левой кнопкой мыши. Однако сейчас
персонаж не будет перемещаться, так как мы не настро
или NavMesh — навигационную сетку. Для ее создания
откроем вкладку Navigation, которая находится рядом
с вкладкой Inspector, и выберем Object (рис. 13).
Рисунок 13
Поочередно выберем каждый добавленный на с цену
объект и установим для каждого галочки напротив Navi
gation Static и Generate OffMeshLinks (рис. 14).
9
Урок 11
Рисунок 14
После этого откроем пункт Bake и нажмем Bake (рис. 15).
Рисунок 15
Теперь синим подсвечивается та территория, по ко
торой герой может перемещаться. Как видите, объекты
в нее не попадают (рис. 16).
10
Role Playing Game
Рисунок 16
Теперь займемся инвентарем. Найдите в Assets/Prefabs
префаб Inventory и перетяните его в Canvas (рис. 17).
Рисунок 17
Теперь найдите в Canvas скрипт Inventory UI и пе
ретяните объекты Inventory и Items в соответствующие
поля (рис. 18).
11
Урок 11
Рисунок 18
Отредактируем скрипт Player Animator, который есть у
Player. Добавим взаимодействие с оружием. У персонажа
сейчас два доступных оружия: кулаки и меч. Первое —
доступно сразу после старта игры, а второе появляется
в инвентаре после взаимодействия с сундуком. Внесите
следующие изменения (рис. 19):
Рисунок 19
12
Role Playing Game
Рисунок 20
Чтобы экипировать Player, нажмите по каждому пред
мету (рис. 21).
Рисунок 21
13
Урок 11
Рисунок 22
Попробуем сразиться с ним без экипировки. Для атаки
нужно нажимать на врага правой кнопкой мыши (рис. 23).
Рисунок 23
А теперь сразимся с врагом в экипировке (рис. 24).
14
Role Playing Game
Рисунок 24
Если в первом случае битву можно назвать равной,
то при наличии у игрока брони, скелет не может нане
сти ему никакого урона. Так играть становится неинте
ресно, поэтому увеличим атаку скелета. Для этого най
дем у Enemy скрипт Character Stats и увеличим значение
Damage Base Value, например, до 25 (рис. 25).
Рисунок 25
15
Урок 11
Рисунок 26
Этот префаб содержит элемент интерфейса с сообще
нием о победе, которое появляется, если здоровье скеле
та ниже нуля (рис. 27).
Рисунок 27
Наша rpg-игра готова!
16
Role Playing Game
Рисунок 28
Рисунок 29
17
Урок 11
Role Playing Game