Jump to content

Home

Is it possible to create animations, with anything?


babywax

Recommended Posts

Ok, here's an explanation.

 

You can create GLAs (which are the files storing the animations that JK2 needs/uses). You do it by putting animation frames into the XSI file of a model and then exporting the XSI using Carcass (with a special option turned on) to generate a GLM (the GhouL Mesh, or actual model file) and a GLA (GhouL Animation file, holding the animations) pair.

 

However, a problem arises because the _humanoid.gla is 9 megabytes and has a lot of frames of animation (17,628 frames to be exact), and you CAN'T add new frames of animation to those frames in the _humanoid.gla. *

 

Why? Simply because when you make the animations, you have to weight the model to the skeleton - the generic set of bones that Raven uses for each model (so that each model is compatible with the _humanoid.gla). The skeleton that was used for the _humanoid.gla is different to the skeleton that came in the root.xsi files in the GDK/SDK. It has:

 

-a different number of bones

-a different hierarchy

 

Even if you could merge _humanoid.gla with a GLA of your own, it couldn't work because they were based on different skeletons (and ASk has developed a gla-merge program which sticks two GLAs together).

 

Wudan has started working on making a program that allows you to edit the animations (instead of using 3DS Max to make them and then merge them with the original ones) so we will, at some point in the future, be able to add working animations. Unfortunately, this program won't be here anytime soon (I don't think so at least, you may think otherwise).

 

(* I think that if you make a completely new GLA of your own, instead of still using _humanoid.gla, then it may work - slight chance it won't - but that is a LOT of work. 17,628 frames are a lot of animations. Plus, if you make all your animations and then you export it and find out they don't work, your time's been wasted...)

 

There you go. (Could somebody stick this to the top?)

Link to comment
Share on other sites

The general assumption seems to be that you need to re-create EVERY sequence that the original _humanoid.gla has.

 

Your new animation file doesn't have to be named _humanoid.gla, you can make a new animation file, your new GLM will need to reference it in it's header.

 

Also, you don't need to recreate all the JK2 sequences, if you are making a TC, just think of every possible animation your characters will need and make those. You need walking, running, shooting, Quake3, which stores the animations inside the MD3 (if I recall) barely has 50 or something frames of animation per model (but may have more, I think each model has separate animations anyway.)

Link to comment
Share on other sites

Well actually I was striving for realism... I don't think most people want to get rid of the lightsaber code: it's too cool, it's a lot of work, and plus (I'm not very knowledgeable with the Q3 engine but I *think*) it may break the bots.

 

As for your second question, yes you could.

Link to comment
Share on other sites

As it currently stands the distance between the average person and new humanoid animations is about 500 miles. To manually hex-edit an animation is insane (I'll atest to that!), so it's NEARLY impossible.

 

My goal is to make it a lot easier for someone who wants to make new animations / poses to make them.

 

Right now the framework is being kicked in to place, as it took 3 months to really get it sorted out. My dev time is very limited, and I have another project (aotctc) that really needs my attention as well. If I'm not adding a new feature, I'm usually just brushing up the syntax to make the code look better (as I hope to release the source for it, at the same time, I'd rather not get laughed at -- this is my first app, and as such, it's not so bad, but on the other hand, it's not nearly honed enough.)

Link to comment
Share on other sites

Originally posted by babywax

Oh so if I'm doing a total conversion, it would be possible (without doing 17k frames) to actually add in dodging?

There are some dodge animations already in the game (BOTH_DODGE stuff). Unfortunately, the animations are only really set up for upper body dodging.
Link to comment
Share on other sites

Well, that and the quats that each frame/bone indexes are repeated, so you edit one wrong thing and you've changed a TON of animations. The tool I wrote de-optimizes them, so each bone has a unique and editable quat (quat is basically rotation information.)

Link to comment
Share on other sites

How about adding stances? I want to have a spear in my mod (I plan on doing it somehow by changing the hilt to a spear hilt), and I would like to have the main attack be some sort of "jab," and also have things like swipes from left to right, is there some sort of plain animation cfg or something that I could edit to do this?

Link to comment
Share on other sites

Yeah, load up the model in modview and see if you can find a frame that suits you, then you can give that frame it's own animation name and edit the animations.cfg to match it, and code it in. It's kind of a lot of work to go through, but it's not so bad.

Link to comment
Share on other sites

Hey wudan. What do you mean by "code it in"? I've been working on animations recently too, and I've managed just to get a basic model with a new skeleton and a single animation into the game. I have no idea how to make it do what I want, though. The only animation it's using is the BOTH_STAND1 animation. Also, do you know if it's possible to have a model with a new skeleton use a lightsaber?

 

Okay, last question. How's your program to edit the GLA's coming along? I know you've mentioned that you don't have a lot of time to work on it. Could you use some help? I've got a working knowledge of OpenGL, if that's any use to you. I've also worked a little bit with hex-editing GLA files, but I don't understand them nearly as well as you do.

Link to comment
Share on other sites

Well, if you have a sequence programmed in, you just give it a name in the animations.cfg, and then reference this sequence in the qvm code where you want to use it.

 

If you gave it a name that jk2 already recognizes, then that's ok, too.

Link to comment
Share on other sites

Wait a minute. I'm trying to get my model into the single player game. We don't have source code for the single player game to create QVMs. Is that the method you use for multiplayer? Has anybody successfully imported a new model with a new skeleton into multiplayer? And there's the lightsaber question I asked too. What about that?

Link to comment
Share on other sites

I have successfully exported a character with a custom skeleton...i didnt create the skeleton myself, (cant remember who created it)

 

It was made out of bones objects from 3d max and the result was horrible. A custom skeleton created like raven's (correct naming convention and hierarchy) should work since the other one was pretty bad (no parent/child relation) and it still worked for multiplayer.

 

And the lightsaber is linked to the skeleton by a tag i think, so i dont see why it wouldnt work.

 

But one thing i have noticed, if the bones are moved out of place in max, some slight errors could happen (the hands wont grip objects correctly) so i dunno what would happen if a skeleton is not at the same exact spot as the original one.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...