Godot Version
4.6
Question
I have an idea that coild improve animation systems in games, its not 'a robot' but its got some robotic concepts.
Essentially, the improvement is based on calculating the effort or work done for each animation, so a jump has to lift more than the characters body weight, a pullup has to use the arms for the lift,etc.
Each muscle has a maximum force value, and the force of each action is computed for each muscle. Then the Work = Force× Distance is also computed. The total work gives the energy expended in Joules, and that allows two new attributes related to stamina - muscle fatigue and energy reserve (how many joules the character has stored, how much work the character can do).
The animation refinement occurs using IK, and presumably a physical mesh tracking the animation. The model finds a ‘lazy’ most energy conserving approach to completing the animation, with an emphasis on trying to keep ‘form’ and getting the job done.
This simulates real biological motion with the principle of least action - biological systems will try to conserve energy as much as possible and its automatic.
So ideally, this system could allow animations to cause a character to naturally slouch or cut corners when running low on energy, and mistakes could happen like after a long walk or long athletic sessions.
To implement this i thought i might need to calculate the body mechanics of a jump or run motion, but i think its a big step from the general literature and … I also dont have the time or energy.
Another simple idea is leg stretch … if a character was using foot IK but one leg was much higher than another, perhaps near a big step, perhaps they would shift to a position where the leg was stetching less.
I did think i might have to label a bunch of animations after manual calculation, then maybe use an AI, but the body mechanics calculation would help. In practice its not easy to develop effective modifications to animations … ‘like walk but lazy style’. Maybe this would only be feasible when fully procedural motion is possible.