Adresárová štruktúra CryEngine
9.02.2012 - 17:20,
(Autor: tomoxm)
    Rootovský adresár
  • Rootovský adresár (hlavný) CryEnginu ma viacero podadresárov, ktoré sú v skratke popísané v tomto dokumente. Okrem nich môže obsahovať aj konfiguračné súbory system.cfg a systemcfgoverride.cfg, ktoré sa používajú na konfiguráciu premenných v konzoli.

    Viaceré logovacie súbory budú zapisované do rootovksého adresára.

  • Bin32 a Bin64
  • Adresáre Bin32 a Bin64 obsahujú 32 bitové a 64 bitové verzie Sandboxu (Editor.exe), spúštača hry (Launcher.exe), a všetky potrebné DLL súbory enginu.

    Bin32\rc: adresár Bin32 taktiež obsahuje podadresár s názvom rc. Použitie Resource Compilera (RC) môže byť zavolané enginom na požiadanie, pre transformáciu zdrojových assetov na optimizovaný formát (napr. TIF textúry na DDS). Pre 64bitovú verziu neexistuje Resource Compiler.

  • Code
  • Všetky C++ zdrojové kódy, ako aj solution a project súbory sa nachádzajú v adresári Code. Základný solution enginu je v Code/Solutions/CryEngine.sln alebo _Code/Solutions/CryEngineGfx.sln-, záleží na tom, či máte SDK s podporou pre Scaleform alebo nie.

    Pre viac informácií o zdrojovom kóde sa prosím pozrite do sekcie CryDev.Net - Programovanie.

  • Editor
  • Adresár Editor obsahuje zdroje, ktoré používa Sandbox, ako napr. ikony a iné dáta UI (užívateľksý interface), nastavenia a templaty.

    Tento adresár nie je potrebné zahrnúť ak budete distribuovať vlastnú aplikáciu/hru urobenú pomocou CryENGINE.

  • Engine
  • Adresár Engine má hlavne redistribuovateľné súbory, ktoré vyžaduje Renderer a ostatné systémy. Starší CryENGINE 2 mal tieto súbory uložené v adresári Game, ale presunuli sa do centrálneho adresára pre zjednodušenie údržby, keď sa používajú viaceré Game adresáre.

    • Engine\Config: konfiguračné súbory (textové), nastavenia enginu pre low/high PC konfigurácie, konzole (XBOX360, PS3).
    • Engine\Shaders: všetky source a binárky shaderov
    • Engine\Shaders\EngineAssets: základné materiály a textúry požadované shadermi

  • Game
  • Všetky špecifické herné dáta a assety sú uložené v Game adresári. Tento adresár môže mať rôzny názov, podľa názvu hry/aplikácie, alebo taktiež môže byť viacero adresárov s hrou naraz v CryEngine rootovskom adresári. Adresár s hrou a s hernými DLL súbormi môže byť nastavený s premennými konzole : sys_game_folder a sys_dll_game, ktoré sa môžu nastaviť v system.cfg. Pre viac info si pozrite Používanie rôznych adresárov hry.

    • Game\Animations: assety animácie a animačné grafické súbory
    • Game\Entities: .ent súbory ktoré inštruujú Entity System ktorá skriptovacia trieda entity má byť registrovaná
    • Game\Levels: všetky levely hry by sa mali nachádzať v tomto adresári
    • Game\Libs: viacero data súborov, ktoré podporujú rôzne herné systémy
    • Game\Fonts: základné TrueType fonty používané CryENGINom (napr.: in-game konzola)
    • Game\Levels: data súbory pre každý level
    • Game\Materials: globálne XML materiálové súbory používané v leveloch
    • Game\Music: hudobné assety
    • Game\Prefabs: XML Prefab súbory vytvorené v Sandboxe
    • Game\Objects: Všetky statické objekty a otextúrované charaktery spolu s materiálmi a textúrami ktoré používajú
    • Game\Scripts: Lua skripty pre triedy Script Entity, AI (umelá inteligencia) a rôzne herné systémy
    • Game\Sounds: Všetky zvukové assety
    • Game\Textures: Všetky ostatné textúry využívané v leveloch, alebo iné textúry znovu použité viacerými objektami


    • Game\Libs\ActionGraphs: Flowgraph uložený v .xml formáte, ktorý používa AI Systém
    • Game\Libs\AnimationGraphTemplates: Templaty ktoré používa AnimationGraphs, povoľuje špeciálnu interakciu
    • Game\Libs\Clouds: dáta používané pre generovanie oblakov
    • Game\Libs\Config: základné templaty máp akcií
    • Game\Libs\Config\Dialogs: .xml súbory používané pre implementovanie rôznych in-game dialógov
    • Game\Libs\EntityArchetypes: entity archetypových knižníc; používajú sa na špeciálne preddefinované parametre entít, alebo na poskytnutie nového alias mena pre existujúcu triedu entity
    • Game\Libs\EquipmentPacks: preddefinované sety zariadení používaných hercami pri štarte levela
    • Game\Libs\FlowNodes: templaty Flowgraphs
    • Game\Libs\GameTokens: Používané systémom GameTokens na udržanie perzistentných hodnôt počas viacerých levelov
    • Game\Libs\MaterialEffects: knižnica materiálových efektov
    • Game\Libs\Particles: knižnica particle efektov
    • Game\Libs\SmartOjects: templaty SmartObject


    • Game\Scripts\AI: skripty potrebné pre AI systém, vrátane skriptov správania a cieľov.
    • Game\Scripts\Entities: skripty na báze entity tried
    • Game\Scripts\GameRules: Implementácia skriptov na základe GameRules.
    • Game\Scripts\Materials: definície Materiálov.
    • Game\Scripts\Network: .xml dáta na podporu sieťového systému; zahrňuje scheduler a politiku kompresie definovanú pre triedy entít
    • Game\Scripts\Utils: všeobecné skripty pre matematické operácie, atď

  • Pak súbory
  • Skoro všetok obsah hry je možné uložiť do Pak súborov. Jedinou výnimkou sú súbory levelov, ktoré by mali byť uložené mimo Pak súborov.

    Odporúča sa použiť Resource Compiler na vytvorenie Pak súborov. RC joby môžu byť použité na zautomatizovania tohto procesu, spolu s konvertovaním požadovaných súborov pre optimalizované špecifické súbory tej danej platformy. Tutoriál s názvom Kompilovanie assetov pre rôzne platformy vysvetľuje tento proces.

  • Tools
  • Viaceré nástroje a exportovacie nástroje pre CryENGINE sa dajú nájsť v adresári Tools. Pri distribúcii hry/aplikácie vytvorenej CryENGINom, nie je potrebné zahrnúť tento adresár.

  • User
  • Tento adresár sa vytvára počas spúštania na ukladanie súborov generovaných CryENGINom alebo Sandboxom. To zahŕňa používateľské profily, skompilované shadery a niektoré dočasné súbory vytvorené Sandboxom. Je bezpečné vymazať tento adresár ak CryENGINE nebeží. Pre vydaný CryENGINE produkt budú tieto súbory uložené vo Windowsovskom adresári Documents and Settings / Users užívateľa.


 

Napísať otázku k tutoriálu

Meno: Dátum:
Kontrolný kód : 5 + sedem =