Duck's Behavior :?:

Hi again, i was playing with Synfig exploring some features i haven’t touched before, today i discovered what ‘link’ option can do and i’m very pleased, it can save some ‘encapsulate’ layers and also speed up the shape modification for animations, of course at this point i tried linking ducks with ducks and origins with origins but that wasn’t enough for me, i’m making a character which will be of use as template for other characters for the same project, i didn’t liked at all the idea of hierarchy or encapsulate one part inside other (i.e. the shoe being child of ‘leg’ parent) so i linked a duck (arm) with an origin (hand) and the result wasn’t bad at all ‘it’ worked’ as i expected it would work, ‘but’ with unexpected side effects, if you look at the project attached in this post handright.sifz (1.54 KB), you’ll notice that moving the ‘hand-l’ layer will also move the arm duck that is linked on it, this is pretty handful for animation, you can move the hand and the arm will react and with minor adjusts you can have instant poses =)
but…
=(
this only by fixing the actual position of the arm’s origin to X0, Y0, if you move the origin in any other direction the arm will move but the hand does not, (this might be because the hand is linked to movement of ‘vertex 2’ rater than arm’s ‘origin’, as it is only linking and no hierarchy the movement of linked parts is unpredictable) despite i made this on my mind, i have the impression that it is possible to move, or at least fix the arm’s origin so it can be placed in any other coord without the hand being misplaced, also, notice that after moving the arm’s origin the vertex 2 can still control the hand layer and viceversa.

i don’t quite understand why the ducks and origins behave like this, i’m pretty sure that coords x0,y0 are very important for they somehow, at simple sight there’s no explanation at all for me, i tried converting ‘vector’ linking in other kind of values, no of use (yet), also i reproduced the process with the leg and foot footure.sifz (2.02 KB), but this time the result wasn’t so pleasant, and plus now i got the ‘focus point’ active (which i don’t know yet what it does, i never noticed it till today) so, i’m wonder if this is a ‘natural’ or ‘common’ issue when duck are linked with origins, have someone tried this so far (i hope so, because all this result pretty interesting)

The thing that you want to do needs a vector composition thing.
Let’s say the arm layer has an origin and two vertexes (shoulder and twist). The values that the shoulder vertex and twist vertex have are relative to its origin, and so, the twist global position is obtained from the arm origin position (global) plus the relative position of the twits from its origin.

If you want the hand origin to be placed on the same global position than the twist you have to calculate the real position by a sum of vectors:
Origin_hand = Origin_arm + vertex_twist

In this way you have to Convert the hand origin to a Sum and connect the subparameters to the exported origin arm and vertex twist.

Recipe:

  1. Select the Vertex twist form the arm layer parameter list. Right click > Export. Name as “twist”
  2. Select the Origin of the arm and right click > Export. Name as “arm_origin”. You can find both exported value nodes at the Child panel.
  3. Select the Hand origin from the encapsulated layer and right click > Convert > Sum. It will provide two subparameters. Expand them by clicking on the small triangle. They are called LHS and RHS.
  4. Go to Child panel and select “twist”. Go to Hand parameters and right click over the recently created LHS > Connect.
  5. Repeat 4 with “arm_origin” and RHS.

Now you can modify the arm’s origin and the twist and the hand will react correctly. Unfortunately the hand’s origin becomes grey (not directly editable) because Synfig Studio doesnt’ know which summand should modify when the sum result is modified.

Here are the modified files.
-G
handright-2.sifz (1.58 KB)
footure-2.sifz (2 KB)

Amazing, doesn’t matter at all if the hand becomes gray (no direct manipulation) that’s why it is inside a capsule layer, inside of it it’s perfectly editable, i have to try this in other forms like chain (somehow), i’m very grateful for your help thanks =)

You’re welcome :slight_smile:
BTW, your avatar looks pretty cool. Did you use Synfig to create it?
-G

yep, i’ve made lot’s of tiny animations, things that does not require to much work or higher knowledge, more for practice than with any real purpose, unfortunately the quality downs at scaling them, i exported 12 pngs from Synfig and used GIMP to make my avatar