Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unity_в_действии_Джозеф_Хокинг_Рус.pdf
Скачиваний:
82
Добавлен:
21.06.2022
Размер:
26.33 Mб
Скачать

7.5. Заключение      187

Сценарию нужна ссылка на компонент Animator, после чего код присваивает контрол- леру-аниматору значения (типа float или Boolean). Не совсем очевидно назначение условия (_contact != null) перед заданием логической переменной, отвечающей за прыжок. Это условие не дает контроллеру воспроизвести клип с прыжком сразу после начала действия. Хотя с технической точки зрения падение персонажа длится долю секунды, информация о столкновении появится только после его первого соприкосновения с поверхностью.

Итак, все готово! У вас есть демонстрационный ролик движения от третьего лица с элементами управления, связанными с камерой и анимированным персонажем.

7.5. Заключение

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

Имитация теней путем визуализации в реальном времени и с помощью карт освещенности улучшает вид сцены.

Действие элементов управления можно определить относительно камеры, а не персонажа.

Метод бросания луча позволяет улучшить распознавание поверхности в Unity.

Сложная анимация, настраиваемая в Unity с помощью контроллера-аниматора, позволяет моделировать антропоморфных персонажей.

8

Добавление в игру

интерактивных устройств

и элементов

33 Программирование дверей, которые сможет открывать игрок (срабатывают при нажатии клавиши или при столкновении)

33 Включение имитации физической среды для моделирования разлетающихся коробок

33 Создание элементов, которые игрок сможет сохранять как инвентарь

33 Применение кода для управления состоянием игры, например данными об инвентаре

33 Подготовка и использование элементов инвентаря

Следующей темой, которую мы детально рассмотрим, станет реализация функцио­ нальных элементов. В предыдущих главах вы получили подробную информацию о различных аспектах готовой игры: перемещениях, врагах, пользовательском интерфейсе и т. п. До сих пор мы взаимодействовали только с врагами, и то это было достаточно ограниченное взаимодействие. В этой же главе вы научитесь создавать функциональные устройства, например двери. Также мы обсудим процесс сбора элементов, подразумевающий как взаимодействие с объектами игрового уровня, так и отслеживание состояния игры. В играх часто приходится следить за такими вещами, как статистика игрока, прохождение по этапам и т. п. Инвентарь игрока является примером состояния, поэтому вы создадите код, отслеживающий собранные игроком предметы. К концу главы вы построите динамическое пространство, которое будет выглядеть как настоящая игра!

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