-
-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Positional tracker support #920
base: main
Are you sure you want to change the base?
Conversation
…ct later chain's ability to reach the target.
…le to solve due to join restrictions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why does constraint need to be abstract? why is there so many vars instead of vals? For example does allowModifications
need to be modifiable?
I would very much like to reduce the OOP-style of this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Constraint is abstract because different joints have different constraints, originally I wanted to make a hinge joint for knees and elbows but ended up not getting to that, there are still different constraint types though for example the CompleteConstraint is for bones that the solver should ignore, I don't know how I would do this without an abstract class but I am open to suggestions! With the current way things are set up the Var's cannot be changed to Val's without significant change, probably pulling the Constraint out of the Bone class, and moving it into the IKChain's. Let me know if that change sounds reasonable, and if you still don't like the abstract class what do you suggest I do to remove it?
Adds an inverse kinematics solver to the skeleton allowing for positional and rotational trackers to be used together. An example would be using 3 positional trackers for the waist and feet and 2 rotational trackers on your leg to add knee-tracking. That is just one example though, any combination of trackers is theoretically supported. Needs SlimeVR/SolarXR-Protocol#139 merged before this can be merged.