December 4, 2025Dec 4 On 6/30/2025 at 7:26 PM, AexaDev said: 你好,我和他来自同一个地方,这是一个Discord服务器 Can you tell me the name of this Discord server?thx
February 23Feb 23 Supporter What I've been curious about is, if my skin file has no parent bone index information, or no hierarchy information, how should I rebuild the skeleton? , currently I only have matrix information, and bone weight information, I am trying to build the hierarchy based on the name, but it is obviously wrong, because the skeleton loaded out is very confusing skin_cesf.SkinSkeleton provides matrix and name information The bone data starts after 20 bytes, and the following structure is read in each loop 1 byte - bone name length 48-byte transformation matrix - after analysis, the 3x4 matrix is more reasonable actual bone name mesh_cesf.Mesh provides bone weights and indices Index information starts at offset 177 and is 146892 bytes long Vertex data starts at the end of the index, and is a vertex every 32 bytes, with a length of 585664 bytes Bone weight and index data start where the vertex ends, occupy 8 bytes each, and are 146416 bytes in length The 208 bytes at the end of the file are the bounding box information of the four sub-grids, each grid occupies 52 bytes skin.zip
February 23Feb 23 Supporter I made a wild guess and the result might be not totally wrong (upside down, maybe): Edited February 23Feb 23 by shak-otay
February 24Feb 24 Supporter 9 hours ago, shak-otay said: I made a wild guess and the result might be not totally wrong (upside down, maybe): How did you get this result? Did you use the matrix I described? Or is there a certain rotation applied? If you open it directly without applying rotation, the skeleton will look like it is sideways. When I rotated the Z axis, the skeleton finally stood up, but the position still felt wrong. fmt_skin_test.py
February 24Feb 24 Supporter 3 hours ago, wq223 said: How did you get this result? Did you use the matrix I described? Or is there a certain rotation applied? I don't understand the question, A 4x3 matrix usually has a rotation part. Which I used. Edited February 24Feb 24 by shak-otay
April 26Apr 26 Supporter On 2/24/2026 at 12:13 PM, shak-otay said: I don't understand the question, A 4x3 matrix usually has a rotation part. Which I used. I've made some progress. The matrix is a 4x3 inverse bind pose matrix. Currently, there are only two ways to reconstruct the hierarchy. One is the naming convention approach they're using internally, which tends to break easily since there are so many bones with non-standard names. The other is to infer the hierarchy from skin weight data—I have versions both with and without bone connections.
Create an account or sign in to comment