It's possible to link two ducks together so that when one moves, the other moves with it. This is done automatically when you create an outline and region at the same time in the bline tool; each of the individual vertices in the resulting outline is linked to the corresponding vertex in the region. This allows you to move the outline around and have the region it surrounds automatically move with it.
To link some ducks together, select them by selecting their layer(s) and dragging a box around them, or by holding the control key and toggling individual ducks on, then right-click on one of the selected ducks and select 'link' from the context menu.
All of the selected ducks must be of the same basic type. You can't link a real value to a vector value. You can usually link a vertex to a tangent if you like, because they are both vector values. I'm not sure it makes much sense to do so, however.
- After writing this, I tried linking a circle's radius (a real value) to its centre (a vector). The link worked just fine... Is this a bug? It is still possible to adjust either duck, but they both just move the circle. Editing the radius in the params dialog lets me adjust the position and radius independently.
Which Duck Moves and Which Stays Still?
So you've selected a bunch of ducks, right clicked to bring up the menu and clicked 'link'. Which of the ducks' positions is used as the new shared position?
It works like this:
- If any of the ducks are an exported value:
- If all the ducks which are an exported value are the same exported value, then that value is used.
- Otherwise it's an error; linking isn't allowed to change an exported value.
- Otherwise, none of the ducks are an exported value. If any of the ducks are referenced more than the others, then one of those is used. What does 'referenced' mean? I've no idea. I've never seen it happen.
- If it's still not decided which one to use, and some of the ducks are animated and others are constant values, then one of the animated ones will be used.
- After that, if two or more ducks are animated, the one with the most waypoints gets priority.
- If it's still not decided, then the one which was least recently modified will get priority. (That's not actually true yet, but it will be soon. Suppose you have two ducks which are equal in every way - how do you decide which one stays still? You move one of them. Which one don't you mind moving? The one that's not going to keep its position anyway. You might not want to disturb the position of the duck that is going to finish up 'winning').