April 18Apr 18 Localization Now that it's been updated, I have a new understanding of the framework's structure. Edited May 9May 9 by KuWuniss6
May 6May 6 Author Localization Unbelievable. After skipping the first skeleton, I can assemble the model's skeleton, but only the coordinates and scaling can be confirmed—I still haven’t figured out where the skeleton's rotation data is stored.
May 6May 6 Author Localization The skeleton doesn't look symmetrical at all, so I must have overlooked something. This result isn't correct.
May 6May 6 Author Localization It's more convenient to parse the data starting from address 0x70 rather than 0x0. The sequence 00 00 80 3F in each row is presumably for alignment... And 02 00 represents the ID of the current bone, while 01 indicates the number of child bones for the current bone. The last two rows are most likely related to rotation.
May 6May 6 Supporter Hey, how did you solve the hierarchy? Couldn't make much sense of it, after 0x70, first column/3rd column: boneID/parentID? 0 / 4 3 / 5 4 / 6 5 / -1 ... after 0x770 10 / -1 15 / 19 18 / 20 19 / 21 20 / -1 ... Quote The last two rows are most likely related to rotation. edit: doesn't look like quaternions. Nor like a 3x4 rot matrix? Could be angle values becuase theu look similar for the symmetrical positiosn, example: pos and rot (angle) values pos 7.888271 -11.993073 -0.003784 rot -7.459514 -39.057381 -11.395376 pos -7.888271 -11.993073 -0.003784 rot -7.459514 -39.057381 -8.185821 Checking positions, same as you got? (no 30 and 32 look symmetrical, so that all could be position values) Quote Fst pos at #b0: 0 0.000000 7.039398 -0.061660 0.0 0.0 0.0 0.0 1 7.888271 -11.993073 -0.003784 0.0 0.0 0.0 0.0 2 -7.888271 -11.993073 -0.003784 0.0 0.0 0.0 0.0 3 0.461430 -39.049759 2.304581 0.0 0.0 0.0 0.0 4 0.516119 -41.002617 0.593496 0.0 0.0 0.0 0.0 5 0.653238 -7.066607 -10.521611 0.0 0.0 0.0 0.0 6 0.461430 -39.049759 -2.304581 0.0 0.0 0.0 0.0 7 0.516119 -41.002617 -0.593496 0.0 0.0 0.0 0.0 8 0.653239 -7.066603 10.521611 0.0 0.0 0.0 0.0 9 0.000000 10.215401 -0.419000 0.0 0.0 0.0 0.0 10 0.000000 17.255096 11.412520 0.0 0.0 0.0 0.0 11 -0.000001 30.748596 -2.612966 0.0 0.0 0.0 0.0 12 0.000000 18.727859 14.236400 0.0 0.0 0.0 0.0 13 -4.500002 23.956985 -3.919338 0.0 0.0 0.0 0.0 14 4.500002 23.956985 -3.919338 0.0 0.0 0.0 0.0 15 4.500000 15.357101 -2.000000 0.0 0.0 0.0 0.0 16 -4.500000 15.357101 -2.000000 0.0 0.0 0.0 0.0 17 14.047329 -3.451263 0.415462 0.0 0.0 0.0 0.0 18 0.000094 -0.000091 0.000001 0.0 0.0 0.0 0.0 19 1.172013 -25.999823 -0.455996 0.0 0.0 0.0 0.0 20 0.703707 -21.412161 0.167996 0.0 0.0 0.0 0.0 21 14.047329 -3.451263 -0.415465 0.0 0.0 0.0 0.0 22 0.000096 -0.000090 -0.000001 0.0 0.0 0.0 0.0 23 1.171838 -25.999798 0.455999 0.0 0.0 0.0 0.0 24 0.703773 -21.412035 -0.167976 0.0 0.0 0.0 0.0 25 0.000001 4.296509 1.235526 0.0 0.0 0.0 0.0 26 0.000000 102.388100 0.000000 0.0 0.0 0.0 0.0 27 0.000000 7.039398 -0.061660 0.0 0.0 0.0 0.0 28 7.888271 -11.993073 -0.003784 0.0 0.0 0.0 0.0 29 -7.888271 -11.993073 -0.003784 0.0 0.0 0.0 0.0 30 0.461430 -39.049759 2.304581 0.0 0.0 0.0 0.0 31 0.516119 -41.002621 0.593496 0.0 0.0 0.0 0.0 32 0.461430 -39.049759 -2.304581 0.0 0.0 0.0 0.0 33 0.516119 -41.002621 -0.593496 0.0 0.0 0.0 0.0 34 0.000000 10.215401 -0.419000 0.0 0.0 0.0 0.0 35 -0.000001 30.748810 -2.612966 0.0 0.0 0.0 0.0 36 -4.500002 23.956985 -3.919338 0.0 0.0 0.0 0.0 37 4.500002 23.956985 -3.919338 0.0 0.0 0.0 0.0 38 14.047329 -3.451050 0.415463 0.0 0.0 0.0 0.0 39 -0.000028 -0.000036 0.000001 0.0 0.0 0.0 0.0 40 1.172015 -26.000015 -0.456000 0.0 0.0 0.0 0.0 41 0.703728 -21.411926 0.167991 0.0 0.0 0.0 0.0 42 14.047329 -3.451050 -0.415466 0.0 0.0 0.0 0.0 43 -0.000033 -0.000033 -0.000001 0.0 0.0 0.0 0.0 44 1.172001 -26.000053 0.455998 0.0 0.0 0.0 0.0 45 0.703772 -21.411926 -0.167971 0.0 0.0 0.0 0.0 46 0.000000 4.296494 1.235514 0.0 0.0 0.0 0.0 47 0.000000 0.000000 0.000000 0.0 0.0 0.0 0.0 # 1570: Edited May 6May 6 by shak-otay
May 6May 6 Author Localization FF stands for no parent level; if the parent level is 00, it means the skeleton ID of the parent level is 01. and,FF FF 00 00 00 00 is fixed structure There are a total of 87 skeletons in total, and I can't find any rotation data for them. They should all be in a T-pose.
May 7May 7 Author Localization Maybe it's nothing all that complicated. It’s just something we’ve overlooked. After testing, it’s definitely not a 3×4 matrix, nor a quaternion. The weird part is the rotation data... No matter how I set it up, the skeleton rotation always ends up wrong.😅
May 11May 11 Localization Solution What's so hard about it?🙃 (using ASH) Remember to toggle the "Allow Custom Variables" switch from the Options menu. Edited May 11May 11 by Bigchillghost
May 12May 12 Author Localization TY! I can't believe it. I'd planned to delve deeper into figuring out the structure of this file next week, and you've really helped me out. Thanks a lot!
May 16May 16 Author Localization On 5/12/2026 at 12:46 AM, Bigchillghost said: What's so hard about it?🙃 这有什么难的?🙃 (using ASH) (使用 ASH) Remember to toggle the "Allow Custom Variables" switch from the Options menu. 记得在选项菜单中切换“允许自定义变量”开关。 Wow, after testing it myself, I find it really amazing. How does it do this? Why is it able to automatically identify its own bone IDs and find parent‑level IDs? How can this be analyzed with just a short piece of code? How does it recognize the hierarchy of the bone tree? Could you explain this to me?
May 16May 16 Supporter Afaik the "text-based C-like struct definition interface" must be filled by someone who knows the format details, here "short parentIndex" for example. edit: what can be done automatically is the weighting (in tool ARC) I assume. Edited May 16May 16 by shak-otay
Create an account or sign in to comment