Offtopic: Into Commodore 64 (6502) coding, pixeling or music?
Xentax is looking for new members for the C64 activities!
Just drop us a message at forum@xentax.com and join the Scene Team!

Forum rules: Click here

Crytek CGF models

Post questions about game models here, or help out others!
fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Re: Crytek CGF models

Post by fatduck » Fri Feb 08, 2008 10:37 am

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
You do not have the required permissions to view the files attached to this post.
No more Fatduck, no more FatImporter, Byebye everyone!

fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Re: Crytek CGF models

Post by fatduck » Fri Feb 08, 2008 10:49 am

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??
No more Fatduck, no more FatImporter, Byebye everyone!

User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 585
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Crytek CGF models

Post by Wobble » Fri Feb 08, 2008 10:24 pm

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:29 pm, edited 2 times in total.

User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 585
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Crytek CGF models

Post by Wobble » Fri Feb 08, 2008 10:30 pm

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:29 pm, edited 1 time in total.

User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 585
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Crytek CGF models

Post by Wobble » Mon Feb 25, 2008 3:30 am

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:29 pm, edited 1 time in total.

fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Re: Crytek CGF models

Post by fatduck » Thu Feb 28, 2008 4:27 pm

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.
No more Fatduck, no more FatImporter, Byebye everyone!

User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 585
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Crytek CGF models

Post by Wobble » Mon Mar 10, 2008 4:47 pm

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:29 pm, edited 1 time in total.

User avatar
Tosyk
double-veteran
double-veteran
Posts: 934
Joined: Thu Oct 22, 2009 10:24 am
Location: Russia, Siberia
Has thanked: 225 times
Been thanked: 111 times
Contact:

Re: Crytek CGF models

Post by Tosyk » Sun Dec 13, 2009 9:36 am

Any progress? It turned out someone to get a model with skinning data?
Thank you for all you do here
my blog | my forum

jfwfreo
veteran
Posts: 93
Joined: Sat Nov 15, 2008 1:31 am
Been thanked: 18 times

Re: Crytek CGF models

Post by jfwfreo » Mon Dec 14, 2009 12:00 pm

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.

Mirrodin
advanced
Posts: 71
Joined: Tue May 31, 2005 7:36 pm
Has thanked: 3 times
Been thanked: 1 time
Contact:

Re: Crytek CGF models

Post by Mirrodin » Sun Feb 21, 2010 10:18 am

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)?

Post Reply