Следуйте шагам ниже, чтобы создать собственную футбольную мини-игру с поддержкой физики, в которой игроки будут стараться забить мяч в ворота соперника с помощью ударов киркой:
Создайте проект
Создайте новый проект из любого шаблона острова.
Пустой шаблон рекомендуется использовать, если для начала работы вам требуется плоская область.
Если вы начинаете с пустого шаблона, примените материал M_FortniteLandscape_Customizable к плоскостям решётки, чтобы добавить земле травяную поверхность.
В выпадающем меню «Проект» в строке меню выберите Настройки проекта.
Прокрутите вниз до раздела Экспериментальный доступ и установите там флажок рядом с параметром Физика.
Импортируйте футбольный мяч
Загрузите ресурс футбольного мяча из любого магазина ресурсов на ваш выбор. В этом примере мы будем использовать ресурс с расширением .glb. В нём уже есть статичная сетка, текстура и экземпляр материала.
Футбольный мяч от tinmanjuggernaut на Sketchfab, используется по стандартной лицензии Sketchfab.
Импортируйте мяч, перетащив файл .glb в Каталог ресурсов. Настройки импорта можно оставить без изменения.
Дважды нажмите на статичную сетку, чтобы открыть ресурс для редактирования.
В окне просмотра выберите Показать и установите флажок рядом с параметром Простая коллизия.
Если там уже будет задана какая-либо коллизия, удалите её.
В меню Коллизия в верхней части окна выберите Добавить упрощённую коллизию сферы.
В настройках раздела Коллизия на панели Сведения установите следующие настройки:
Радиус — 102,0
Готовая настройка коллизии — Блокировать всё
Центр — 0 по всем осям
Теперь коллизия должна отображаться. Сохраните статичную сетку.
Создайте объект «Футбольный мяч»
В Каталоге ресурсов щёлкните правой кнопкой мыши по статичной сетке и выберите Действия ресурса по сценарию > Преобразовать в объект > Камень.
В проекте будет создана папка CustomProps. Откройте папку и перетащите объект схемы в сцену.
На панели Сведения нажмите +Добавить и добавьте компонент Физика в Fortnite.
В компоненте FortPhysics задайте следующие настройки:
Симулировать физику — True
Переопределить массу — True
Масса — 20,0
Линейное демпфирование — 0,1
Угловое демпфирование — 0,3
Множитель импульса при ударе — 3,0
Добавьте футбольные элементы
В окне «Структура» выберите IslandSettings0 и измените следующее:
Макс. кол-во игроков — 6
Команды — Индекс команды: 2
Размер команды — Равное распределение
Присоединение во время игры — Появление
Неуязвимость — True
Разрешить строительство — Нет
Начинать с киркой — True
Разместите шесть устройств Генератор игроков:
Первые 3: Команда игрока — Индекс команды 1
Другие 3: Команда игрока — Индекс команды 2
Отображать в игре — False
На этом этапе попробуйте запустить сеанс, чтобы убедиться, что всё работает корректно.
Создайте поле из объектов окружения!
Используйте Колоссальный колизей в разделе Fortnite > Готовые элементы
Используйте Развлекательное футбольное поле в качестве футбольного поля
Найдите объект FortniteRecreation SoccerGoal в Каталоге ресурсов и разместите два экземпляра в качестве ворот. Увеличьте их в 1,5 раза, чтобы они соответствовали размеру мяча.
Добавьте устройство Барьер, чтобы оградить поле и не давать мячу вылетать за его пределы.
Измените Форму зоны на Пустой кубоид, после чего опустите нижнюю часть устройства ниже уровня земли. В противном случае она будет мешать генераторам игроков.
Если вы появляетесь в свободном падении, а не в точке появления игрока, может потребоваться опустить нижнюю часть устройства или не использовать в качестве формы зоны вариант «Пустой кубоид».
Подготовьте устройства
На данный момент все устройства, совместимые с Физикой, находятся в папке Fortnite > Devices > !Experimental .
Для определения момента гола подготовим два устройства Область:
Назовите устройство «Область» за точками появления Команды 1 Team_A_Goal.
Назовите устройство «Область» за точками появления Команды 2 Team_B_Goal.
Размеры Ширина — 0,6
Глубина — 2,2
Высота — 1,0
Добавьте устройство Управление заданиями:
Название — Устройство управления заданиями для счёта команды A
Отслеживаемая характеристика — Счёт
Название устройства управление заданиями — Счёт команды А
Общий доступ — Команда
Скопируйте устройство «Управление заданиями» и переименуйте копию в Устройство управления заданиями для счёта команды B. Измените название устройства управление заданиями на Счёт команды B.
Добавьте устройство для вывода сообщений в интерфейсе:
Название — Устройство для вывода сообщений в интерфейсе для счёта A
Звуковой сигнал — Scoreing_Point_Added_Cue
Фон — Выберите цвет
Размещение — Пользовательское
Прикрепление к экрану — Центр
Сообщение — “Забила команда A!!!”
Создайте копию устройства для вывода сообщений в интерфейсе.
Название — Устройство для вывода сообщений в интерфейсе для счёта B
Сообщение — “Забила команда B!!!”
Фон — Выберите второй цвет
Добавьте два устройства «Вентилятор», расположив их под углом рядом с воротами. При попадании в любой из этих вентиляторов мяч будет запускаться в воздух в сторону от ворот. Установите для параметра Множитель силы подбрасывания значение 0,1.
Создайте диспетчер игры с помощью Verse
Язык Verse — это самый быстрый и простой способ управления игрой, поэтому приступим к созданию диспетчера игры! Более подробная информация о том, как создать устройство Verse, приведена в разделе «Создание собственного устройства с помощью Verse».
Создайте новый файл Verse и назовите его game_manager.verse. Дважды щёлкните по файлу, чтобы открыть его в VS Code.
Добавьте следующий код в файл:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
# A Verse-authored creative device that can be placed in a level
game_manager := class(creative_device):
Скомпилируйте код и сохраните проект.
Может потребоваться настроить точки исчезновения и сброса мяча.
В редакторе UEFN разместите созданное устройство Verse в сцене и подключите все редактируемые переменные к вашим устройствам.
Запустите сеанс или примените все изменения в сеансе редактирования по сети, после чего проверьте следующее:
Мяч должен двигаться при толчке или ударе киркой.
При попадании мяча в ворота должно появиться сообщение интерфейса, счёт должен измениться, а мяч должен вернуться в центр поля.
Наша футбольная мини-игра готова!
Поэкспериментируйте: добавьте больше мячей, устройств, измените масштаб и т. п.! К примеру, вот как может выглядеть наша мини-игра: