Page 2 of 2

Re: Crytek CGF models

Posted: Fri Feb 08, 2008 10:37 am
by fatduck
Wobble wrote: Ok, I see above you said in 0xCCCC0016 as type 5? I would guess face materials would be in the triangle list.
Yes, the Tri-list(I call them Face Indices) chunk is 5
No, face materials are not in chunk 5

Re: Crytek CGF models

Posted: Fri Feb 08, 2008 10:49 am
by fatduck
Tanasoo wrote:If someone could explain this 0XCCCC0000 stuff to me, I might be able to help with the materials and weights. I just need to know where to look.
Is it clear?

Code: Select all

dword     ChunkID          //CCCC0000
dword     ChunkVer
dword     ofsChunk
dword     ChunkIndex
dword     Unknown00        //always 00
dword     Unknown00        //always 00
dword     VertCount
dword     FaceIndexCount
dword     ??               //point to CCCC0017
dword     ??
dword     Vert_Index
dword     Normal_Index
dword     UV_Index
dword     VertColor_Index

dword     ??
dword     Tri-List_Index
dword
dword

dword
dword
dword
dword

dword
dword
dword
dword

dword
dword
dword
dword

float X 3 BBmin
float X 3 BBmax
...
Tanasoo wrote:I'm going to take a wild guess and say that after CCCC there are eight Dwords with data about the chunk. And the ChunkIndex is the location of the chunk. Right?
No, different chunk had different structure. But the chunk-header (ChunkID, Ver, Offset, Index) are same. The actual location are located in ofsChunk, which is the third dword of the list/chunk-header.

PS: CCCC0014 seems to be material Chunk, if it is multimaterial (type 1), it use same kind of indice look-up method as CCCC0000.
But for type 12 (Standardmaterial??), it just a empty container??

Re: Crytek CGF models

Posted: Fri Feb 08, 2008 10:24 pm
by Wobble
[out]

Re: Crytek CGF models

Posted: Fri Feb 08, 2008 10:30 pm
by Wobble
[out]

Re: Crytek CGF models

Posted: Mon Feb 25, 2008 3:30 am
by Wobble
[out]

Re: Crytek CGF models

Posted: Thu Feb 28, 2008 4:27 pm
by fatduck
Did you guys found anything new? One Question: do you know that the NanoSuit_us had a morph data ingame? Some kind of inflatten suit?

Last time I work on it, I found the skin data then morph data(?). 0xCCCC0016 type 9 and type 8

And I guess the material IDs are stored in the new format of material chunk.

Re: Crytek CGF models

Posted: Mon Mar 10, 2008 4:47 pm
by Wobble
[out]

Re: Crytek CGF models

Posted: Sun Dec 13, 2009 9:36 am
by Tosyk
Any progress? It turned out someone to get a model with skinning data?

Re: Crytek CGF models

Posted: Mon Dec 14, 2009 12:00 pm
by jfwfreo
The SDK seems to have all the info you need in the various headers.
To get at it you download something called universal extractor and run it on the exe file. This will generate some internal files. Then after that, you download something called iscabvu which can open Installshield cab files and extract the .h files. Looking at the CryHeaders.h from this SDK, it looks like it has all the same bits listed above except with new Crysis bits.

Re: Crytek CGF models

Posted: Sun Feb 21, 2010 10:18 am
by Mirrodin
Just joining. Nice screenshot in max looks like you guys are making progress, but I have a question. On top of the newer CGF format, apparently .CHR is yet another format for model content? I have 3d Object Converter 4.40 and it opens both these formats flawlessly, perhaps if you can look into this program to see how it handles the .CHR files

