Procedural animation and Motion matching

About games with animated characters every 3D engine is able to make good graphics, but they lack animation features to make animation better, easy and leverage the animation work.

Procedural animation

Animation matching ( no more very complex raph animations and transitions)

While we are using pre made animations and transitions that works well,
i think those are the next step to make better animations for games.

2 Likes

Sure, this could be the next approach in Armory, a system that choose animations that follow the simulation, and so do a move/rotate from animation and not the inverse as actually we do.

However there is a cost to generate sufficently mocap that you will need for your game. It’s the same problem of cost as this met for the training a Neural Network.

The good news is that we could use something like ATRAP coupled with an IK capabilty to do it.

In fact, if every candidate jumping point has a cost, same approach is used in ATRAP, it’s the reward we give after an action that is used to train the Neural Network.


(see here IA, Python and Armory 3d/Blender or here https://youtu.be/ef-S7M6_yEo)

After training the NN, we could have a way to obtain very kickly (and at low cost with no need of a complicated installation for mocap …) the best animation/mocap candidate to reach a new point.

1 Like

Or you combine both procedural to make all your animation with user control about what animation he wants, then use animation matching with procedural made animations.

I don’t think those will come to Armory or another small 3D engine.
They are in early stages on commercial 3D engines, new features always comes first in bigger 3D engines before they appear in smaller 3D engines, sometimes features never appear on smaller 3D engines.

I think it’s too new for open source and this is only a discussion, it’s not in any way a proposal for Armory.

1 Like

Who knows ! :slight_smile:
As you know breakthrough technologies generally come from very small structures and are disruptive precisely because they have not been hit in time by the large ones in the field.
This would be the strength of an ecosystem open-source emerging around Armory.

1 Like

Armory needs first to get good physics, better logic nodes, better performance, better assets visualisation, animation states and blend graph and many more common features not available.

I don’t think procedural animation or motion matching are the priority :joy:

1 Like

It depends. Sometimes it is not quantity but quality that matters.

In addition, the import/export possibilities between tools can easily compensate for weaknesses.

I can’t make a small arcade physics game with Armory because of physic bugs, the solution is i make it in UE4 , problem solved :smiley:

The workflow doesn’t matter so much here for a small game with few export/imports, it won’t compensate Armory issues that are blocking.

Back to discussion, Lubos is already fully occupied with new graphics and lot of issues from Github already, to be interested to work on new and very complex things that are too new among game development.

But we can keep the discussion for very very very later after Armory get a major stable release.

Thanks for this interesting discussion @MagicLord.
Hoping that Lubos is a Go Fast to continue it soon :slight_smile:

REMAINDER: Armory isn’t even in alpha.
It would be good though to implement but NOT now. Reason being if you are using that than game is going to be big, and as @MagicLord said It not even possible to create a small complete game(no offence to it) . It would not hurt to consider it as side note.

1 Like

Maybe we can use something like this https://www.youtube.com/watch?v=uFJvRYtjQ4c
here github page https://github.com/sebastianstarke/AI4Animation and this https://www.youtube.com/watch?v=wlndIQHtiFw

1 Like

Thats good, there tenserflow support in armory, though never tested it. I think it would not take long to implement in armory.

I can’t get to YouTube, so I can’t view those videos, but I’m really interested machine learning tools to make animation, modeling, AI, etc. easier and higher quality. A couple of really cool things I’m wanting to look into along the lines of getting real life objects/animations into games:

Creating 3D models from multiple reference photos:

Things that could possibly back an extremely cheap ( as in equipment cost ) motion capture system:

There is an Armory lib for TensorFlow.js now to.

maybe less time than trying to reproduce things that already exist in other software and that ultimately do not give satisfaction for real applications ?

There is alwasy a trade off , choosing baked animation vs real time calculated, like between real time lighting and hybrid baked and real time.

Is there some Armory demo about tensorflow ?

Well, isn’t there value in using motion capture to create your video game animations. At least as a base. Maybe it isn’t a problem for a well trained modeler or animator, but I think it would help me a lot.

Thanks @zicklag for links … I didn’t follwed last progress on it.
OpenPose is a very interesting way too.

And sure we have TensorFlow to do things and make experiments since 0.4 if I remember well.

OpenPose look really good. It promising, I would be happy if it get implemented in armory cause i am not that good at animation and can suck big time.

2 Likes

@zicklag this post was following the @BlackGoku36 one

Blockquote
REMAINDER: Armory isn’t even in alpha.
It would be good though to implement but NOT now. Reason being if you are using that than game is going to be big, and as @MagicLord said It not even possible to create a small complete game(no offence to it) . It would not hurt to consider it as side note.

so my remark was

maybe less time than trying to reproduce things that already exist in other software and that ultimately do not give satisfaction for real applications ?

and sure OpenPose is very interesting to test.

1 Like

I don’t know whether or not we need to get it implemented in Armory as much as a Blender plugin. And I’m not sure whether or not to try to implement it with the TensorFlow.js and write it in Haxe with the externs, or to use the OpenPose C++ library. :thinking:

I should probably create a new topic.