Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarrett Johnson <jarrett.johnson>2021-10-11 21:26:31 +0300
committerHans Goudey <h.goudey@me.com>2021-10-11 21:26:31 +0300
commitca8e8fd8d4747943bbff5f37b4858c7cd32daef3 (patch)
tree1e12e1625b7e9792481f4eb034d47e15de6c7cf9 /source/blender/nodes/function
parentd993c7b50300a588eb909e9e02b0735f2cb8f11b (diff)
Fix T92102: Issues with align euler to vector node
For fixed pivots, make sure the correct pivot axis is being used. Also add continues or invalid rotations. Differential Revision: https://developer.blender.org/D12824
Diffstat (limited to 'source/blender/nodes/function')
-rw-r--r--source/blender/nodes/function/nodes/node_fn_align_euler_to_vector.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/nodes/function/nodes/node_fn_align_euler_to_vector.cc b/source/blender/nodes/function/nodes/node_fn_align_euler_to_vector.cc
index 4c741c96bb8..ae41cdfca5a 100644
--- a/source/blender/nodes/function/nodes/node_fn_align_euler_to_vector.cc
+++ b/source/blender/nodes/function/nodes/node_fn_align_euler_to_vector.cc
@@ -57,6 +57,7 @@ static void align_rotations_auto_pivot(IndexMask mask,
const float3 vector = vectors[i];
if (is_zero_v3(vector)) {
output_rotations[i] = input_rotations[i];
+ continue;
}
float old_rotation[3][3];
@@ -106,10 +107,12 @@ static void align_rotations_fixed_pivot(IndexMask mask,
if (local_main_axis == local_pivot_axis) {
/* Can't compute any meaningful rotation angle in this case. */
output_rotations[i] = input_rotations[i];
+ continue;
}
const float3 vector = vectors[i];
if (is_zero_v3(vector)) {
+ output_rotations[i] = input_rotations[i];
continue;
}
@@ -182,7 +185,7 @@ class MF_AlignEulerToVector : public fn::MultiFunction {
}
else {
float3 local_pivot_axis = {0.0f, 0.0f, 0.0f};
- local_pivot_axis[main_axis_mode_] = 1;
+ local_pivot_axis[pivot_axis_mode_ - 1] = 1;
align_rotations_fixed_pivot(mask,
input_rotations,
vectors,