You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This results in the child part(s) suddenly being scaled 200%.
This is an editor-only, mainly cosmetic issue, but quite annoying nevertheless.
Cause
This happen because when moving a servo part in the editor, this re-parent the child part(s) to the servo "moving" object, which is inside the servo part model hierarchy.
Meaning if the servo part model is scaled 2x, the child now needs to be scaled 0.5x to keep it's original scale.
But the KSP code explicitly force the scale to 1x after reparenting (I guess because the parts root transform scale isn't supposed to be anything other than 1x).
See BaseServo.SetChildParentTransform().
Fix
Removing the "force scale to 1x" bit on re-parenting seems to work with no immediate side effect, allowing non-1x scale robotic parts to be manipulated in the editor. I guess this works correctly because KSP used to mess around with scale for mirror symmetry, so there is some "revert back to identity scale on part disconnect" code lying around.
It does introduce a breaking change to an unspoken stock convention. But I wouldn't expect anything to rely on parts root transform scale being always 1x, especially in the editor (famous last words).
The text was updated successfully, but these errors were encountered:
Reproduction steps :
This results in the child part(s) suddenly being scaled 200%.
This is an editor-only, mainly cosmetic issue, but quite annoying nevertheless.
Cause
This happen because when moving a servo part in the editor, this re-parent the child part(s) to the servo "moving" object, which is inside the servo part model hierarchy.
Meaning if the servo part model is scaled 2x, the child now needs to be scaled 0.5x to keep it's original scale.
But the KSP code explicitly force the scale to 1x after reparenting (I guess because the parts root transform scale isn't supposed to be anything other than 1x).
See
BaseServo.SetChildParentTransform()
.Fix
Removing the "force scale to 1x" bit on re-parenting seems to work with no immediate side effect, allowing non-1x scale robotic parts to be manipulated in the editor. I guess this works correctly because KSP used to mess around with scale for mirror symmetry, so there is some "revert back to identity scale on part disconnect" code lying around.
It does introduce a breaking change to an unspoken stock convention. But I wouldn't expect anything to rely on parts root transform scale being always 1x, especially in the editor (famous last words).
The text was updated successfully, but these errors were encountered: