Hey,
Couple of months ago me and the animation genius mr. shakotay2 tried to extract animation's from a chinese Saint Seiya game and we did not succeed
But now there's a new opportunity to achieve victory and I would love your help!
I want to import Saint Seiya[PS2] into 3DSMAX (or any other similar software)
I'm still a noob and first I need to understand what I'm dealing with
It seems like the animation files are in .gai format, but there are 2 other type of files that seem to contain information about bones.
Can you guys help me to understand what are these other formats?
Sample (800kb): http://www.mediafire.com/download/s5h8s ... Dragon.rar
Here they are:
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Importing .gai animation [PS2] - here comes a new challeng
- shakotay2
- MEGAVETERAN
- Posts: 4291
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1151 times
- Been thanked: 2244 times
Re: Importing .gai animation [PS2] - here comes a new chal
I feel the slight banter,asdasd123 wrote:and the animation genius mr. shakotay2 tried to extract animation's from a chinese Saint Seiya game and we did not succeed
but it doesn't hurt me,
doesn't hurt me - today
Anyway, 0252_01h.gmi bone names contain too much "hair", too less "finger",
(is it "tip?", then why there's 7 of them? ok: 2,3, 4,5 some kind of "economy" fingers ),
parenting ids: first byte in this sequence: 03 00 88 00 88 00):
nodes
1 *h_all_root*
2 *h_jnt_waist*
3 *h_jnt_lbody*
4 *h_jnt_luleg*
5 *h_jnt_ruleg*
6 *h_jnt_llleg*
7 *h_jnt_rlleg*
8 *h_jnt_ubody*
9 *h_jnt_lfoot*
10 *h_jnt_rfoot*
11 *h_jnt_head*
12 *h_jnt_luarm*
13 *h_jnt_opt1*
14 *h_jnt_opt2*
15 *h_jnt_ruarm*
16 *h_jnt_llarm*
17 *h_jnt_ltoe*
18 *h_jnt_rlarm*
19 *h_jnt_rtoe*
20 *h_jnt_hair1*
21 *h_jnt_hair2*
22 *h_jnt_hair27*
23 *h_jnt_hair3*
24 *h_jnt_hair4*
25 *h_jnt_hair5*
26 *h_jnt_mouth_l*
27 *h_jnt_mouth_low*
28 *h_jnt_mouth_r*
29 *h_jnt_mouth_up*
30 *h_jnt_tooth_low*
31 *h_jnt_tooth_up*
32 *h_jnt_lhand*
33 *h_jnt_rhand*
34 *h_jnt_hair12*
35 *h_jnt_hair15*
36 *h_jnt_hair18*
37 *h_jnt_hair21*
38 *h_jnt_hair23*
39 *h_jnt_hair25*
40 *h_jnt_hair6*
41 *h_jnt_hair9*
42 *h_jnt_ltip1*
43 *h_jnt_ltip2*
44 *h_jnt_ltip4*
45 *h_jnt_ltip6*
46 *h_jnt_ltip7*
47 *h_jnt_rtip1*
48 *h_jnt_rtip2*
49 *h_jnt_rtip4*
50 *h_jnt_rtip6*
51 *h_jnt_rtip7*
52 *h_jnt_hair10*
53 *h_jnt_hair13*
54 *h_jnt_hair16*
55 *h_jnt_hair19*
56 *h_jnt_hair22*
57 *h_jnt_hair24*
58 *h_jnt_hair26*
59 *h_jnt_hair7*
60 *h_jnt_ltip3*
61 *h_jnt_ltip5*
62 *h_jnt_rtip3*
63 *h_jnt_rtip5*
64 *h_jnt_hair11*
65 *h_jnt_hair14*
66 *h_jnt_hair17*
67 *h_jnt_hair20*
68 *h_jnt_hair8*
69 *h_ik_l1*
70 *h_ik_r1*
71 *h_ik_l2*
ltips' par id: 26, rtips' par id: 27, doesn't make sense to me
but parenting seems to be ok so far:
You do not have the required permissions to view the files attached to this post.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
-
- beginner
- Posts: 22
- Joined: Sun Jun 14, 2015 4:07 pm
- Has thanked: 13 times
- Been thanked: 3 times
Re: Importing .gai animation [PS2] - here comes a new chal
Kkkk a slight banter, but I really meant it, you're one of the best I've ever seen extracting animations (no jokes this time ).shakotay2 wrote:I feel the slight banter
It seems like "tip" is an extra bone for index and middle fingers. I guess they didn't have resources for the other fingersshakotay2 wrote:Anyway, 0252_01h.gmi bone names contain too much "hair", too less "finger",
(is it "tip?", then why there's 7 of them? ok: 2,3, 4,5 some kind of "economy" fingers ),
parenting ids: first byte in this sequence: 03 00 88 00 88 00):
.gmi files can be opened with Noesis:
- 0250_01.gmi is the model
- 0250_01h.gmi is the hair
- I guess 0250_01s.gmi should be some sort of default skeleton, but I really don't know.
Weird thing is that Noesis loads the bones, but doesn't export them...
Well, since the model can be exported to 3DSMAX and you've seem to have loaded the bones, is there a script that could load the .gai animation?
I'm re-uploading Dragon model (with textures this time): http://www.mediafire.com/download/jiem4 ... xtures.rar
- shakotay2
- MEGAVETERAN
- Posts: 4291
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1151 times
- Been thanked: 2244 times
Re: Importing .gai animation [PS2] - here comes a new chal
It's the title "animation genius" which you used so unwise, hahaha.asdasd123 wrote:Kkkk a slight banter, but I really meant it, you're one of the best I've ever seen extracting animations (no jokes this time ).
There's only one animation genius in this forum, MrAdults, just to keep you informed .
The other, fatduck, has left since some time. (There's also chrrox, who might come close.)
There's some other guys "who know what they're doing" when it comes to animations.
(Me, I'm only an apprentice with animations, though I still hope to have my hex2skeleton extractor released some day.)
yep, that's what I meant with economic.It seems like "tip" is an extra bone for index and middle fingers. I guess they didn't have resources for the other fingers
Really would have spared me some time if you guys told the whole truth with your requests.gmi files can be opened with Noesis:
use smd format for example for export:Weird thing is that Noesis loads the bones, but doesn't export them...
dunno what you mean - I've used blender to import an smd created by my extractor (unfinished).Well, since the model can be exported to 3DSMAX and you've seem to have loaded the bones,
Has to be written, I guess.is there a script that could load the .gai animation?
In 5875_00_01_00.gai there's 60 bones and (maybe) 60x25 animation frames.
You do not have the required permissions to view the files attached to this post.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
-
- beginner
- Posts: 22
- Joined: Sun Jun 14, 2015 4:07 pm
- Has thanked: 13 times
- Been thanked: 3 times
Re: Importing .gai animation [PS2] - here comes a new chal
Ow, didn't know that . Still think your scripts are good thoughshakotay2 wrote:It's the title "animation genius" which you used so unwise, hahaha.
There's only one animation genius in this forum, MrAdults, just to keep you informed .
The other, fatduck, has left since some time. (There's also chrrox, who might come close.)
There's some other guys "who know what they're doing" when it comes to animations.
Would it be too much to ask you if you could write one? Or least point me on the right directionshakotay2 wrote:Has to be written, I guess. In 5875_00_01_00.gai there's 60 bones and (maybe) 60x25 animation frames.
And if you'd need any help at all, I'm here to google/search/do any repeated work required!
As you can see I'm kinda passionate about the animations
- shakotay2
- MEGAVETERAN
- Posts: 4291
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1151 times
- Been thanked: 2244 times
Re: Importing .gai animation [PS2] - here comes a new chal
On a quick glance there's too many unknowns.asdasd123 wrote:Would it be too much to ask you if you could write one?
In 5875_00_01_00.gai for example at 0xE76 there's an index table interrupted
22 times by 0102010601
offset 0F3E 0001 010102010601 72 61 0000
offset 1BA6 0001 010102010601 60 BF 0000
offset 0x2220 00 0102010601 7E 3E 0000
I'm too busy atm to dig deeper.
You could try to modify the PerfectWorld stck script.Or least point me on the right direction
At 0x2930 in the above mentioned .gai there might start translations.
Load the skeleton into 3dsmax then start the modified script to apply animations.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
-
- beginner
- Posts: 22
- Joined: Sun Jun 14, 2015 4:07 pm
- Has thanked: 13 times
- Been thanked: 3 times
Re: Importing .gai animation [PS2] - here comes a new chal
Ok, I've just spent the last 3 hours looking at this hex...shakotay2 wrote:On a quick glance there's too many unknowns.asdasd123 wrote:Would it be too much to ask you if you could write one?
In 5875_00_01_00.gai for example at 0xE76 there's an index table interrupted
22 times by 0102010601
offset 0F3E 0001 010102010601 72 61 0000
offset 1BA6 0001 010102010601 60 BF 0000
offset 0x2220 00 0102010601 7E 3E 0000
...and considering I've just found out that hex values are written from right to left, that's proof that I don't really know what I was looking for
However I do remember you've once told me to look for patterns, so I'm hoping I've found something useful:
I used IDA software to disassemble the .gai and found something that reminds me of an index
The offsets in red seem to be the index for different offsets on the table you've found.
And some (but not all) of the addresses on the second column (blue) point towards different "chunks of data" with 3 values separated by commas (x,y,z maybe?)
Does this mean something?
You've once said that you need to find rotations, translations, (and something else I've forgotten). Does every animation have them? If I find those would it be possible to import the animation? What should I be looking for?
- shakotay2
- MEGAVETERAN
- Posts: 4291
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1151 times
- Been thanked: 2244 times
Re: Importing .gai animation [PS2] - here comes a new chal
well, creative (or funny?) idea to use IDA for suchasdasd123 wrote:I used IDA software to disassemble the .gai and found something that reminds me of an index
I'm sorry to say that it doesn't (as far as I can see).The offsets in red seem to be the index for different offsets on the table you've found.
And some (but not all) of the addresses on the second column (blue) point towards different "chunks of data" with 3 values separated by commas (x,y,z maybe?)
Does this mean something?
There's positions (or maybe quaternions) from 0x2930 upto file's end.
And the most obvious thing which I can't understand how you could overlook this during all your research:
at 0xB60 there's that offset: 0x2930
There's 49 offsets following which are the key to divide up the animation data block, I guess.
Into chunks of 105 frames or something like that.
There's counts at the beginning of the file: 0x0008: 60 bonecount, 0x000C: 20 unkn count
And there's those useless(?) indices tables with a range from 0x9C to 0xFF.
scalingYou've once said that you need to find rotations, translations, (and something else I've forgotten).
in most cases, yesDoes every animation have them?
Look at the data at 0x2930. Learn more about transitions, rotations, quaternions. Try to understand how the PerfectWorld maxscript works.If I find those would it be possible to import the animation?
(I'd try to convert quaternions to euler if there are some.)
You could delete the translation part and try rotations only:
Code: Select all
for fd=1 to Frame_cnt do
(
rot = RotationAnimation()
rot.BoneId = i
rot.KeyFrame = i*200-10
x = ReadFloat stream
y = ReadFloat stream
z = ReadFloat stream
w = ReadFloat stream
rot.Quaternion = quat x y z w
append allRotations rot
)
Which gmi does the gai belong to?
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"