Add Deterministic option to IterateIK3D#112524
Merged
Merged
Conversation
15 tasks
fire
reviewed
Nov 8, 2025
fire
left a comment
Member
There was a problem hiding this comment.
Reviewed the enhancement a little.
lyuma
reviewed
Nov 11, 2025
lyuma
left a comment
Contributor
There was a problem hiding this comment.
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
Repiteo
requested changes
Nov 14, 2025
Repiteo
left a comment
Contributor
There was a problem hiding this comment.
Looks like legacy doc changes were left in. These'll need to be removed first
9772afa to
d7de9b3
Compare
d7de9b3 to
d6949a9
Compare
Repiteo
approved these changes
Nov 17, 2025
Contributor
|
Just needs a rebase stripping the first commit now that #111815 is merged |
d6949a9 to
3812c74
Compare
Repiteo
approved these changes
Nov 18, 2025
Contributor
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)