Удаление функционала сферы
Удалите из настроек блюпринтов уровня весь функционал, связанный со сферой. Сфера, устанавливаемая в точке нахождения пользователя, конфликтует с другими объектами, вызывая ошибки. Сохраните изменения после удаления.
Доработка функционала дверей (Door Collision)
В блюпринтах Door Collision добавьте проверку текущего уровня. Используйте блок Branch для выполнения разного кода в зависимости от уровня. Блок Get Current Level Name получит название текущего уровня. Блок Equal сравнит его со строкой Main Map.
Результат сравнения передаётся в Branch. Если уровень — Main Map, перейдите на уровень House Map; иначе — на Main Map. Скомпилируйте блюпринт.
Доработка уровня House Map
На уровне House Map:
- Уменьшите размер объекта Floor.
- Уменьшите размер объектов Door (в папке Door) до 0.5.
- Разместите двери по центру и добавьте к ним объекты Door Collision. При приближении к ним игрок должен переходить на Main Map.
- Увеличьте размеры дверей по координатам X и Z.
- Протестируйте функционал. Если игрок появляется слишком далеко после перехода, добавьте в блюпринт игрока проверку уровня. На уровне Main Map установите координаты; иначе — нет. Скомпилируйте и протестируйте.
Установка точки появления игрока (Player Start)
Добавьте на House Map объект Player Start у двери, направив взгляд игрока от двери. Протестируйте.
Дизайн помещения и освещение
Увеличьте размеры House Map. Добавьте стены из простых кубов (для упрощения; можно использовать ресурсы Quixel Bridge). Создайте пол и потолок.
Удалите Exponential Height Fog, Sky Atmosphere, SM_Sky, Cloud и Directional Light (они не нужны внутри). Удалите Skylight для демонстрации темноты.
Добавьте освещение:
- Spotlight — имитация люстр.
- Rect Light на полу с высокой интенсивностью — имитация отражения от пола на потолок (отключите Cast Shadows).
Изменяйте цвета источников света для разных зон освещения.
Добавление интерактивного объекта и подсветки
Добавьте вазу и цветы из Quixel Bridge. Добавьте два Point Light: основной и подсветку красным цветом и большим радиусом (отключите Cast Shadows).
Создайте функционал включения/выключения подсветки клавишей I. Используйте блок Set Visibility для управления видимостью Light Component подсветки и функцию Not для инвертирования состояния. Настройте начальное состояние подсветки на невидимое. Протестируйте.
В этом уроке вы создали помещение, реализовали переход между уровнями и настроили освещение. Продолжайте работу над дизайном, используя ресурсы Quixel Bridge.