FiveM Map Development with YMAP: Основы кастомного MLO
Создавайте кастомные карты FiveM с файлами YMAP. Инструменты, рабочий процесс, основы MLO, папки для стриминга и советы по избежанию конфликтов и проблем с отрисовкой.
Agency Scripts
Основатель и ведущий разработчик Agency Scripts
What Are YMAP Files?
Файлы YMAP , это формат размещения на карте, используемый GTA V и FiveM для определения расположения объектов, зданий и реквизита в игровом мире. Когда вы создаёте кастомный интерьер или модификацию карты для FiveM, вы фактически создаёте файл YMAP, который сообщает движку, какие 3D-модели разместить, где их позиционировать и как ориентировать. В отличие от простых скриптов размещения объектов, которые создают объекты во время выполнения, файлы YMAP загружаются как часть игрового мира во время стриминга, что позволяет использовать встроенную систему уровня детализации, отсечение объектов и управление памятью движка. Это делает YMAP предпочтительным методом создания постоянных дополнений карты, которые должны хорошо работать на серверах с большим количеством игроков.
Инструменты для разработки карт
Основной инструмент для создания карт FiveM , CodeWalker, бесплатное приложение, разработанное сообществом, позволяющее просматривать, редактировать и экспортировать данные карты GTA V. С CodeWalker вы можете размещать объекты из встроенной библиотеки игры, точно позиционировать их с помощью координат и значений вращения, а затем экспортировать создание в файл YMAP для стриминга. Для более сложной работы Blender с аддоном Sollumz позволяет создавать полностью кастомные 3D-модели и экспортировать их в форматы, требуемые FiveM. Многие разработчики карт также используют внутриигровые инструменты, такие как Spooner или скрипты размещения объектов, для первоначальной расстановки перед экспортом в формат YMAP. Рабочий процесс обычно включает грубое размещение в игре, доработку в CodeWalker и финальный экспорт для продакшена.
Создание кастомных интерьеров
Пользовательские интерьеры , это закрытые пространства, такие как квартиры, офисы, магазины или подземные объекты, в которые игроки могут входить и взаимодействовать с ними. Создание убедительного интерьера требует внимания к коллизионной геометрии, освещению и плотности объектов. Начните с определения оболочки интерьера, используя подходящие модели стен, пола и потолка, затем добавьте мебель, декор и функциональные элементы. Файлы коллизий (YBNF) должны соответствовать вашей визуальной геометрии, чтобы игроки не могли проходить сквозь стены или проваливаться через полы. Освещение интерьера реализуется с помощью комбинации запечённых световых проб и динамических источников света, определённых в вашем YMAP. Тщательно тестируйте интерьер, проходя каждый угол, проверяя визуальные швы, пробелы в коллизии и места, где камера проходит сквозь геометрию.
Трансляция и производительность
Пользовательские карты стримятся игрокам по мере приближения к локации, что означает, что размер файлов и сложность напрямую влияют на время загрузки и производительность клиента. Сосредоточьтесь на разумном размере области в ваших YMAP файлах, а не разбросывайте объекты по всей карте в одном ресурсе. Большие интерьеры следует разделять на несколько YMAP файлов, которые загружаются независимо, и используйте соответствующие расстояния LOD, чтобы предотвратить потребление ресурсов рендеринга дальними объектами. fxmanifest.lua для ресурса карты необходимо включить ваши файлы YMAP и YTYP как data_file записи с правильными объявлениями типов. Контролируйте производительность на стороне клиента с помощью встроенного профайлера FiveM, чтобы убедиться, что ваши кастомные карты не вызывают падения FPS, особенно в местах с большим скоплением игроков.
Библиотеки объектов и лучшие практики
В GTA V поставляется тысячи встроенных объектов (props), которые вы можете использовать на своих картах без добавления дополнительного стримингового контента. Изучение конвенций именования объектов помогает быстро находить нужные предметы. Объекты с префиксом prop_ являются универсальными предметами, v_ элементы с префиксом , это интерьерная мебель, а hei_ предметы связаны с контентом ограблений. При размещении объектов выравнивайте их по единой сетке, чтобы избежать парящих объектов и наложения геометрии. Группируйте связанные объекты логично и используйте описательные имена для ваших YMAP файлов, чтобы другие разработчики могли понять структуру карты. Всегда тестируйте карты с использованием стандартного освещения и погодных условий игры, так как объекты могут выглядеть очень по-разному при различных сценариях освещения.