#Procedural humanoid motion with animation rigging

1 messages · Page 1 of 1 (latest)

charred zodiac
#

First pass of procedural walk animations.
Only things animated here are the locations of the control nodes (4 yellow spheres on the ground)
As well as the hip height near the end (to be fixed later)

All motion is controlled with custom animation rigging constraints.

Things I plan on adding:

  • Acceleration (leaning into sudden turns)
  • Hip height displacement (For when legs stretch too far)
  • Secondary motion: Foot, hip and torso rotation.
  • Complementary movement script, controlling with WASD.
#

An important custom constraint in this system:
This constraint attempts to visually balance a pose by shifting the hips lateral position above the support surface (somewhere between the legs)

charred zodiac
#

It feels very responsive, quite neat for the lack of polish

limber quail
#

this is really cool!

charred zodiac
charred zodiac
#

Some more polish on the walking. It's fairly smooth now.
Time to work on secondary motion:

  • Hip rotation and vertical displacement
  • Torso and shoulder rotation
  • Foot and toe rotation

Some later goals:

  • Controller rework (state machine)
  • Support for both feet off the ground (fast walking and running)
  • Crossed leg compensation (fix clipping)
  • Arm IK support
  • Pose matching
  • Turning with mouse rotation
atomic phoenix
#

this is pretty cool

charred zodiac
charred zodiac
#

I will in the future need to modulate the stride length and step speed in order to make sure the animation can always keep up with the actual position.

reef gorge
#

wow im surprised by you're talent but i wonder if there asset page for that for free or paid?

charred zodiac
#

I'm not sure what you mean

reef gorge
#

uh i say this but is there gonna be an asset? or not

charred zodiac
#

Perhaps. I wouldn't ship anything as it exists currently though

reef gorge
#

ok

charred zodiac
#

I'm also in the middle of a rework, so nothing is working atm 😁

charred zodiac
#

Added a camera controller, finally.
Pretty much changed to whole system, so everything above is already obsolete 😄

charred zodiac
charred zodiac
#

Quick and dirty lateral and horizontal hip sway
Also made the cycle stop when velocity is 0, with unintended consequences:

charred zodiac
#

Please don't advertise in peoples dev logs 🙌

sacred prism
#

<@&502884371011731486>

jagged dagger
#

it was also spammed to 2 other threads

charred zodiac
#

I am working on a stride authoring tool. This would hopefully improve the ease of authoring more diverse and better looking stride paths.

charred zodiac
charred zodiac
lofty iris
#

I love it! Can you send to me after you've done UwU

charred zodiac
#

A bit stuck at the moment, so if you got any good resources on NURBS, I'd be back on track

lofty iris
tardy field
charred zodiac
#

This is done with UI toolkit

tardy field
#

Huh, that’s really cool tbf

charred zodiac
#

Custom editors are definitely cool 😁

young slate
#

This project is really impressive. You are quite literally giving me hope by showing me that all of the things that I've imagined are actually possible to pull of. I might even pick my old project where I left off. Do you have links to any materials that have helped you to acheive all of this (specifically interested in IK part of the story - altering bones transforms through script)? I have also tried making procedural animation some time ago (I couldn't find any resources on modifying bones by altering their weights and by using IK - had an idea to blend keyframe animation with procedural animation), so I was wondering if you are using 2 Bone IK chain and just changing target position, or are you using more complex approach? Are all movements completly procedural or are you using hibrid approach?

#

Thanks to you, I have also found out about UI toolkit, which by looking at your stride editor, seems really useful. I was just wondering what kind of data structure are you using for storing all of the points of the curve? Is every line in the editor representing one point on the curve (asking to see if you are actually storing that much data)?

charred zodiac
# young slate Thanks to you, I have also found out about `UI toolkit`, which by looking at you...

Thanks for taking an interest! I'm hoping to make some more progress in the near future.

The data structure is simply a ScriptableObject. The four control nodes are Vector2 fields in that SO object.

Currently the custom UI is appended to the beginning of the inspector, so you can see all the parameters in the last video I posted.

The lines do not represent data, rather it is a graph of the curve function evaluated f(0) => f(1)
The curve I'm using is a B-Spline, and to get a closed loop there are 6 hidden nodes positioned evenly at y=0

charred zodiac
#

All of the motion is entirely procedural. Previously I used animation curves to drive the foot offset, but the current iteration is driven by the aforementioned B-Splines. This has opened up a can of worms for me that has stalled my progress a bit.

young slate
# charred zodiac Thanks for taking an interest! I'm hoping to make some more progress in the near...

Can't wait to see what you will come up with next. So would this mean that you are computing points every frame or did I understand something wrong? I've thought that you might be storing points after every change in your curve since they could be reused.
When you say that you are evaluating function f(0)=>f(1), do you mean that you are incrementing t by some small amount and calculating position?

young slate
young slate