Kinesis - Physical Muscle Model Based Movement

What is it?


Kinesis is a multi-segment Hill-type muscle model implementation that allows you to define your own muscles and drive movement through individual muscle excitation. It drives physical motion by applying joint torques generated by muscle contraction to rigid bodies.


What is it not?


Kinesis is not a turnkey solution for character control or animation. There are already plenty of great existing solutions for that. In fact, Kinesis does not deal with traditional character animation. Nor does it deal with motion coordination in any way, leaving that to you.


While it can be used for basic muscle simulation purposes without much additional coding, controlling coordinated movement will likely practically require a ML/AI supported solution (unless you're quite skilled at designing traditional controller systems) and is meant to be used with such.


It is also not meant to be a medically accurate and precise model of the muscle. You can learn more about the muscle model's architecture in the documentation.


Who is it for?


Kinesis is primarily targeted at programmers looking to include muscle-actuated physical movement into their projects, particularly as a base for working with machine learning based controllers. Integrating Kinesis into a broader solution will require some amount of programming ability.


Since there is often complex and subtle interplay between the Unity physics settings, Rigidbody and Joint component settings, and muscle parameter settings, patience will likely be required when debugging movement issues.


What is included?


The Kinesis package includes:

  • Source code
  • Editor scripts that add some basic enhancements to muscle editing
  • A gizmo component for visualizing muscle placement and activity
  • Components to help organize and work with muscle objects
  • A basic demo scene containing a humanoid model from Unity rigged with 200+ individual muscles to serve as a starting reference

What does it require?


Kinesis has no package dependencies.


Where do I find support?


Please try the Discord server if you need any help: https://discord.gg/kYBtgWM7kG