Jump to content
Eternal Lands Official Forums
Sign in to follow this  
Roja

Cal3d, New Character Animation Format

Recommended Posts

I have a new question for you...with cal3d, you can blend animations together, but let's say I have an animal that has a walk animation, and after walking he goes into an idle animation. If you take the last from of the walk animation, and the first frame of teh idle, they do not blend smoothly together on their own. Is there a way to do that? To blend the finish/start of animations?

I'ts not that big of a deal..i'ts not worth my time to make an "inbetween" type animation, but if it's easy for you to program it might look nicer.

Share this post


Link to post
Share on other sites

hey..have you tried those animal animations yet? I need to know how the looping ones are, because i have the first frame being the same as the last frame. I dont' know if that will work well or not. With the md2's, the first frame IS the same as the last frame, adn tehre is no problem, it's not visible at all. With cal3d it might be...I need to know that asap, if you can let me know.

Share this post


Link to post
Share on other sites

alright great :)

 

Just an update from me: I am nearly done with all the animals, they will be done this weekend. And next week I will be doing all the monsters...so...with luck, by the end of next week it will all be done. *crosses fingers*

Share this post


Link to post
Share on other sites

Ok, mikeman, I finished all the animals...now i'm working on the monsters.

There is a small problem but I don't think it should really be a problem..and that's that I forgot to check the scale of the models until I made quite a few...when I put them in the game(using that client of yours), they were hugely off scale. But, you should be able to just scale them down in the code, correct? All parts of the model, animation/skeleton/mesh need to be scaled down..

It's only for 4 animal models, plus the monsters(there's 12 monsters)....is this going to be any problem at all?

 

Edit: I see that the cal3d exporter has a scale factor...I will see if this will work first :huh:

 

Edit2: Nope, that scale thing doesn't do shit :/

Share this post


Link to post
Share on other sites

mikeman, i have some more questions for you(or if anyone else can answer this):

 

Ok i'm working on the monsters right now. I have to decide how many different skeletons I will need. The meshes differ(aside from their size), by some of them holding a weapon(extra bone), and some with wings(a few extra wing bones).

 

So, I would have 3 different skeleton/mesh types:

Basic

Weapon

Wings

 

What if I made one skeleton, which would have wings and a weapon in the hand. Can I use that skeleton for all meshes? Would you be able to "delete" the extra bones not needed for those animations? Or would it mess things up? Does this make sense?

 

On the other hand, I can make those 3 separate skeleton types. However, let's say I make a walk animation for the Winged skeleton. That action will include keyframes for the Wing bones. Is it possible for me to use that same "Winged Walk" animation/action on a Basic skeleton/mesh? All the Basic bones would move exactly teh same, the only difference would be if you are using a Winged mesh(where the wings would move too). Would that cause conflicts?

 

In fact...I already kind of did this with the animals. I have a skeleton for the Rat, which I am using for both the rat and beaver. The rat has 3 tail joints, the beaver only one. So the beaver is only using 1 tail bone, I did test it and it worked fine...but I would like to get a confirmation from you.

If this is a bad idea or not...

 

 

I plan on making the bulk of the animations shared between all these monsters. And I'm trying to decide the best set-up to make it the easiest, with the least amount of files. Of course there will be scaling needed still with the skeletons & animations, and i'm crossing my fingers that it will all work in the end :o

Share this post


Link to post
Share on other sites

Regarding your question:

 

Why the 3 different skeletons? The same thing happens with the player avatars, doesn't it? We have one skeleton containing all the bones, and if he's not holding a weapon, we just don't attach the weapon mesh to the skeleton.

 

For example, let's say we have one skeleton that is shared by 2 monsters, one has wings and one doesn't. I don't need to "delete" any bones. The mesh with no wings obviously has no references to the wing bones, so it just doesn't take them into account when it's deforming. We would have a problem if the mesh "links" to bones that don't exist. If all the bones that the mesh needs are in place, and we have some additional ones that aren't been used by this particular mesh, that's not a problem.

 

Sorry for not being around much, I just started a new job and don't have much time on my hands, and also had some problems compiling and adjusting my code to the new source from the CVS. But I think I can get it done by the end of this weekend.

Share this post


Link to post
Share on other sites

ah ok great B) So just one skeleton will be used..except I MIGHT need a few diff skeletons due to the different body structures in some monsters (just as i needed diff ones for the dwarves/orchan, etc).

 

Anyway..the monsters should be finished by the end of this weekend, if all goes well :P

Share this post


Link to post
Share on other sites

Ok I finished up all the animals & monsters..finally! :)

