Все острова Unreal Editor для Fortnite (UEFN) воспроизводятся на различных устройствах: от высокопроизводительных ПК до мобильных платформ. Однако, чтобы острова воспроизводились на мобильных платформах в надлежащем качестве, необходимо с самого начала их разрабатывать с учётом оптимизации и экономии памяти.
На этой странице вы узнаете об основных аспектах разработки островов для игры на мобильных устройствах.
Рекомендации по разработке островов для мобильных устройств
Разработка с учётом требований игроков:
определите свою целевую аудиторию и то, что они ждут от игр на мобильных платформах;
создайте пользовательский интерфейс, который будет простым, чётким и удобным в плане навигации на экране мобильного устройства;
разрабатывайте игры для экранов разных устройств и чаще проводите игровой тест островов на разных устройствах и с разными разрешениями экрана;
используйте имеющиеся элементы управления Fortnite для мобильных устройств и разрабатывайте острова с их учётом.
Вовлечённость в игру:
создайте короткий, но увлекательный игровой цикл, чтобы игру было легко начать играть и так же легко прервать;
разрабатывайте быстрые, но при этом захватывающие вступительные сценарии, которые показывают механику игры и сразу вызывают интерес у игроков;
не забудьте про ощущение прогресса, сохранение результатов и награды, чтобы игроки хотели возвращаться в игру снова и снова;
выбирайте игровые режимы и жанры, которые больше всего нравятся игрокам на мобильных устройствах.
Оптимизация проекта:
управляйте текстурами эффективно;
всегда помните про расход памяти.
Настройки масштабируемости
UEFN позволяет разрабатывать игры с учётом масштабируемости на разных устройствах. Из-за ограничений, установленных на отдельных типах платформ, некоторые функции отключаются или упрощаются при низком уровне качества. Используйте инструмент визуального масштабирования в редакторе, чтобы предварительно просмотреть остров с учётом разных настроек масштабирования. Мы очень рекомендуем тестировать игры на разных уровнях.
В таблице ниже перечислены основные функции, которые можно масштабировать или отключить при разном качестве:
Разработка острова и ресурсов с учётом масштабируемости обеспечивает наилучшие производительность и визуальные эффекты независимо от устройства. Основные моменты, которые следует учитывать:
Уровни детализации сетки: используйте уровни детализации сетки для пользовательских статичных или скелетных сеток, чтобы уменьшить количество полигонов и увеличить показатель FPS.
Мир и иерархические уровни детализации: подгружайте карту, используя иерархические уровни детализации и World Partition, чтобы сократить область отрисовки, снизить нагрузку на графической процессор и увеличить показатель FPS.
Группы текстур и MIP-текстурирование: включите масштабирование материалов в среде выполнения с помощью MIP-текстурирования. Убедитесь, что текстуры отнесены к правильной группе и имеют размеры в степенях двойки, чтобы масштабирование и качество отображения были корректными. Текстуры с размерами не в степенях двойки подгружаться не будут.
Качество материала: сложные материалы могут оказаться слишком ресурсоёмкими на низкопроизводительных платформах. Мы создали обёртки для функций материалов, чтобы вы могли проще настраивать разные аспекты материала для разных уровней платформ.
Выберите Fortnite > Материалы > Функции и найдите
MF_QualitySwitch_MaterialAttributes,MF_QualitySwitch_ScalarиMF_QualitySwitch_Vector. Использование этих обёрток-переключателей качества для упрощения функций материала на низких настройках качества улучшит производительность. Подробнее: раздел Функции материала.
Советы по оптимизации графики и ресурсов для мобильных устройств
С самого начала учитывайте ограничения мобильных устройств.
Избегайте перерисовки. Объединяйте слои, ограничивайте использование прозрачностей и убирайте лишние пересекающиеся объекты.
Упрощайте текстуры. Используйте инструмент минимизации.
Тщательно тестируйте свой остров на мобильных устройствах. Проверяйте, нет ли конфликтов в интерфейсе и элементов, которые перекрывают игровые элементы управления. Для игрового теста на мобильных устройствах вы можете использовать Amplementation Luna или Xbox Cloud Gaming.
Запустите инструмент подсчёта памяти, чтобы получить подробный список самых ресурсоёмких элементов на уровне.
Дополнительные советы по оптимизации
Несмотря на то, что UEFN обеспечивает прекрасную масштабируемость движка, вам по-прежнему нужно оптимизировать и упрощать контент. Перегрузка оборудования приводит к падению показателя FPS, долгим загрузкам и отсутствию оптимизации игры. Вот рекомендации для повышения производительности:
Оптимизация сеток: старайтесь, чтобы полигонов было как можно меньше. Подробнее о выделенном объёме памяти для полигонов: раздел Создание ресурсов, готовых к использованию в Fortnite.
Количество материалов: используйте как можно меньше материалов. В идеале используйте только одну секцию материала на сетку.
Разрешение текстур: в мобильных устройствах установлено ограничение памяти для текстур. Используйте текстуры размером 512x512 пикселей и по возможности избегайте больших размеров.
Сокращение команд отрисовки: избегайте одновременной отрисовки слишком большого количества уникальных объектов и текстур. Используйте экземпляры и иерархические экземпляры статичных сеток (HISM) и, по возможности, группируйте небольшие объекты в более крупные объекты окружения.
World Partition и слои данных: сократите количество отображаемых на экране ресурсов и время загрузки. Подробнее о World Partition: раздел Управление памятью.
Оптимизируйте освещение: используйте минимально возможный радиус освещения, избегайте наложения источников света и задайте для подвижности источников света значение Стационарные.
Отключите параметр «Отбрасывание теней» для источников света, которые не требуют резких теней, особенно в открытом пространстве, где свет неба обеспечивает достаточное окружающее освещение.
Используйте Диспетчер масштабирования освещения: создавайте различные сценарии освещения для каждого уровня ESS. Вы можете настроить упрощённую и более эффективную схему освещения для низкопроизводительных и среднепроизводительных платформ (мобильных и устаревших консолей).
MIP-текстуры и для чего они нужны
MIP-текстуры — это уровни детализации для текстур. Разрешение текстур может переключаться в зависимости от расстояния и ориентации камеры.
Хотя для более чёткой отрисовки можно использовать текстуры без MIP-текстурирования, такие текстуры остаются в памяти устройства и обходят процесс подгрузки UEFN.
На диаграмме ниже показано использование памяти текстурами в зависимости от размера. К примеру, текстура размером 1024x512 использует вдвое меньше памяти, чем текстура размером 1024x1024.
Хотя многие текстуры по отдельности кажутся небольшими, многие из них загружаются на экран одновременно и не удаляются из памяти сразу, когда камера отворачивается. Такое скопление может привести к сбоям устройства из-за превышения установленных ограничений памяти.
Устранение ошибок на мобильных устройствах
Вот некоторые распространённые проблемы и решения, которые позволят оптимизировать остров для игры на мобильных устройствах.
Низкая частота кадров (FPS) на мобильных устройствах
Проблема: слишком много команд отрисовки и перегрузка видеокарты.
Решение: уменьшите количество одновременно видимого контента. Используйте World Partition, чтобы разделить уровень и уменьшить количество отрисовываемых объектов.
Решение: используйте уровни иерархические уровни детализации и уровни детализации сетки, чтобы уменьшить сложность ресурсов и количество полигонов — это позволит графическому процессору быстрее отрисовывать объекты.
Решение: упрощайте сложные материалы на низких настройках качества или уменьшайте количество уникальных материалов, так как они требуют больше вычислений графического процессора на кадр. По возможности используйте материалы повторно.
Решение: по возможности группируйте небольшие объекты в один более крупный ресурс. Это позволит видеокарте отрисовывать их как единый элемент (используя одну команду отрисовки).
Проблема: одновременно загружается слишком много ресурсов.
Решение: используйте World Partition, чтобы разделить уровень и уменьшить количество загружаемых материалов.
Решение: используйте HISM и экземпляры, чтобы уменьшить количество уникальных ресурсов.
Решение: по возможности используйте материалы повторно, чтобы сократить количество вычислений графического процессора на кадр.
Остров тратит слишком много памяти
Проблема: неоптимизированный контент.
Решение: по возможности используйте текстуры размером 512x512, назначьте правильную группу текстур и убедитесь, что включена функция подгрузки.
Решение: при использовании пользовательских сеток используйте наименьшее количество полигонов для большей эффективности уровней детализации и уменьшения размера конвертации.
Проблема: слишком много уникальных сеток.
Решение: по возможности используйте HISM и экземпляры. Повторное использование одного и того же ресурса различными способами уменьшает количество уникальных ресурсов, хранящихся в памяти.
Решение: по возможности группируйте небольшие объекты в один более крупный ресурс.
Поддерживаемые мобильные устройства
В следующих таблицах перечислены устройства и характеристики, которые следует учитывать при тестировании на мобильных устройствах.
Android
| Категория | Минимальная конфигурация системы |
|---|---|
Операционная система | ОС Android 10.0 или новее |
Архитектура | ARM64, с 64-разрядной ОС Android |
ОЗУ | 4 ГБ ОЗУ |
Видеокарта | Adreno 530 или новее, Mali-G71 MP20, Mali-G72 MP12 или новее |
Apple
| Устройство | Модель |
|---|---|
iPhone | 11, 11 Pro, 11 Pro Max, 12, 12 mini, 12 Pro, 12 Pro Max, 13, 13 mini, 13 Pro, 13 Pro Max, 14, 14 Plus, 14 Pro, 14 Pro Max, 15, 15 Plus, 15 Pro, 15 Pro Max, 16, 16 Plus, 16 Pro, 16 Pro Max |
iPhone SE | 3-е поколение, 2022 |
iPad Pro | 12.9in, 2-е поколение или новее; 11in, 1-е поколение или новее; 10.5in |
iPad Air | 4-е поколение, 2020; 5-е поколение, 2022 |
iPad | 10-е поколение, 2022 |
iPad mini | 6-е поколение, 2021 |
Дополнительные ресурсы
Расширьте свои знания, изучив следующую информацию:
Раздел Память и оптимизация документации Fortnite
Видео на YouTube Оптимизация проекта в UEFN
Видео на YouTube Управление памятью в UEFN