Page MenuHome

'Transformation' constraint property between two objects does not work if the "Target" object is being evaluated in "Local" space
Confirmed, NormalPublicBUG

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: Radeon (TM) RX 480 Graphics ATI Technologies Inc. 4.5.14760 Core Profile Context 20.45.37.01 27.20.14537.1000

Blender Version
Broken: version: 2.93.0 Alpha, branch: master, commit date: 2021-03-02 07:40, hash: rBc4ef90f5a0b1
Worked: 2.79

Short description of error
When adding the "Transformation" constraint property between two objects, If the "Target" object is being evaluated in the "Local" space, only the location -> rotation combination will have any results.
Also, in this case, for the rotation-> rotation combination to have any effect, it is necessary to add a parent object to the "Target".

Exact steps for others to reproduce the error

  • Open attached file
  • With the object named "Cube.001" selected, Change the constraint "Map From" to rotation
  • Select the object named "Cube" (i is the Target)
  • Rotate the object

Nothing happens. The object must have a parent.

Event Timeline

rB7728bfd4c45c: Constraints: remove special meaning of Local Space for parentless Objects.
rBf881162f81e5: Revert "Constraints: remove special meaning of Local Space for parentless…

It's not a bug, but is confusing. There is special handling of Local space for parentless objects. Effectively, the object's evaluated Local transform is relative to it's rotation. Thus, Local Rotation is always identity (1st video) and Local Location changes as you rotate the object (2nd video).

Weird

				Left side:			Right side:
					v2.82.7				v2.92.0
					rotation is good		rotation is bad
					parent line is good		parent line is weird

rotate the car 90°(z) ->

					loc y does not work		loc y works


All right.
Does not matter.
Next time I want to animate a car, I’m going to use the Rigacar addon.
Thank you!