Структура каталогов CryENGINE
Материал из CryWiki Russia
DCamer (Обсуждение | вклад) |
DCamer (Обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
== Code == | == Code == | ||
- | + | Весь исходный код C++, а также решения и файлы проекта находятся в каталоге '''Code'''. Основное решение - это <tt>Code/Solutions/CryEngine.sln</tt> или <tt>Code/Solutions/CryEngineGfx.sln</tt>, в зависимости от того, есть ли у вас SDK с поддержкой Scaleform или нет. | |
- | + | Для получения дополнительной информации о исходным кодом, смотрите статью «[[Работа с кодом игры]]». | |
== Editor == | == Editor == | ||
- | + | Папка '''Editor''' содержит ресурсы, которые используются в Sandbox, например, иконки и прочие UI данные, настройки и шаблоны. | |
- | + | При дистрибуции автономного приложения или игры, используя CryENGINE, нет необходимости включать каталог '''Editor'''. | |
== Engine == | == Engine == | ||
- | + | Каталог '''Engine''' содержит множество распространяемых файлов, которые требуются рендереру и другим системам. В CryENGINE 2 эти файлы хранятся в каталоге '''Game''', но были перенесены в один центральный каталог для упрощения технического обслуживания при использовании нескольких каталогов '''Game'''. | |
- | *'''Engine\Config''': | + | *'''Engine\Config''': Конфигурация в текстовых файлах, для установки различных параметров движка для низких/высоких конфигураций ПК, консолей. |
- | *'''Engine\Fonts''': | + | *'''Engine\Fonts''': Стандартный TrueType шрифт, используемый в движке (то есть в внутриигровой консоли). |
- | *'''Engine\Shaders''': | + | *'''Engine\Shaders''': Все исходные коды и двоичные файлы шейдеров. |
- | *'''Engine\Shaders\EngineAssets''': | + | *'''Engine\Shaders\EngineAssets''': Основные материалы и текстуры требуемые шейдерами. |
== Game == | == Game == | ||
- | + | Все игровые данные и ассеты, как правило, хранятся в каталоге '''Game'''. Можно изменить название папки с игрой или использовать несколько папок одновременно в одном корневом каталоге CryENGINE. Папку с игрой и DLL игры, которые будут использоваться, могут быть настроены консольными переменными ''sys_game_folder'' и ''sys_dll_game'', которые могут быть установлены в '''system.cfg'''. Смотрите статью «[[Смена папки игры]]» для получения дополнительной информации. | |
*'''Game\Animations''': Animation assets and Animation Graph files. | *'''Game\Animations''': Animation assets and Animation Graph files. |
Версия 18:43, 5 февраля 2013
Статью пометил сам автор статьи.
Содержание |
Корневой каталог
Корневой каталог 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.