Структура каталогов CryENGINE

Материал из CryWiki Russia

Перейти к: навигация, поиск

Содержание

Корневой каталог

Корневой каталог CryENGINE содержит подкаталоги, которые кратко описаны в этом документе. Кроме того, может содержать конфигурационные файлы system.cfg и systemcfgoverride.cfg, которые используются для настройки консольных переменных.

Многочисленные лог-файлы будут записаны в корневой каталог.

Bin32 и Bin64

Каталоги Bin32 и Bin64 содержат 32- и 64-разрядные исполняемые файлы Sandbox (Editor.exe), программы запуска игры (Launcher.exe), и все необходимые движку DLL-файлы.

  • Bin32\rc: Каталог Bin32 также содержит подкаталог rc. Resource Compiler (RC) может быть вызван движком по требованию для преобразования исходных ассетов в оптимизированный формат (например, TIF-текстур в DDS). 64-разрядная версия Resource Compiler не существует.

Code

Весь исходный код C++, а также решения и файлы проекта находятся в каталоге Code. Основное решение — это Code/Solutions/CryEngine.sln или Code/Solutions/CryEngineGfx.sln, в зависимости от того, есть ли у вас SDK с поддержкой Scaleform или нет.

Для получения дополнительной информации о исходным кодом, смотрите статью «Работа с кодом игры».

Editor

Папка Editor содержит ресурсы, которые используются в Sandbox, например, иконки и прочие UI данные, настройки и шаблоны.

При дистрибуции автономного приложения или игры, используя CryENGINE, нет необходимости включать каталог Editor.

Engine

Каталог Engine содержит множество распространяемых файлов, которые требуются рендереру и другим системам. В CryENGINE 2 эти файлы хранятся в каталоге Game, но были перенесены в один центральный каталог для упрощения технического обслуживания при использовании нескольких каталогов Game.

  • Engine\Config: Конфигурация в текстовых файлах, для установки различных параметров движка для низких/высоких конфигураций ПК, консолей.
  • Engine\Fonts: Стандартный TrueType шрифт, используемый в движке (то есть в внутриигровой консоли).
  • Engine\Shaders: Все исходные коды и двоичные файлы шейдеров.
  • Engine\Shaders\EngineAssets: Основные материалы и текстуры требуемые шейдерами.

Game

Все игровые данные и ассеты, как правило, хранятся в каталоге Game. Можно изменить название папки с игрой или использовать несколько папок одновременно в одном корневом каталоге CryENGINE. Папку с игрой и DLL игры, которые будут использоваться, могут быть настроены консольными переменными sys_game_folder и sys_dll_game, которые могут быть установлены в system.cfg. Смотрите статью «Смена папки игры» для получения дополнительной информации.

  • Game\Animations: Анимации и файлы Animation Graph.
  • Game\Entities: .ent-файлы, указывающие системе сущностей, какие классы скриптовых сущностей должны быть зарегистрированы.
  • Game\Levels: Все уровни игры должны быть в этом каталоге.
  • Game\Libs: Множество файлов данных для поддержки различных игровых систем.
  • Game\Fonts: Дополнительные TrueType шрифты, используемые в игре.
  • Game\Materials: Глобальные XML-файлы материалов, используемые уровнемя.
  • Game\Music: Музыка.
  • Game\Objects: Все статические объекты и персонажи вместе с материалами и текстурами необходимыми им.
  • Game\Prefabs: XML-файлы префабов созданные в Sandbox.
  • Game\Scripts: Lua-скрипты для классов скриптовых сущностей, ИИ и других игровых систем.
  • Game\Sounds: Все звуки.
  • Game\Textures: Все другие текстуры требуемые уровням или другие текстуры используемые несколькими объектами.

Game\Libs

  • Game\Libs\ActionGraphs: Flowgraph сохранённый в .xml-формат для использования системой ИИ.
  • Game\Libs\AnimationGraphTemplates: Шаблоны используемые в Animation Graph для особых взаимодействий.
  • Game\Libs\Clouds: Данные, используемые для генерации облаков.
  • Game\Libs\Communication: .xml-файлы используемые для внедрения различных игровых диалогов.
  • Game\Libs\Config: Стандартные шаблоны Action Map.
  • Game\Libs\EntityArchetypes: Архетип-библиотеки сущностней; используются для определения предопределенных параметров сущностней или предоставления новых псевдонимов к существующим классам сущностней.
  • Game\Libs\EquipmentPacks: Предустановленные наборы экипировки, используемые актёрами при запуске уровня.
  • Game\Libs\FlowgraphModules:
  • Game\Libs\FlowNodes: Шаблоны Flowgraph.
  • Game\Libs\GameAudio:
  • Game\Libs\GameForceFeedback:
  • Game\Libs\GameTokens: Используется системой GameTokens для сохранения постоянных значений на разных уровнях.
  • Game\Libs\HitDeathReactionsData:
  • Game\Libs\MaterialEffects: Библиотека эффектов материалов (Material Effect).
  • Game\Libs\MusicLogic:
  • Game\Libs\Particles: Библиотека эффектов частиц (Particle Effect).
  • Game\Libs\Readability:
  • Game\Libs\ReverbPresets:
  • Game\Libs\Sky:
  • Game\Libs\SmartObjects: Шаблоны SmartObject.
  • Game\Libs\SoundMoods:
  • Game\Libs\UI:

Game\Scripts

  • Game\Scripts\AI: Скрипты необходимые системе ИИ, в том числе скрипты поведения и голпайпы.
  • Game\Scripts\Entities: Классы скриптовых сущностей.
  • Game\Scripts\Expressions:
  • Game\Scripts\FlowNodes:
  • Game\Scripts\GameRules: Скриптовые реализации для GameRules.
  • Game\Scripts\Network: .XML-данные для поддержки сетевой системы, в том числе планировщик и политики сжатия определенные для классов сущностей.
  • Game\Scripts\Utils: Универсальные скриптовые функции для математических операций и так далее.

PAK-файлы

Также можно хранить большую часть контента Game внутри PAK-файлов. Исключение составляют лишь файлы уровней, которые должны храниться за пределами PAK-файлов.

Рекомендуется использовать Resource Compiler для создания PAK-файлов. RC Job может использоваться для автоматизации этого процесса наряду с преобразованием промежуточных файлов в оптимизированные для конкретной платформы файлы. Статья «Компиляция ассетов для различных платформ» объяснит этот процесс.

TestResults

Эта папка используется для размещения пользователями файлов, которые могут быть созданы при использовании консольных команд, как SaveLevelStats.

Tools

Многочисленные автономные инструменты и экспортеры для CryENGINE можно найти в каталоге \Tools. При дистрибуции автономного приложения или игры, используя CryENGINE, нет необходимости включать каталог Tools.

User

Этот каталог создается во время выполнения для хранения файлов, созданных CryENGINE или Sandbox. Они включают в себя профили пользователей, скомпилированные комбинации шейдеров и временные файлы, созданные в Sandbox. Можно смело удалить этот каталог, когда CryENGINE не работает.