Animation

You have suggestions or want to give feedback to the game or the forum? Post it here!
Post Reply
User avatar
BlueCrescentMoon
Posts: 93
Joined: Sat Apr 09, 2016 4:16 pm
Location: It's a secret owo
Contact:

Animation

Post by BlueCrescentMoon » Wed Dec 21, 2016 1:08 am

I noticed in your videos where you preview multi the models don't transition super smoothly through jumping, running and crouching animations, is this an aesthetic you picked? It bugs me just a little bit and I'd like to see smooth transitions if it's not the aesthetic. If it is then don't bother changing it, I wouldn't want you changing something when it was stylized for the game.
I'mma nerd, what else is there to say?

https://www.youtube.com/watch?v=MSb0Euh4p58
Me ^^^

User avatar
Lewa
Site Admin
Posts: 157
Joined: Sun Nov 15, 2015 1:24 am

Re: Animation

Post by Lewa » Wed Dec 21, 2016 4:12 pm

It's due to a limitation of the animation technique i use. (It's called "morph-targets" and/or "blend-shapes")

Basically, each animation consists of a few static frames (like a sprite based animation in a 2D game).
In order to make the animations appear smooth, i wrote a shader which is taking two of the currently used animation frames in order to interpolate the vertices of the two models and make the animation appear smooth.

The issue is that you can't blend between one animation to the next.

Modern games use skeletal based animation systems which allow you to smoothly transition between one animation to the next.

Now, the reason why i chose the morph-target technique is two fold
First, i had to write the animation technique from the ground up by myself. The engine i use does not support any kind of 3D animation techniques at all. So i had to come up with my own code. Morph-targets were much easier to implement compared to a skeletal animation system. (Mathematically and technically.)
Second, morph-targets have one key advantage over skeletal based animation systems: CPU performance.

Both techniques (morph targets and skeletal animation systems) are transforming Vertices on the GPU side in order to animate the model visually.
The difference is that the morph-target technique is simply sending the information which frames have to be interpolated and to what degree (in %.)
Skeletal animation systems have to animate the skeleton on the CPU side before sending the skeleton to the shader alongside the coresponding model.

The skeletal animation calculation which is done on the CPU can be quite heavy, depending on the number of bones used for the animation.

Now, the engine i'm using is not really good at iterating through a lot of data (like bones) in order to do these calculations. It's also not possible to use multithreading in order to spread the workload across multiple cores as the engine doesn't support this either.
This wouldn't be a huge problem if:
A) i had only a few characters in the scene. (like 1-4.) But given that i have the multiplayer feature in which i plan to support up to 32 (or even 64) players simultaneously, this would be a huge strain on the CPU side.

B) everyone had modern high-end CPUs (like I5s or I7s) but i also want players with lower end processors to be able to play this game without having to deal with huge performance issues in multiplayer. (In addition to that, for the past 2-3 years i was developing this game on an old Core 2 Quad with 2GHz which had abysmal single core CPU performance. Just recently around 2-3 months ago i build a new PC with an I7.)

So yeah, the reason those animations are the way they are has to do with:
  • Engine capabilities (somewhat)
  • my own knowledge
  • wanting to have a low entry-barrier when it comes to PC requirements in order to run this game properly.

There are a lot of things which i would like to add/improve in Celaria. (Which i can't do due to the lack of knowledge, time and/or engine limitations.)
That's something which i would be able to fix in a potential sequel...

User avatar
BlueCrescentMoon
Posts: 93
Joined: Sat Apr 09, 2016 4:16 pm
Location: It's a secret owo
Contact:

Re: Animation

Post by BlueCrescentMoon » Wed Dec 21, 2016 5:09 pm

Ahh, I see then. Well it's okay if that works in this way. Considering it's a limitation I'd say you could ignore this then. I was just concerned how player models just start running with no walking or real start, it just transitions to the animation.
I'mma nerd, what else is there to say?

https://www.youtube.com/watch?v=MSb0Euh4p58
Me ^^^

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest