58af30f9b90d1e6c649f9a093fa8ca5732028837
In rotation-based transform operations, the rotation axis can be determined in two ways: 1. Through "orient_axis" (X, Y or Z) 2. Through "constraint_axis" When the axis is obtained through the constraint, "orient_axis" is ignored, and the angle may be negated depending on the view orientation to match the mouse movement. However, "orient_axis" never has its angle negated. Since the default orientation is "View", the Z axis is inverted by default, aligning with the mouse movement but not with the constraint axis. This causes problems in the Redo Panel because the constraint fields are hidden in the Rotation operation, so they need to be unset for the Axis field to work. However, if you change the value of the Rotation field, the object may have its rotation negated unexpectedly. This issue was partially shown in #93078. Commitc30e6a37b0attempted to fix it by unsetting the constraint property when the Axis was changed. However, this solution is incomplete: if the Axis is changed and then reverted, the negative rotation issue reappears. In addition, it has not been implemented in all operations. This commit resolves the issue by revertingc30e6a37b0, aligning the behavior of "orient_axis" and "constraint_axis", and unsetting "constraint_axis" in `saveTranform`. A downside of this solution is that it may break operators invoked from Python that rely on "orient_axis" as the rotation axis, as the rotation value now needs to be negated. Pull Request: https://projects.blender.org/blender/blender/pulls/141101
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
