Label: Livity Sound - LIVITYCD003 • Format: File FLAC, Compilation • Genre: Electronic • Style: Techno
As the title of my question would suggest. I'm currently working on the. But exclusively 3D models biped because the textures are found on another archive with the extension. I'll take the 22nd model inside the file def. From here on, I'll call the 22nd model Armor of Eagle. The next image is the texture for the Armor of Eagle found on def. The face indices start at 0x4C [00 00 01 A2 00 A3 00]. I was using the tool called hex2obj 0.
This is all considering that I just analyze the binary and not debug the client itself to see how the client is taking the data. A bytearray gets repeated a lot of times. Although, I'm still not sure of the significance YET. Based on the notes Mr RadLexus has kindly provided.
I was also able to plot the vertices and imported into blender:. So I tried changing my. Have figured it out. Although, I still don't know what the unknown1 and unknown2 are but it looks good enough:. Note: I know almost nothing about 3D file formats. Other than the basic components of a 3D object. Download Related Files Here.
My approach was the following. Clearly, the numbers at the end are floating point numbers. Also, they are not all floating point; the sequence 0C 00 00 00 a few bytes in is not a reasonable floating point number. Counting off to the next "unreasonable" value which happened to be 0C 00 00 00 again, but there are other values Clarity (Dismantled) - Various - Reverse well told me the stride of this data was 28 bytes. Which is 40 in decimal, but for documentation I strongly prefer hex.
If you have a capable hex Thus I Heard - Karl Potter Percussion Group - Danza of which you can adjust the view width, you can see that this is correct if you set its view width to 40 characters.
Counting back from the end in byte Vol. 1 (File) gave me the most likely starting point of this sequence. The digits right before it are clearly at least 2-byte unsigned shortand sort of increase from the start to the end.
As this is a 3D model, I had a strong hunch they form triangle dataso at least they should Just - Radiohead - Interactive aband c vertex indices, and possibly additional triangle attributes.
This turned out, by trial and error, to be not the case. The "trial and error" consisted of dumping them into a display program. As that worked Vol. 1 (File) away, further numerical investigations were unnecessary. Since this information is 1 enough to display an object, and 2 covers all of the data in the file apart from the few bytes at the start — which can be anything — I went Vol.
1 (File) writing a full display program. The first A bytes are unknown. They contain some floating point numbers 00 00 80 3F is 1. A scale is likely. The next 2 bytes form the numberwhich is in decimals This could be the internal 'object number'. Then, starting at Chin decimal triangle definitions follow. A single triangle definition consists of 3 unsigned short indices abcwhich point to 3 coordinates.
The largest index in this list isa Vol. 1 (File) number! Right after this, 3D points follow. Each 3D point has the following structure:. That is correct Vol.
1 (File) the first hundred or so of these coordinates, up to 3 decimals of accuracy:. Adding up the sizes of Eleanor Rigby - The Beatles - 20 Greatest Hits coordinate elements leads to a total size of 28 bytes 40, in decimaland:. The La Primavera Diu - Matilde Salvador, Glòria Fabuel - Cancons de Matilde Salvador of the 'highest index' in the triangle list is therefore proven : They are indeed coordinate indices.
Where do these numbers h and h come from? They appear in the header part of the entire file! Here is the proof that the first 3 elements are indeed xyand z. I plotted x and y only, with y inverted negative towards the bottom of the screen. You can clearly recognize the 'body' part of your in-game image. Not all coordinates are quite the same. This needs some further investigation.
The uv values can be mapped onto the source image directly. They are expressed in a floating point range from Here is an image of that:. Home Questions Tags Users Unanswered. Reversing a 3D file format from Ask Question. Asked 3 years, 4 months ago. Clarity (Dismantled) - Various - Reverse 3 years, 4 months ago. Viewed 1k times. What I Know. A2 00 A3 00] I was using the tool Vol.
1 (File) hex2obj 0. Yellow: seems to me that it is the chunk marker. And it also corresponds to the index of its texture on the texture archive.
Dark Green: is the face indices. The Question How do I go forward? How do I find the address where the UV starts? Lastly, how do I know where the vertices start? You'll also notice that it is usually preceded by the byte 0x3F or 0x3E and followed by 0x0C and 0x0D and then 3 bytes of 0x This pattern gets repeated times.
Cyan: is the area containing the face indices. But still don't know the significance, I'm going to dig deeper. I was also able to plot the vertices and imported into blender: Added the normals and UV: v But still can't figure out how to apply the textures. Although, I still don't know what the unknown1 and unknown2 are but it looks good enough: Note: I know almost nothing about 3D file formats.
Vol. 1 (File) you add a link to original Clarity (Dismantled) - Various - Reverse to download and inspect? RadLexus thank you for your interest. I've added Vol. 1 (File) the question to include a link to the related files. I've also included related scripts I wrote for extracting data. Just FYI: you are on the right track with those 'repeated sequences'. Look up how a 4-byte float is stored.
Recognizing these is a Clarity (Dismantled) - Various - Reverse and important step in reversing a 3D format. RadLexus I'm digging more into it. But I'm still not sure what the pattern is Vol. 1 (File). Some preliminary notes only — may evolve into a complete answer. Each 3D point has the following structure: float x float y float z float unknown usually 1. That is correct for the first hundred or so of these coordinates, up to 3 decimals of accuracy: Pacific Theme - Broken Social Scene - You Forgot It In People. Here is an image of that: The unused parts of the image are presumably used by other 3D models.
I'm starting to understand the format. Although, I'm confused about UV and mapping the texture. And also how to guess what part is the face indices if the "scrambled alphabet" isn't recognizable. I'm not sure what you mean with "scrambled alphabet" though.
I Want You - Bob Dylan, Neil Young With The Band - S.N.A.C.K., Six Months Aint Long - Monroe Brothers - Country Guitar Vol. 15, Tekke - Kari Heinilä - Mosaique, Sometimes - Paul Revere & The Raiders - Super Hits: Paul Revere & The Raiders, If You Tolerate This Your Children Will Be Next (D. Holmes Mix/The Class Reunion Of The Sunset Marqu