Fix LookAtModifier3D / AimModifier3D forward vector#115689
Fix LookAtModifier3D / AimModifier3D forward vector#115689Repiteo merged 1 commit intogodotengine:masterfrom
Conversation
e127947 to
cfe020e
Compare
f0bdc7d to
381ad1e
Compare
|
I am not able to review this in depth, but I agree that it fixes an important issue and it should be merged for the new point release of 4.6 |
lyuma
left a comment
There was a problem hiding this comment.
Lyuma: Why are the rotation limits affected by relative? Are the limits relative to the target in one case?
Tokage: If only the limitation is unaffected by relative as you said, we can consider such a state. While not entirely intuitive at this point, the issue is that we must also consider whether damping and flip detection are individually affected by relative. The only immediately applicable fix is to ensure everything is affected by relative
Lyuma: Okay, so to clarify, the difference is between aim and lookat has to do with use of euler. I think rest is the only thing that makes sense for defining the limit but that can produce odd behaviors if the current pose is outside the range
I now understand why Aim constrain will continue to have relative default to true, while for lookat this default is not feasible. It might be good to document this subtle difference of default relative in the docs of AimConstraint.
Given this explanation, I agree with the proposed change. We need this to be included in 4.6.1
|
I moved this to ready to merge for 4.6 too. Let me know if there's a problem with that. |
|
Thanks! |
|
Cherry-picked for 4.6.1. |
Fix LookAtModifier3D / AimModifier3D forward vector
LookAtModifier
false. I assume the relative setting for the AimModifier should remaintrue(it was changed in Add relative option to LookAt/AimModifier3D #111367 (review)). cc @lyumaBefore (left: relative = false/ right: relative = true):
look_at_before.mp4
After fix (left: relative = false/ right: relative = true):
look_at_fixed.mp4
AimModifier
Before (left: AimModifier / right: LookAtModifier):
aim_before.mp4
After fix (left: AimModifier / right: LookAtModifier):
aim_fixed.mp4
aim_lookat_demo.zip