Most object directories hold several files in the following formats and i'm trying to make sense of what's useless that can be deleted or what to keep if I can get access to it (including animation data).
These are all located in the Objects directories depending on the sub-directory. I'm wonderin why there's so many different types.
.animevents
.cal (?)
.cdf (?
.cgf (known)
.cga (probably animation data reference?)
.chr (known alt.)
.pwf
Also under Prefabs - > .veg

Then, under the animations directory: Animations.cba
subdirectories contain:
.dba
.anmevents
.ag
.anm
.caf (largest number of files, and on average larger data size per file vs other formats, most likely the animation data here?)
.fsq (main mocap facial data?)
.fxl (most these files end in "_expressions.fxl" so most likely preset facial expressions)
.lmg (Seems local to weapons and other misc objects)
.joy (perhaps joystick calibration and other settings used for their mocap?)

I noticed in the main Objects directory there is a "CrysisCharacterConversion.ccc" which is xml or other format with a table of data to do the same thing to a huge list of .chr files:

Code: Select all

<CCC>
<Model File="objects/Characters/Alien/AlienBase/alienBase.chr" RotatePosRoot="90" RotateQuatRoot="90" RotatePosChild="180" RotateQuatChild="180"/>
noticed: reference_objects.grp seems to be just code and item table for the cgf objects referenced in other directories.

Code: Select all

<Objects>
 <Object ColorRGB="65280" Id="{358168DB-C065-462D-9EA9-933B963B55E8}" Layer="reference_objects" MergeGeom="0" Name="reference_objects" Opened="0" Pos="1634.6064,4809.0542,128.52861" Rotate="0.90996128,0,0,0.41469327" Type="Group" >
  <Objects>
   <Object CastOcclusionmap="1" CastShadowMaps="1" ColorRGB="16777215" GoodOccluder="0" Hideable="0" Id="{4B3B2376-A8FB-48EE-BAAD-4D3FFB26F17A}" Layer="reference_objects" LodRatio="100" Name="bartable_1" NotTriangulate="0" OcclusionmapQuality="1" OutdoorOnly="0" Parent="{358168DB-C065-462D-9EA9-933B963B55E8}" Pos="1.1967773,-0.10742188,-0.65699768" Prefab="objects/prototype/lighting_referenz/table/table.cgf" ReceiveOcclusionmap="1" RecvShadowMaps="1" RndFlags="556" Rotate="0.70090926,0,0,0.71325046" Type="Brush" ViewDistRatio="100" />
   <Object CastOcclusionmap="1" CastShadowMaps="1" ColorRGB="16777215" GoodOccluder="0" Hideable="0" Id="{28C6A4C4-B472-4109-9233-BF90F7D1D9DB}" Layer="reference_objects" LodRatio="100" Name="bartable_2" NotTriangulate="0" OcclusionmapQuality="1" OutdoorOnly="0" Parent="{358168DB-C065-462D-9EA9-933B963B55E8}" Pos="-0.3717041,-0.13623047,-0.65699768" Prefab="objects/prototype/lighting_referenz/table/table.cgf" ReceiveOcclusionmap="1" RecvShadowMaps="1" RndFlags="556" Rotate="0.70090926,0,0,0.71325046" Type="Brush" ViewDistRatio="100" />
   <Object CastShadow="1" ColorRGB="16777215" EntityClass="BasicEntity" HiddenInGame="0" Id="{6F8365B7-CF82-493E-9D01-EA2E48C088EF}" Layer="reference_objects" LodRatio="100" Name="fire_extinguisher1" Parent="{358168DB-C065-462D-9EA9-933B963B55E8}" Pos="1.1024193,-0.37281239,0.095581055" RecvShadow="1" Rotate="1,0,0,8.3060323e-009" Type="SimpleEntity" ViewDistRatio="100" >
    <Properties bFrozen="0" bUsable="0" damage_players="0" object_Model="Objects/Prototype/Lighting_referenz/fire extinguisher/fire_extinguisher.cgf" objFrozenModel="" soclasses_SmartObjectClass="" UseMessage="press USE to grab object!" >
     <Animation Animation="Default" bAlwaysUpdate="0" bLoop="0" bPlaying="0" sound_AnimStart="" sound_AnimStop="" Speed="1" />
     <Physics bActivateOnDamage="0" bCanBreakOthers="0" bPhysicalize="1" bResting="1" bRigidBody="1" bRigidBodyActive="1" Density="-1" Mass="10" >
      <Buoyancy water_damping="0" water_density="1000" water_resistance="1000" />
      <Simulation bFixedDamping="0" bUseSimpleSolver="0" damping="0" sleep_speed="0.04" />
     </Physics>
    </Properties>
   </Object>
this data doesn't seem useful to me, so i'm wondering if it's worth keeping?


I'm also wondering what your guy's purpose is for this thread? Are you making an importer tool for 3dsmax to directly import these format(s)?