Эта статья описывает основную файловую структуру игрового движка. Знание расположения ресурсов, скриптов и инструментов поможет вам эффективно работать с проектом — будь то создание уровней, написание Lua-скриптов или разработка модификаций. Все пути указаны относительно корневой директории проекта.
me-build.json — техническая информация о сборке игрового движка.preferences.json — настройки игрового движка.servers.json — файл таблица серверов.
Папка Bin32/ содержит исполняемые и прочие файлы, необходимые для запуска и работы движка.
MERadiant.exe — редактор уровней (аналог GtkRadiant).Папка также содержит лаунчеры для быстрого запуска конкретных уровней:
(Про работу и создание лаунчеров можно почитать — тут)demo-engine.exe— лаунчер по умолчанию. Запускает пустую сцену (базовый уровень без объектов).
demo-engine_<название уровня>.exe— специализированный лаунчер для конкретного уровня.
ME_Core.dll, ME_Crypto.dll, ME_Debug.dll, ME_ModelLoader.dll — ядро движка и модули.PhysX.dll, PhysXCommon.dll, PhysXCooking.dll, PhysXDevice.dll, PhysXFoundation.dll, PhysXGpu.dll — библиотеки физического движка NVIDIA PhysX.lua53.dll — интерпретатор Lua.libvlc.dll, libvlccore.dll — поддержка видео через VLC + плагины для VLC в отдельной папке plugins/.project.prj — конфигурационный файл проекта для MERadiant.entities.def — определения игровых сущностей для MERadiant.eula\ — тексты лицензионных соглашений (EULA (End-User License Agreement) – это лицензионное соглашение с конечным пользователем).videos\ — видеофайлы (например, MoTeam.MPEG4).layered_material_library.txt — вспомогательный файл для запуска MERadiant.Узнать подробности можно тут
ME_Shaders.exe, ME_Texture.exe, ME_ModelLoader.exe, ME_MemTest.exe и др.Основной контент игры: текстуры, модели, звуки, шейдеры, конфигурации уровней.
artwork\ — содержит графические элементы интерфейса (изображения, шрифты):cfg\ — конфигурационные файлы, узнать подробнее — тут.levels\ — уровни игры:папка <название уровня>:level.json — файл конфигурации настроек уровня.objects.json — файл с описанием групп и размещением объектов.meradiant.json — временный файл уровня для MERadiant.objects\ — игровые модели:.mep (описание модели), .ME2 (модель), .mtx (скин).shaders\ — шейдерные программы:.chv, фрагментные .chf, геометрические .chg шейдеры для рендеринга OpenGL 3.3sounds\ — аудиофайлы.textures\ — текстуры, разделены по тематическим папкам (к примеру, solids\ - используется для моделей геометрии игрового мира):Игровые и системные скрипты написаны на Lua.
_<название файла>.lua — здесь находятся системные скрипты, рекомендуем их не изменять!map_<название уровня>_general.lua — запускается и работает на определенном уровне.ui\ — пользовательский интерфейс.mp\ — сетевая часть.<прочие папки>\ — остальные папки авторские.Инструменты и исходный код для разработчиков.
samples\ — примеры:zavrazhe_terrain\ — образец ландшафта в форматах .obj, .mtl, .tga._units.jpg - скриншот: настройки единиц измерения в Autodesk 3ds Max._export.jpg - скриншот: пример настроек экспорта в Autodesk 3ds Max.sources\ — исходный код лаунчера:demo-engine\ — проект на C++ (main.cpp, .vcxproj).API\ — заголовочные файлы и библиотеки для интеграции: me_engine.h, ME_Core.lib