Drico Posted March 4, 2003 Share Posted March 4, 2003 I wish I had the chance to learn this stuff. Ohh your so awesome! Hmm, I guess I'm banned to making skins, maps, and map models. Sorry for disrailing your thread:jawa Link to comment Share on other sites More sharing options...
Wudan Posted March 4, 2003 Author Share Posted March 4, 2003 Not too worry too much about derailling the thread - it almost feels like the whole concept of new animations has drifted far away from what it was intended to do - like what Corto got me looking for in the first place. I'm not too shocked that making a humanoid GLA hasn't worked out - I'm certain that it is something we will move past when we devise a new way of thinking of it. I've got a long list of interviews and blurbs about Ghoul2, it was touted as true skeletal animation, and blah blah blah ... BUT it also mentions that only SOME of the JK2 animations were motion capture, and all of the saber moves were keyed in. ALL of the models and animations were done in XSI. I don't think you'll be able to make new animations for the humanoid skeleton in Max, as is, because you are looking at a lot of work moving data to and fro, and no guarantees that it will work. When I was hex editing, and changing those values, everything made some sense. I've spent a lot of time going over and over the _humanoid.gla, and I'm now pretty certain what has to be done. First things first, I have to do a much better write-up on the GLA format. Link to comment Share on other sites More sharing options...
razorace Posted March 4, 2003 Share Posted March 4, 2003 You're correct about stuff being done on the fly. At least the following is done on the fly: 1. Transitions (interploted) from single frame animation to single frame animation (examples: idle positions) It also seems do interplotation into these positions but not out of these animations. 2. Movement leaning 3. Leg/Torso/Head animation merging 4. Head Tracking It's very powerful. You could probably make everything on the fly if you knew what you were doing. Link to comment Share on other sites More sharing options...
CortoCG Posted March 4, 2003 Share Posted March 4, 2003 Hey, I'm back from my two week vacations on the beach. Ready to resume my task as animations advisor =), or sort of. I've been reading all posts and I'm up to date now with the current status of the GLA project. I'll be joining #JK2coding every night from today as I used to. So, see you all there tonight at 8:00 pm (GMT -3). I wanna catch up some more things to be usefull again. Link to comment Share on other sites More sharing options...
Wudan Posted March 4, 2003 Author Share Posted March 4, 2003 You know, if the Ghoul2 API commands worked, you could program some really cool IK control based stuff... Link to comment Share on other sites More sharing options...
CortoCG Posted March 4, 2003 Share Posted March 4, 2003 IK controls are a very powerful and complete way to animate bone systems. When it comes to biological things or creatures I used them a lot, cause they make my life much more easier =). Now, what's that of Ghoul2 API? Link to comment Share on other sites More sharing options...
Wudan Posted March 4, 2003 Author Share Posted March 4, 2003 API == Application Program Interface, JK2's Ghoul2 commands are mentioned by this name in code ... G2_API commands listed in g_syscalls.c G2_API commands listed in cg_syscalls.c Technically, if they worked, or one knew how to use them, you could specifiy springiness and mesh out some qboolean and CG_Trace magick to make custom IK-ish performance by the player models ... very very spiffy, but the trap_G2 commands don't seem to work very well. Link to comment Share on other sites More sharing options...
razorace Posted March 4, 2003 Share Posted March 4, 2003 *raise hand* I know! I know! Well, at least partly. I know about bone setting, bolt setting, finding origin/orientation data, and surface toggling. Hell, I just fixed a minor animation bug with the roll animations. While you've been hammering away at the .gla formats, I've been slowly but surely decripting the system as I go. When you say "IK", do you mean the Icurus system? Bah! Recreating something like Icurus in MP would take forever and not be very useful. Link to comment Share on other sites More sharing options...
Wudan Posted March 4, 2003 Author Share Posted March 4, 2003 IK == Inverse Kinematics Using some creative algorythms, you'd be able to abuse the G2_setangle type commands for a hacked IK control system. Link to comment Share on other sites More sharing options...
razorace Posted March 4, 2003 Share Posted March 4, 2003 oh, that's already in there. The primary bone setting functions use angles off the parent bone. Basically, the game moves bottom to top each frame adjusting the bones from the defualt animation angles to what you want. No need to redo work that's already been done. Come onto #jk2coding you bums. Link to comment Share on other sites More sharing options...
razorace Posted March 4, 2003 Share Posted March 4, 2003 You're probably looking a little deep into the ghoul2 stuff. You gotta be able to pull out and see the higher level functions too. Link to comment Share on other sites More sharing options...
Emon Posted March 5, 2003 Share Posted March 5, 2003 Would it be possible to make new animations for the existing skelaton in the XSI files we have, export it to some new model and skelaton, and just use them for cutscenes, play the anims in ICARUS? Link to comment Share on other sites More sharing options...
razorace Posted March 5, 2003 Share Posted March 5, 2003 Yes, I think so. That's sort of unrelated to the current focus of research. Talk to Corto for details; he's the one who has messed with the Icarus stuff. Link to comment Share on other sites More sharing options...
Wudan Posted March 5, 2003 Author Share Posted March 5, 2003 You *might* be able to do that. You'd have to make a separate model that looks exactly the same as your in-game model, if you wanted to have that character have new animations, because the animation file a character uses is in the model file, but it could be possible. Link to comment Share on other sites More sharing options...
Emon Posted March 6, 2003 Share Posted March 6, 2003 That's no problem, wudan. Link to comment Share on other sites More sharing options...
Wudan Posted March 8, 2003 Author Share Posted March 8, 2003 As ASk says, 'this is useless.' - as in, trying to dump the GLA to XSI is useless. At least, I don't have any vested interest in dumping the GLA to XSI, because I don't know how to use XSI, or the formatting, etc. However, because I understand what the various parts of the GLA (except for the first skeleton array - if BoBo_Fett would enlighten me as to how the basepose for the skeleton is calculated, I think I pretty much understand the rest. So, a good programmer could probably whip up a way of showing the skeleton, with each 'joint' as little dots, with hierarchy and everything drawn correctly within a week. He might have some little slider bars to adjust the skeleton's angles and positions within 2. Some shiny features, et cetera, we'd be looking at new (non-borked) animations within a month or two. Very optimistic outlook. However, I will not be able to write such a program so quickly. I'm going to school, I work, and I try to keep my wife and kid in line, which takes up a lot of my time. So, if someone is interested in such a project, let me know, I can try to help you in any way possible. I'll be revising and re-writing my un-official GLA documentation, since I've yet to formally write everything I know down. Link to comment Share on other sites More sharing options...
razorace Posted March 8, 2003 Share Posted March 8, 2003 You'd have to be a badass coder to have a working/bug free app working in a month or two. Model rendering is complicated. Link to comment Share on other sites More sharing options...
Wudan Posted March 8, 2003 Author Share Posted March 8, 2003 mdxm (.glm) format is based on MD3. There are tons of free MD3 loaders out there. Plus, we don't really need to render the .glm, just lines and dots for joints and bones. Little knobs to rotate this and that and move this and that. Very simple. Very powerful. Link to comment Share on other sites More sharing options...
Wudan Posted March 8, 2003 Author Share Posted March 8, 2003 I do agree that it will not be a 'peice of cake' though - i've been tinkering with it, but I do know that I'm getting closer with every byte I change. Link to comment Share on other sites More sharing options...
Wudan Posted March 12, 2003 Author Share Posted March 12, 2003 Frame ( 0): 0x 3300 QuatIndex( 1) Address: 0x39255e Quat: fd bf fe 7f fe 7f fe 7f 0 80 0 80 0 7a W: 1.000000 X: 0.000000 Y: 0.000000 Z: 0.000000 XLAT: 0.000000 YLAT: 0.000000 ZLAT: -24.000000 I wrote a little program to show the values held in the 14 bytes. Next Step - more functionality! Link to comment Share on other sites More sharing options...
razorace Posted March 12, 2003 Share Posted March 12, 2003 In Quat form?! EVIL! Link to comment Share on other sites More sharing options...
Wudan Posted March 12, 2003 Author Share Posted March 12, 2003 Yes. Quaternion Form. You'll notice that Raven's Code also includes 'xlat', which used to be thought was 6 bytes. I've interpretted it as 3 separate 2 byte sections(xlat, ylat, zlat), each of them 'lateral joint position changes from the basepose', which means when I reversed the positioning and told quat index 0 (which is like 1, only the zlat is 0 instead of -24, -24 puts the feet on the ground, btw) to have a +20 zlat, i got the expected Mr Fantastic effect, all the bones refering to quat index 0 stretched upwards about 20 units or so. Unilaterally, the Quaternion is a better way to describe Rotations which contain more than one angular velocity. Most of this is heavy flashbacks to high-school physics, but I'm taking my time and learning all about it. When I'm done with JK2 coding (which I might be, once I have put the last nail in this coffin), I'd like to go to Tenebrae 2 and make it Quaternion based (if Charles H hasn't done this already) - it's what makes games like Unreal2 so dynamic. If you think about it, the players viewpoint in Quake3 only ever rotates on 2 axii, when it should be able to rotate on 3. Doom3/Quake4 will have Quaternions, no doubt. Link to comment Share on other sites More sharing options...
razorace Posted March 12, 2003 Share Posted March 12, 2003 I'm pretty sure the Q3 viewpoint works on 3 axii unless JK2 is TOTALLY different. (YAW, PITCH, ROLL) It's just in Eular's format. Link to comment Share on other sites More sharing options...
Wudan Posted March 12, 2003 Author Share Posted March 12, 2003 JK2 is the same as Quake3, euler (yay!), but it can be hard to visualize what I'm talking about. Basically, stick out your right hand. Make your index finger point forward, your middle finger point left and your thumb stick up. Your pointer finger is the Y Axis. While rotations occur on the X (look up and down) and Z (look left and right) axii, they don't on the Y axis (tilt head from left to right). I think they could, but that's not what I'm after. I'm close to busting the Quaternion, I can see the values, I can change the values, now I just have to measure the behavior, document and test it. Then we'll go from there. Link to comment Share on other sites More sharing options...
razorace Posted March 12, 2003 Share Posted March 12, 2003 No, there's roll (Y axis) rotation. It's used for when the cam shakes, and stuff. True View uses it a lot. The only problem with the Eular system is that it's a pain in the butt to mess with. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.