The wonks have motion! Running laps to keep that beach bod.
The system uses all physics and inverse kinematics to move the little bird feet, resulting in some wiggly but endearing movement.
seen from Oman

seen from United States
seen from United Kingdom

seen from United States
seen from Russia
seen from United States
seen from Türkiye
seen from United States

seen from United States
seen from Russia

seen from Spain
seen from United States
seen from Egypt
seen from United States
seen from South Korea
seen from Poland
seen from Türkiye

seen from Malaysia

seen from Iraq
seen from China
The wonks have motion! Running laps to keep that beach bod.
The system uses all physics and inverse kinematics to move the little bird feet, resulting in some wiggly but endearing movement.
Mama and bb birds checkin out a snack. An old gif from my physics/ik experiments I never shared.
Look at him go! Combined my custom IK system with a physics controller, and now my bird son is more fabulous than ever.
This uses PID controllers to apply torques to all his body parts, which can add a lot of wobbly personality. Sometimes too much. But now the model will try to maintain the posture set by their IK system, while being fully, physically responsive.
The dynamic duo is back - over a year since they first started flailing around, now they're hooked up to a custom full-body IK solver using some crazy hacking of the FABRIK and Kabsch algorithms. In theory, this let's them calculate their poses based on any number of desired limb positions, and determine when goals are unreachable or require repositioning.
Much love to Zalo and his genius-level math utility tools without which this would not exist.
Still want to get the whole system physics responsive, but feeling proud of the progress 🤩
Here’s a quick demo of what my scene looks like with the Gizmos active - As you can see as soon as the character is generated and then selected in the Hierarchy (on the left as “Procedural Character”) - we can see how the skeleton has boxes and cylinders to represent the collisions of the individual bones of the body - we see a head, a chest, arms, hips, legs... etc. This isn’t a super complex process when done through the editor, as one only has to go bone by bone adding the colliders and then adding joint restrictions - granted it isn’t “easy” but it is nothing one can’t learn to do in a few days (however do keep in mind this is only the collision setup, this does not mean active ragdoll by itself is an easy topic, but setting up a humanoid character to work with ragdoll physics isn’t that hard when done THROUGH the editor). The problem with my game is since as I mentioned before, the character’ skeleton is generated in realtime, I am NOT able to do this process through the editor. I was forced to write a script that automatically detects the hierarchy of the character once it is generated and then automatically handles dynamically the positioning and setup of the collisions (going bone by bone detecting whether it’s the “head” “chest” “torso” or whatever, and adding the proper collision object (box, cylinder, etc)). Once the collisions have been set, it is time to add the “muscles” to the system. The “muscles” are “configurable joints” in unity. These are joints that allow you to determine “how much” rotation can happen on each axis of rotation for the corresponding bone, how much force can be added to the body, how much torque... etc. Basically they are like “super complex hinge joints”. These muscles are the ones that will be driving the animations for the character by EMULATING the animations that I baked directly from Blender - that is the procedural muscles system will try to add the corresponding forces to each joint in order for the bones to “reach” the desired pose (which is the one driven by my baked animations). However, given this system, one can handle how much “force or torque” every individual character will have on every independent bone. This allows me to give the characters specific strengths per joint based on whether the characters are super buff, super tiny, have long legs, have long arms... have giant heads.. etc. Since all of this is procedural, every time a character is generated, one can observe slightly different animations. I will post more examples of this in the following post.