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

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

Перейти к: навигация, поиск
Эта страница страница помечена как находящиеся в процессе перевода с: 16 июня 2012.
Статью пометил сам автор статьи.


Содержание

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

Корневой каталог 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 assets and Animation Graph files.
  • Game\Entities: .ent files which instruct the Entity System about which script entity class should be registered.
  • Game\Levels: All the game levels should be in this directory.
  • Game\Libs: Multiple data files to support different game systems.
  • Game\Fonts: Optional TrueType fonts used by the game.
  • Game\Materials: Global XML Material files used by levels.
  • Game\Music: Music assets.
  • Game\Objects: All the static objects and skinned characters along with materials and textures required by them.
  • Game\Prefabs: XML Prefabs files created in Sandbox.
  • Game\Scripts: Lua scripts for Script Entity classes, AI and different game systems.
  • Game\Sounds: All sounds assets.
  • Game\Textures: All other textures required by levels or other textures re-used by multiple objects.

Game\Libs

  • Game\Libs\ActionGraphs: Flowgraph saved in .xml format to be used with the AI System.
  • Game\Libs\AnimationGraphTemplates: Templates used by the Animation Graphs that allows special interaction.
  • Game\Libs\Clouds: Data used for clouds generation.
  • Game\Libs\Communication: .xml files used to implement the different in-game dialogs.
  • Game\Libs\Config: Default action maps templates.
  • Game\Libs\EntityArchetypes: Entity archetypes libraries; used to specify predefined entity parameters or to provide new alias names to existing entity classes.
  • Game\Libs\EquipmentPacks: Pre-defined sets equipments used by actors on level startup.
  • Game\Libs\FlowgraphModules:*Game\Libs\FlowNodes: Flowgraphs templates.
  • Game\Libs\GameAudio:*Game\Libs\GameForceFeedback:*Game\Libs\GameTokens: Used by the GameTokens system to maintain persistent values across multiple levels.
  • Game\Libs\HitDeathReactionsData:*Game\Libs\MaterialEffects: Material Effect library.
  • Game\Libs\MusicLogic:*Game\Libs\Particles: Particle Effect library.
  • Game\Libs\Readability:*Game\Libs\ReverbPresets:*Game\Libs\Sky:*Game\Libs\SmartObjects: SmartObject templates.
  • Game\Libs\SoundMoods:*Game\Libs\UI:

Game\Scripts

  • Game\Scripts\AI: Scripts needed by the AI system, including behavior scripts and goal pipes.
  • Game\Scripts\Entities: Script based entity class.
  • Game\Scripts\Expressions:*Game\Scripts\FlowNodes:*Game\Scripts\GameRules: Script side implementations for the GameRules.
  • Game\Scripts\Network: .xml data to support the network system; including scheduler and compression policies defined for the entity classes.
  • Game\Scripts\Utils: General purpose script functions for math operations, etc.

Pak Files

It is possible to store most of the content of the Game inside Pak files. The only exceptions are level files which should be stored outside of the Pak files.

It is recommended to use the Resource Compiler to generate Pak files. The RC Jobs can used to automate this process along with converting intermediate files to optimized platform specific files. The Compiling Assets for Multiple Platforms document explain this process.

TestResults

This folder is used to place user-generated files that may be created when using console commands like SaveLevelStats.

Tools

Multiple stand-alone tools and exporters for CryENGINE can be found in the \Tools directory. When redistributing a stand-alone application or game using CryENGINE, it is not needed to redistribute the \Tools directory.

User

This directory is creating during run-time to store files generated by CryENGINE or Sandbox. This include User profiles, compiled shader combination and some temporary files created by Sandbox. It’s safe to delete this directory when CryENGINE is not running.