|
Post by stvndysn on Oct 21, 2010 6:41:32 GMT -5
as a 3d modder im excited by the possiblities with the game but im wondering if you guys are any closer to understanding what the format for the models are..
i noticed in the models folder everything seems to be scripted, and the bodies are made up of various parts as their own script, is this true or is there any actual 3d models within.
|
|
|
Post by bluearms on Oct 26, 2010 8:55:23 GMT -5
The real 3d models are stored in the big archives. If you extract data\models\npcs.big with tools, then there exist many other *.big and *.tex archives. There are cast_*.big and cast_*.tex files which have 3d model data. If you extract that big and tex archive, it contains bone and 3d information and texture files. bone files are bone*, and 3d data are in the geo* files. geo files are two kinds. "* indices 0" and * Vertices 0" clearly "* indices 0" files are array of two byte integers. "* Vertices 0" files are array of 4 bytes floats. I've tried to convert "geo_blouseShape Indices 0" "geo_blouseShape Vertices 0" into integer array and float arrays. I guessed indices represent polygon vertex index and Vertices represent x,y,z vertex coordinates. So first converted "geo_blouseShape Vertices 0" into 3 float array and imported that vertex info into cinema 4d. I attached the image. As you can see there appears a shape like a blouse, but there are other points and the valid points are spread 0, 14, 28, 42 etc There other goups indexed by 9, 23, 37, 51 etc which looks like a blouse in the y,z plane, but spread over x plane meaninglessly. Also group 5, 19, 33, looks like side view of a blouse in the y,x plane but hard to understand in the z direction etc. Other point groups are hard to understand. I think there can be normal vertices and wheather uv coordinates are included is not clear. The largest integer in the indices is smaller than the possible number of integers reduced from vertices. So there must other coordinates which is not vertices coordinates. In the cast_rebecca.big, the largest integer in the "geo_blouseShape Indices 0" is 2194. index is running from 0 so there must be 2195 vertices. In the file "geo_blouseShape Vertices 0", there is 30730 floats. So 30730/2195 gives 14. 14 float data per index. Another example "geo_headShape Indices 0", the largest integer is 2755, so 2756 vertices. In the file "geo_headShape Vertices 0", there is 38584 floats. So 38584/2756 gives 14. Also 11th coordinates seems to be -1 always, 6th and 7 th always 0. So effectively there is 11 coordinates per vertex. If the meaning is analyzed you can easily convert float arrays into obj format's v array and indices into obj formats's f array. Any idea? Attachments:
|
|
|
Post by stvndysn on Oct 29, 2010 5:11:46 GMT -5
looking good so far, im not familiar with c4d dude im a blender man myself, btw does anyone know python cos if you do then the possibility of an import/ export script would be ace.
this way keeping modding side free, with blender being open source it could be a great tool for dr2
p.s sorry for late reply had net cut off for a week.
but yeh i can see a shirt type shape, but 30730 does seem a lot of vertices for 1 object, that to me would be kinda game lagging size with the amount of verts/faces used by the zombies, could you have a look at a zombie to see their size.
|
|
|
Post by dany25 on Oct 29, 2010 9:41:07 GMT -5
i tried too but i suppose the geo_blouseShape Vertices 0 contain the uvmap coordinates...
|
|
|
Post by bluearms on Oct 29, 2010 17:14:52 GMT -5
It is certain 3 floats located in 0, 1, 2 modulo 14 form models. (x,y,z coordinates) So blouse have 2194 vertices. 3,4 modulo 14 seems a uv coordinates (not checked. 5, 6 modulo 14 are always zero, so these are only two pairs which can be a candidate for uv coordinates) 7, 8, 9 modulo 14 seems a kind of vertex normal because they form a circle that means they are normalized to length 1. So remaining point sets are 11, 12, 13 modulo 14. mesh points (0,1,2), uv coordinates (3,4), vertex normal (7,8,9)? then what else remains for these extra coordinates? (11,12,13) I will check this next time. (I have difficulty collecting just needed points. I am using OD2 www.gdargaud.net/Hack/BinToAscii.html#OD2 and regex substitute technique.) Analyzing indices is another problem. I can find same index comes in three times repeated like 15 in 9, 17, 11, 11, 15, 15, 15, 18, 16 ... even four times like 30 in 28, 18, 29, 15, 30, 30, 30, 30, 29.. (examples from blouse indices) If all numbers are mesh polygons, that can not happen. So there must be some other groups in the indices too. P.S. After checking coordinate sets 11, 12, 13 modulo 14, they are normalized too. So another normals. face normal? Obj format only deals with one kind of normal. Anyway we got 3d mesh and uv coordinates. Now i need to analyze the indices.
|
|
|
Post by bluearms on Oct 30, 2010 4:41:06 GMT -5
Here is the snapshot of the point clouds of each 4 coordinates groups of the "geo_headShape Indices 0" file. From top to bottom, group [0,1,2], [3,4], [7,8,9] and [11,12,13] (meaning modulo 14) group [7,8,9] and [11,12,13] looks similar, but head are looking toward z direction. And points are more dense in the z direction in the goup [11,12,13]. So goup [11,12,13] is more look like face normals. Anyway you may be able to modify points (for example, face) as long as you do not delete, insert and change vertex orders. Of course normals may be wrong if you change too much. To analyze indices, i think i must look into more simple object like a box. P.S. This format apply to npcs.big. I tried to find more simple object in the cine_props.big. it seems use similar but somewhat diffrerent format. Attachments:
|
|
|
Post by bluearms on Oct 30, 2010 17:34:12 GMT -5
Thanks mshi! I googled tri-strip and found the difference with tri-list.
|
|
|
Post by stvndysn on Oct 30, 2010 19:05:54 GMT -5
Hy bluearms I think the extra coordinates is SkinWeights and MaterialMap. Index repeat because it isn't Triangle-List it is Triangle-Strip. In games is used Tri-Strip because it is fast than Tri-List to Drawing. Sorry for my poor English. I'm Japanese. omg a fellow blenderhead, i aint a coder fancy sharing your script dude. im very intrigued to see em in blender
|
|
|
Post by bluearms on Nov 3, 2010 12:31:21 GMT -5
I made geo* pairs to obj converter and uploaded in the tools category in this forum. The texture name is stored in the "MatTextureInfoArray" and it is not analyzed yet. So only guess. This is test render picture. For rebecca, there is no body mesh under cloth. So you can not make her nude by just removing cloth. Attachments:
|
|
|
Post by Bigboomar on Nov 3, 2010 15:44:35 GMT -5
Well obviously there is no mesh under her clothing, why do you think the devs would make useless render material that you never see?
Someone's gonna have to custom fit the body, such as what they are doing with a nude L4D Zoey at the Facepunch forums.
|
|
|
Post by Wizard on Dec 21, 2010 18:29:45 GMT -5
Im late to the party but Far as I know, there has been no updates on a model converter for models to get back into DR2 in a long while now.
It's such a shame, this game has so so much modding potentional but it's dieing off quickly due to lack of tool makers.
|
|
|
Post by anno1404 on Dec 26, 2010 22:30:05 GMT -5
What about the modder who made the nude twins patch? I wrote this modder after another editor here was wondering how he did texmods. Here was his general response: You can use Gribbed’s Tools (available inside the mod archive) to pack and unpack TEX files for Dead Rising 2 just the way you do it with BIG files for the game, they use the same packing method for both. The extracted files however also need their header modified after conversion, otherwise they are not recognized as DDS and before repacking you again need to modify the header. Obviously he is an excellent programmer and is willing to respond to any questions we may have. Please take two minutes to message him here, as I wouldn't know what to ask him myself.
|
|