Input Shapes - Transforms
Intro
The Duplicator ignores the transform information of a parent Shape that's connected as an Input Shape. This is by design to prevent confusing offsets that could/ would otherwise occur.
Details
In order to avoid the confusion that could be caused by Shapes not appearing at their expected place when part of a Duplicator, the transform information of an Input Shape is ignored. 'Transform information' includes the Position, Rotation, Scale, Skew and Pivot attributes of any Shape.
In the situation where a Shape with a Position of 100,100
is connected as the Input Shape of a Duplicator, that position will be ignored and reset to 0,0
. The result is that each duplicate is placed at the same position of each distributed point rather than offset by its 100,100
position. This is designed to prevent any confusion that might be introduced by adding offsets accidentally.
This only applies to the parent Shape, the transform information of any of the Shape's children will be respected. This idea can be used to override the built in functionality via hierarchies. In the example below, the Group is connected as the Input Shape of the Duplicator and the Shape is a child of the Group. In this scenario the Shape's Position of 100,100
will be passed through which results in each duplicate being offset from the Duplicator's points by that amount. The Group remains at 0,0 but the Shape's position within the Group is respected.
- Group (transform ignored)
- Shape (transform respected)
![](/assets/images/dup-transform-8b6daada14549de055679f3b910a366c.png)
This technique can also be used to pass any transform animation through to the Duplicator. By adding an animating Shape to a Group and then adding that Group to a Duplicator, the Group will be positioned on a point and the Shape will then move around within the Group.
![](/assets/images/dup-transform-animated-3fcd491f30887152ae94cf8e2f6b6116.gif)