Let me know if you need them all and i'll put them in a zip file for you.

 

Right now i'm working on just one last md2 that I forgot about...The Wraith :) I want to redo his texture and make him look a bit better.

Share this post


Link to post
Share on other sites

Ok, I got it. Unfortunately I won't be able to work on it much until this weekend. There's not much to finish, but pretty important, so in 4-5 days it will be ready.

 

Now, since we're sharing skeletons,animations and meshes between models, the "system" has to be a little different. There are 2 entities: One is named "CoreModel" and holds all the bone,animation and mesh data. The other is called just "Model". It is the actual model that will be displayed. It uses CoreModel as a source for all the data it uses. All coremodels are loaded when the game starts and stay in memory forever. Models are created when needed.Two models can use the same coremodel.

 

For example, let's take the snakes:

 

There will be one CoreModel,let's say "CoreSnake". It will contain:

 

Skeleton: snake

Meshes:snake1,snake2

Animations: snake_walk, snake_idle1, snake_intosleep, snake_outsleep, snake_sleepidle, snake_pain, snake_attack1, snake_die

 

There will be 2 Models: Snake1 and Snake2, sharing the same skeleton and animations. The mesh "snake1" will be attached to Snake1, and "snake2" to Snake2.

 

I hope it's not too complex. All this will be configured through a GUI-tool I will give you along with the executable.

Share this post


Link to post
Share on other sites

Hey Mikeman,

 

Could we get a status update, please? We do wish to get this implemented as soon as possible, so we can test it thoroughly for bugs before 1.0.2 - if you don't have the time to finish the last things, just submit the code as a patch so other programmers can have a look at how everything is working, and either finish it or help fixing a few bugs :D

 

/Wytter

Edited by Wytter

Share this post


Link to post
Share on other sites

It's almost done. All I have left is to take care the rendering of weapons, which is kind of special case since they don't scale along with the rest of the model. I'll post the client probably by tommorow.

Share this post


Link to post
Share on other sites

Is there already a release date planned for 1.0.2? Gosh, please let me some time to include the texture customizing feature before the release, :D I don't want to disappoint my guild.

 

With regards

Lachesis

 

P.S. Or don't you want any protocol changes for 1.0.2? In that case I could not do it anyway.

Edited by Lachesis

Share this post


Link to post
Share on other sites
Is there already a release date planned for 1.0.2? Gosh, please let me some time to include the texture customizing feature before the release, :( I don't want to disappoint my guild.

 

With regards

Lachesis

 

P.S. Or don't you want any protocol changes for 1.0.2? In that case I could not do it anyway.

155566[/snapback]

Lol, if so, I guess I'd better start pin a todo to the release... because there's still bugs to work out, and features to finish... :blink:

Share this post


Link to post
Share on other sites

There's no release date yet. But we need at least 1-2 months to sort out all bugs and implement the last planned features.

Share this post


Link to post
Share on other sites
Lol, if so, I guess I'd better start pin a todo to the release... because there's still bugs to work out, and features to finish...  :blink:

155571[/snapback]

I've already done so three weeks ago.

 

With regards

Lachesis

Share this post


Link to post
Share on other sites

An update:

 

It's nearly finished and seems functional. Right now I'm testing for bugs and such, because I haven't test it with all models yet. I've decided to use the actors_defs system with just some things changed. For instance, the .def for Wraith is:

 

<actor type="wraith">
   <skin>./md2/wraith.bmp</skin>
   <model>./Meshes/wraith.cmf</model>
   <skeleton>./Skeletons/Wraith.csf</skeleton>
   <scale> 1.0 </scale>
   <Scale_Mesh>0</Scale_Mesh>
   <frames>
       <CAL_idle>./Animations/Wraith_idle.caf 0</CAL_idle>
   </frames>
   <ghost>yes</ghost>
   <walk_speed>0.1111111119</walk_speed>
   <run_speed>0.1111111111</run_speed>
</actor>

 

Now, so far I've tested humans,dwarves,rabbits and the Wraith. The Wraith animation is wrong. I've tested it with MiniViewer in case there was a bug on my program, but got exactly the same result. I'll test all actors by tomorrow and I'll give you a list with the problems, but you might want to check Wraith by then.

 

-EDIT: Stupid copy/paste mistake-thanks Lachesis :)

Edited by mikeman

Share this post


Link to post
Share on other sites

                <scale> 1.0 </scale>
               <Scale_Mesh>0</scale>
                ^-------------^--- opening / ending tag mismatch

Just a quick note, there is a small error in this XML fragment.

 

With regards

Lachesis

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×