Skeletal animations

Moderator: GZDoom Developers

User avatar
Apeirogon
Posts: 1606
Joined: Mon Jun 12, 2017 12:57 am

Skeletal animations

Post by Apeirogon »

At least little chance for implementing skeletal animations?
I import model from other game where more than half all animations make using this. Shooting while walking, shooting while running, shooting while running with turn its torso left-right at some angle between (+pi/4, -pi/4) while shooting at slope between (-pi/2, +pi/2), fatality and other stuff. All that implement from standing still model.
I CAN draw all this in simple md3, all turning data build-in in models with links to animation and frame name, so even some clumsy and incompetent human in 3d modeling, like me, can do this.
But, mamma mia, this take slightly less than eternity, even if I discarded all fancy stuff and make just walking-shooting animations.
User avatar
Rachael
Posts: 13794
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Skeletal animations

Post by Rachael »

While I will agree that GZDoom desperately needs this, as the old saying goes - the devil is in the details.

To put it bluntly, if it were easy to do it'd have been done by now. That's not to say it's an automatic [No] - I am pretty sure the model handling interface is extensible enough to pull something together like this - the problem is it's not as simple as it sounds.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Skeletal animations

Post by Graf Zahl »

The main problem is that there is nobody with the time to do it.
User avatar
Apeirogon
Posts: 1606
Joined: Mon Jun 12, 2017 12:57 am

Re: Skeletal animations

Post by Apeirogon »

Rachael wrote:While I will agree that GZDoom desperately needs this, as the old saying goes - the devil is in the details.

To put it bluntly, if it were easy to do it'd have been done by now. That's not to say it's an automatic [No] - I am pretty sure the model handling interface is extensible enough to pull something together like this - the problem is it's not as simple as it sounds.
I have ideas in case of NO, like separate body from legs and make two models atached one other with scripts. But how do this?
How check that enemy in FOV of "legs", base actor, to turn body and shoot it?
How make other monster, in case of infight with that frankenstein model, attack both part of it?
How check is it can enter in some corridor, if legs fit in it, and legs with body no?
And in case of resurrection, how resurrect and join both part of actor without flying body/walking legs only?
User avatar
Caligari87
Admin
Posts: 6191
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: Skeletal animations

Post by Caligari87 »

The way to do this would be to have the actor itself spawn several non-interacting actors. Using ZScript it's perfectly possible to keep it all in sync. You don't have to worry about a monster attacking just the legs, because the legs would be visual only, not actually a separate entity.

8-)
User avatar
Chris
Posts: 2954
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Skeletal animations

Post by Chris »

FWIW, skeletal animation is simply another way of making the engine move a model's vertices. Blending multiple animations based on the actor state (e.g. combining the legs of a running animation with the upper body of a firing animation) is a whole other level of complexity on top of it. Would be neat to have, but it's not the easiest thing to do.
User avatar
Gutawer
Posts: 469
Joined: Sat Apr 16, 2016 6:01 am
Preferred Pronouns: She/Her

Re: Skeletal animations

Post by Gutawer »

Caligari87 wrote:The way to do this would be to have the actor itself spawn several non-interacting actors. Using ZScript it's perfectly possible to keep it all in sync. You don't have to worry about a monster attacking just the legs, because the legs would be visual only, not actually a separate entity.

8-)
You also need some sort of orientation format that supports concatenation (like Quaternions) to make sure the armature always rotates relative to the actor's own orientation.
User avatar
Rachael
Posts: 13794
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Skeletal animations

Post by Rachael »

In other words: overly complicated and a ton of work to get it right!

Or, to put it another way: Ain't nobody got time for that!
User avatar
RederickDeathwill
Posts: 31
Joined: Sun Sep 06, 2020 4:18 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: São Paulo - Brazil

Re: Skeletal animations

Post by RederickDeathwill »

This could revolutionize the engine even further, still no hope of implementing?
Gez
 
 
Posts: 17934
Joined: Fri Jul 06, 2007 3:22 pm

Re: Skeletal animations

Post by Gez »

RederickDeathwill wrote:This could revolutionize the engine even further, still no hope of implementing?
If revolutions were simple, they wouldn't be so messy.
User avatar
Marisa the Magician
Posts: 3886
Joined: Fri Feb 08, 2008 9:15 am
Preferred Pronouns: She/Her
Operating System Version (Optional): (btw I use) Arch
Graphics Processor: nVidia with Vulkan support
Location: Vigo, Galicia

Re: Skeletal animations

Post by Marisa the Magician »

You're all asking too much of this humble engine. Maybe some day it will happen, if someone with the skill level to add it shows up. The same can be said of a lot of features that quite honestly I don't think any of us here would be capable of adding.
Diode
Posts: 53
Joined: Mon Feb 29, 2016 2:34 pm

Re: Skeletal animations

Post by Diode »

Marisa Kirisame wrote:You're all asking too much of this humble engine. Maybe some day it will happen, if someone with the skill level to add it shows up. The same can be said of a lot of features that quite honestly I don't think any of us here would be capable of adding.
If I recall correctly, a skeletal animation system made it into UT99 with its final bonus pack. Perhaps its .u files can be decompiled and reverse engineered?

Of course, merely supporting skeletal animations is a long, long away from being able to do anything with those bones at runtime, and UT99 itself is an excellent example of how far you can go *without* skeletal animations.

...But merely supporting them *is* the first, possibly-achievable step.
Gez
 
 
Posts: 17934
Joined: Fri Jul 06, 2007 3:22 pm

Re: Skeletal animations

Post by Gez »

As far as I understand things, the problem isn't so much putting support for skeletal animation in the renderer; it's finding a way to tie it nicely to the Doom-engine state-based actor framework.
User avatar
Nash
 
 
Posts: 17465
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: Skeletal animations

Post by Nash »

Find us someone to do the actual coding work and we'll be in business.
User avatar
Rachael
Posts: 13794
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Skeletal animations

Post by Rachael »

There is no details about skeletal animations in the .u file except maybe a rigged model itself.

Skeletal animations are nothing more than groups of verteces on a model being attached to a specific other vertex point, which may or may not be forced a static distance away from another (creating a "skeleton" or probably a more descriptive technical term could possibly be called "vertex inheritance tree"). A model's skin can overlay this skeleton over said vertex points.

Understanding the concept of skeletal animations is not difficult at all, nor is the preliminary implementation of it. As Gez said, it's figuring out how best to tie it to Doom's rigid systems.

Return to “Closed Feature Suggestions [GZDoom]”