Структура каталогов 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 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 scripts for Script Entity classes, AI and different game systems.
  • Game\Sounds: Все звуки.
  • 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.