2-point tracking: constraint “Stretch To” keep proportion of bone?

I am trying to edit clips. I wanted to replace a something on the clip with a plane, so i was using an armature with a bone.

The armature is parented with one tracker and the bone end point is constraint to the other tracker via StretchTo. Also I set “maintain volume” to none in the constraint.

My problem is that i want the bone to keep the propotion xyz when the distance between trackers change (right now only the y dimension is changing), any ideas of how to do this or what i am doing wrong?

Thanks for your time

https://drive.google.com/file/d/1DqfYMyXNm0L7-HcyflEBv7A667k52uTb/view?usp=sharing

Your bone and the mesh plane you are deforming are not perfectly aligned. So it scales only along the y-axis of the bone but because they don’t align it looks like it skews. Also I strongly recommend you not to use empties but do everything with bones inside the rig. Just make certain to uncheck deform on bones that you use as helpers/empties.

1 Like

Indeed its not perfectly aligned, so it skews. But even if i perfectly align it, the x-axis won’t rescale (which is what i am looking for).

Since i am recently started, you mean empties cuz i parented the armature to track.001? if not i am clueless why i am using an empty. I did it cuz i am trying to match the 2 markers (dunno if there is a better way, remember i am trying to edit a clip which images zoom in and out yet the pattern is the same but bigger or smaller so the plane must track the scale too)

Thanks for the tips

i ran into this problem before. the semi-frustrating solution i found was to make a duplicate bone that first copies the transforms of the stretch-to bone, and additionally has a copy scale constraint afterwards that only grabs the y-scale from the stretch-to bone. this constraint has a “make uniform” option that will give you the uniform scaling you want. however there’s one last step. despite only copying the y-value, it still averages the other two unscaled axes to come up with this uniform scale. to correct for it, set the “power” to 3, which compensates for the other two axes.

2 Likes

@shteeve just beat me to it. :sweat_smile: Indeed that was the solution I came to as well. It feels rather “roundaboutish” but I couldn’t find a cleaner way either. :slight_smile:

image

Here is the blend with it working: https://pasteall.org/blend/4e5f9fc4eac849ee9646e9ddd42e1a28

1 Like