Skip to main content
DamageJack
Participant
September 28, 2016
Answered

Expression to constrain Bezier Warp in one dimension at a time

  • September 28, 2016
  • 2 replies
  • 528 views

!Hi all,

In a Bezier Warp, I'd like to ensure that the Top Left Tangent maintains its Y position relative to the Top Left Vertex, while the X dimension is constrained to the Top Left Vertex's X dimension minus a certain amount. The idea is to keep intact the contents of the footage being warped.

To be more clear, it'd look like this in longhand.

Bezier Warp

Top Left Vertex:    x=0,y=0

Top Left Tangent    ('Top Left Vertex - 463.2,' 'Top Left Vertex')

Pickwhipping them in the simple way constrains both dimensions, not good.

Thanks in advance

Richard aka 'govinda' from olden days

This topic has been closed for replies.
Correct answer Dan Ebberts

This might be what you're asking for--I'm not sure:

tlv = effect("Bezier Warp")("Top Left Vertex");

[tlv[0]-463.2, tlv[1]]

Dan

2 replies

Dan Ebberts
Community Expert
Dan EbbertsCommunity ExpertCorrect answer
Community Expert
September 28, 2016

This might be what you're asking for--I'm not sure:

tlv = effect("Bezier Warp")("Top Left Vertex");

[tlv[0]-463.2, tlv[1]]

Dan

DamageJack
Participant
September 28, 2016

Why yes, that is precisely what I asked for. Knowing a little more coding now, I see you've created a custom variable and populated it, so applying it to other tangents would mean doing the same (i.e., trv, blv, brv). So that's that. Now let's see how it works in practice. Thanks so much for 15 years of generous answers, Dan.

DamageJack
Participant
September 28, 2016

Same thing, with slider control for the x value. I'll be darned, it worked.

With a null named 'control':

tlv = effect("Bezier Warp")("Top Left Vertex");

[tlv[0]+thisComp.layer("control").effect("Slider Control")("Slider"), tlv[1]]

DamageJack
Participant
September 28, 2016

I accidentally clicked on 'assumed answered.' Not answered, and I don't know how to undo this.