← All ideas
  • Published 7 Jan 2020

Procedural animation tool helpers (walk, run, custom, etc.) for crowd simulation and character anims.

Would be cool to have some kind of animation helper to create animations for character that we could refine later (on another layer) and tweak the value of the procedural data (procedural layer). It would be a huge time saver.

Here is a video of the approach I find the most interesting. Animation is referenced from extreme poses only:

There already some work done in part in Rigify, that have some generators, but the data is baked. Could have more types (or generators nodes) like run, walk, jump, attack and custom that would use the method mentionned in the video using extreme poses. Once defined, could even be assigned to animation actions

This system could work but it would need:

  • a workflow (hopefully, user friendly) that work with the current Blender system. (Lot of refactor to do)

  • it would use animation actions , inside that animation action it would use poses, paths and/or path recording and parameters to be set (nodes?)

  • other examples: aiming, swimming, rag-dolls, contact with the environment (feet to floor), avoidance, like opening a door (door knob contact).

Coupled with a AI system characters could be rigged with a AI for combat to create combat scenes. And give control over crowds. It would not only useful for games... At the point the AI would generate animation actions for the character based on the their surroundings and their defined behavior. (Nodes?)

I've tried to get into the detail, but it's "more than I can chew". If other person that know more about how Blender animation system could be reworked to do that... Other DCC tools have their own crowd simulation systems (and theses procedural tools for characters) and inspiration could be taken on how they work.

Theses procedural tools are the basic for a good crowd system.
Crowd simulation systems started a long time ago by Massive and are now integrated into the modern DCC tools: Here what Massive has done in that field:

Blender

Here what I can actually see made from Blender in that field. There is no account of the feet touching the floor, no avoidance, no ragdool, no combat. But I've found that particles could be controlled by "boids" so they could do more than just walk straight...

Maya

Here what Maya can do with an addon:

C4D

Here is a demo of C4D can do with X Particles:

Houdini

Here what I found for for Houdini:

AshamedUnconsciousGrouper-size_restricted.gif

90%

Development Status: Incomplete

Upvote 9 Downvote 1
christianclavet
7 Jan 2020

7 Comments

jason

For this to be a truly actionable proposal, I think we're going to have to have quite a lot more detail. What would the interface look like in Blender? How would users interact with the helper? Where would they click to modify or configure what it's doing?

Mock-up images and designs of how it would work in Blender would be most helpful.

2
peter.boos

* @Jason van Gumster * Perhaps it could be a node system, parametric inputs in nodes with with various kinds of solvers. Solvers can be neural networks, or some math based motion, or trigger based. or repeating cycle based. For neural networks i know that they have improved lately so i think a system that can handle multiple solvers (and be expanded would be nice) It might be handy as well to have multiple select-able python script(s) (maybe based upon a folder)

1
office

i made an addon for such "walk animations". you know you can rig wheels on a car, independent of the number of wheels, the car will move physically and wiggle with the road/landscape. its similiar with feet: they balance the boy above a groundsurface, and if they need to move the body at a certain speed into a certain direction, they will produce a rythm in order to do so. hence i called it BalanceRun. capable of animating 2-8 legs, add secondary motion for props of the rig, and following the orientation of a simple animated target object (for climbing/upright posture change) this was several years of sparetime running into this, but it enables huge animation projects done in no time... youtube.com/watch

1
christianclavet Author

* @office * This look good, but it's baking the procedural data, so once you set it up you can't change it without redoing it (Like changing the trajectory). Having that walk genenerator like a node you could change the parameters even after being generated.

office

* @Christian Clavet * you think of a so called "seperable solution" where spatial functions can be seperated from time-functions. just like a particle system with physics. you cannot scrub the timeline and just change parameters anywhere. the computer needs to recalculate the particlesystem up until the frame you currently see in order to solve the current state of the particles. and feet holding balance is far more dynamical, than particles in a forcefield. So you cannot setup parameters, and choose to change parameters frame per frame. what you consider here, would be a rig giving geometrical constraints, that define the spots where feet step down (like a grid on the floor) so when you move the rig, the feet would automatically step up and down (even within one frame of the timeline) this would work as a seperable solution. but it will never lead to useful results. it would look robotic. and if the body isn't moving some feet still will be up in the air... everything else is not a procedural realtime solution. keep in mind, that the original post is a real time solution, where the timeline can't be stopped, and scrubbed. it always runs at certain speed. all you can do is control your character and give speed and direction. Blender has so much more input as an arbitrary animation tool, that this is obviously not the way to go.

testure

The problem with procedural animation like this is that it's all custom built for that particular animation. Outside of a walk or run cycle, what are common enough use cases for hard-coded procedural animation systems to exist in Blender (understanding that the breadth of Blender's usage is immense, and not limited to video games)?

This feels way more like a potential addon to me.

christianclavet Author

* @testure * Could be used as addon surely. This need to be used as animation actions (with layers).

1