Maniphest T27886

Transform constraint maps wrongly with negative scale
Closed, Resolved

Assigned To
Joshua Leung (aligorith)
Authored By
Anna Celarek (ania)
Jul 6 2011, 9:42 PM
Tags
  • Animation & Rigging
  • BF Blender
Subscribers
Anna Celarek (ania)
Joshua Leung (aligorith)

Description

svn 38162M

Open the attached file.
There are two bones.
Y scale of the green bone is controlled through a Transform constraint with the grey bone as source.

Mapping is as follows:
Source range -1 to 1 maps to destination 0 to 2
so theoretically, scale should be mapped like this:
(grey bone source -> green bone destination)
-1 -> 0
0 -> 1
1 -> 2
actually, it maps like this
-1 -> 2
0 -> 1
1 -> 2

So for the negative values, the absolute value is calculated before mapping, instead of a linear transformation as would be expected. It is not possible to use negative scaling of the source at all.

same problem occurs for all axes.

Event Timeline

Anna Celarek (ania) edited a custom field.Jul 6 2011, 9:42 PM
Anna Celarek (ania) attached 1 file(s): F17358: transform.blend.
Joshua Leung (aligorith) added a comment.Jun 11 2012, 7:06 AM

Applied a hack-fix in SVN which makes it possible to be able to detect this case.

However, due to the underlying maths, it is advised that you only try to do this with one scaling axis per bone only, since we cannot actually distinguish between scaling on the different axes.

Joshua Leung (aligorith) changed the task status from Unknown Status to Resolved.Jun 11 2012, 7:06 AM