Skip to content

Conversation

@TokageItLab
Copy link
Member

In the early implementation of IK, angular_delta_limit was not present, allowing rotations of up to 180 degrees always. In that case, it seemed preferable to have this for stability.

However, with the implementation of angular_delta_limit and LimitAngularVelocityModifier3D, this check has become less important and is instead causing issues where calculations are not performed in reachable states (especially with FABRIK). Therefore, I will remove the is_penetrated check.

The following video shows the results under the same settings:

Before:

check.mp4

After fix:

nocheck.mp4

Copy link
Contributor

@lyuma lyuma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved in meeting.

the angular limit can be used for users who are running into trouble with penetration, so I think this change is safe.

@TokageItLab TokageItLab moved this from Ready for review to Approved, Waiting for Production in Animation Team Issue Triage Nov 28, 2025
@akien-mga akien-mga merged commit 1867600 into godotengine:master Dec 1, 2025
20 checks passed
@github-project-automation github-project-automation bot moved this from Approved, Waiting for Production to Done in Animation Team Issue Triage Dec 1, 2025
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants