Page MenuHome

Applying transform to a parent mesh with a child node using quaternions visibly changes rotation of child
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Linux and MacOs (Darwin-18.7.0-x86_64-i386-64bit) tested
Graphics card: AMD Radeon Pro 570

Blender Version
Broken: Blender 2.8, 2.81a, 2.82 Alpha 2020-01-06
Worked: 2.79b

Short description of error
When a child mesh node uses Quaternions and a rotation gets applied to its parent mesh, the child node receives a rotation that changes its appearance.
The "Apply" operation though should keep the appearances exactly as they are.

For this issue to reproduce it doesn’t even matter if you apply Location, Rotation or Scale to the Parent mesh, as long as it has a rotation and its child uses quaternions.
It was working fine in Blender 2.79b.

Exact steps for others to reproduce the error

  1. Create two cubes and parent one to the other
  2. Set the rotation mode of the CHILD node to Quaternions (without any rotation)
  3. Rotate the PARENT node to e.g. 45° on the z axis or any other random rotation. The rotation mode of the parent (Euler, Quaternion) doesn’t matter
  4. Select the PARENT cube and press Ctrl+A to apply either Location, Rotation, Scale or all of them.
  5. Result: The child node gets an unwanted visible rotation. "Apply" should keep the visual state of meshes resp. child nodes.

Illustration

To reproduce you can also use the attached .blend file and apply a transform to the parent mesh node.