Add validation for rotation axis to SpringBoneSimulator3D #101571
+43
−0
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.
The rotation axis locking is worked by snapping to a plane. Also, SpringBone obtains the next motion from the movement of the Vector3 coordinates by integrating and predicting. Then it cannot account for twisting due to the movement of child joints.
For example, if the forward and rotational axes are the same, the child joints may twist, but SpringBone's calculations cannot take account this force.
So, if the forward and rotation axes are the same unintended rotation will occur (although the corruption of Matrix is prevented), so this PR adds a validation to warn the user.
Also, added to the documentation that scaling is not recommended.