-
-
Notifications
You must be signed in to change notification settings - Fork 23.6k
Add Deterministic option to IterateIK3D #112524
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
base: master
Are you sure you want to change the base?
Conversation
fire
left a comment
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.
Reviewed the enhancement a little.
lyuma
left a comment
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.
This PR is stacked and depends on the BoneExpander3D change that I haven't reviewed yet. I reviewed the second commit, and it seems simple, basically resetting the chain settings every frame.
3893c89 to
dc9e95e
Compare
lyuma
left a comment
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.
Approved in meeting
Repiteo
left a comment
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.
Looks like legacy doc changes were left in. These'll need to be removed first
9772afa to
d7de9b3
Compare
d7de9b3 to
d6949a9
Compare
If deterministic option is
true, the previous frame's result is discarded. At this point, the new result is calculated from the bone pose excluding the IterateIK3D as the initial state. This means the result will be always equal as long as the target position and the previous bone pose are the same. However, ifangular_delta_limitandmax_iterationsare set too small, the end bone of the chain will never reach the target.Setting deterministic option is
trueandangular_delta_limitto 180 degrees will produce the same results as the old SkeletonIK in FABRIK.Deterministic FABRIK3D:

Old SkeletonIK3D:

(As I mentioned in #110120 (comment), the handling of Tips differs)