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

Animation Blending

Recommended Posts

Since we're starting to rework the animations and fix the problems, I also thought of something else that we can try, but we need a volunteer programmer for it.

 

Right now when an animation stops, and a new one starts, the transition is really choppy. This isn't noted on player characters, but on the creatures, monsters, animals.

 

As an example, the monster idle has the monster shaking his head from side to side. And the monster will transist from it's idle into the walk animation at a visually random frame location. So it can have it's head off to the side in one frame, and the very next it's back in the center(into the walk animation).

This obviously doesn't look good.

 

My idea is to try the Cal3d blending on these transitions. Hopefully it will look nice and smooth, and much more natural.

 

So if you want to volunteer please post here!

 

 

P.S. We'll also need animation blending for emotes, so if you guys want to use emotes you can surely help us out with getting the blending to work properly :pirate:

Share this post


Link to post
Share on other sites

Hi I'm just done a patch for this. Its my first path ever so don't be fierce :P. The path could be found here. Please try it and give me feedback.

 

I was thinking about emotes as well and my idea is that emotes could be implemented without server changes. My idea is to use ":" command. For example for a "hooray" emote client can send ": \o/" raw text to server (it could be improved by GUI later). So all other player give back "OnyXa \o/" which can be easily captured and converted to animation.

Of course this idea has a bad sides and good side:.

Bad sides:

- we get raw text so we must search for player by name string and parse emote string

- its not well designed(rather a nasty workaround :pinch:)

Good side:

+ it could be implemented without server changes

So please write what you think about it.

Ou and sorry if thread about it exists but i couldn't find it.

Share this post


Link to post
Share on other sites

I have some question concern this topic. There is a struct actor_types in actor.h. And it has this entry:

 //Animation indexes
  struct cal_anim_group idle_group[16];//16 animation groups
  int group_count;

There is also code in actor_scripts to fill this struct. Its seems to be unused for now because actor definitions don't contain such data at all. So my question is, Is this for future use or some old code to remove?

Share this post


Link to post
Share on other sites

I've just tested this. If you fight something while it's eating, it looks a little funny to see its head move up as you attack, but it looks a lot smoother than before.

The code changes were not that large, so although I'm not an expert in the actor code, I believe it's safe.

As such, it's now in CVS; thanks Onyxa :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×