![]() ![]() Then the next 12 bytes are x,y,z location values of the bone. These make up the x,y,z,w components of a quaternion. Read 4 signed integer values (2 bytes each) and divide by 32767. ![]() Updated Info: If we count from 0, the bytes 7-14 of these 39 bytes are Quaternion values. First byte is usually 0xff, second is ID (same in weights data above), third is parent joint ID. joint_count * 39 bytes > So each joint has 39 bytes of data which I couldn't properly figure out.32 bytes unknown, might be armature/skeleton's values.unknown_size_A * 7 bytes > more unknown data.vertex_count * 1 bytes > ID of the assigned joint of each vertex in order.indice_count * 2 bytes > indice values that 3 of them make 1 face.vertex_count * 8 bytes > u,v values each 4 bytes signed integer.vertex_count * 3 bytes > normal values each 1 signed byte.vertex_count * 12 bytes > x,y,z values each 4 bytes signed integer.Now I'll explain what I managed to figure out so far regarding these chunks. This chunk seems to lack chunk_size value. (Monsters come in various elements in the game.) Each element seems to be using a single texture for the entire model, 3D geometry is common for each element. Textures chunk which contains PNG images for different elements.PLM chunk which contains bones and animation data I think, this needs figuring out the most.Weights seem to be 1 joint assignment per vertex. PMM chunk which contains vertices, indices, normals, uvs and weights data.First chunk is a short unknown chunk, probably some kind of header.Let's say the file consists of chunks, each chunk has 4 byte integer size value, then this size amount of bytes. (It's been a while since I worked on these so I may remember a few things wrong.) The formats are in LITTLE_ENDIAN. There were a few exceptions like "special_mdl_irene.dat" which have slight differences but generally the format goes like the following. Buildings/stages seem to be using a different format. In this game most monsters have "awakened" form and their name has "_hr" in it like "unit_mdl_archangel_hr.dat". There are many different formats but the ones for units are of "dat" extension and go like "unit_mdl_archangel.dat". It's a mobile game and downloads lots of files. I kind of quit trying to figure out so perhaps more people can continue with this. Someone offered help and asked me to share how I ripped this game's models so I decided to open this thread for those interested. ![]()
0 Comments
Leave a Reply. |