FORUMS: list search recent posts

# Position changes rotation expression

FAQ   •   VIEW ALL
 Position changes rotation expression on Nov 18, 2014 at 10:52:51 am

Dear Cow-Forum,

I have a very simple character that needs a certain expression that I just can't seem to figure out.
The main idea is that I want the Y-position of a certain layer to influence the rotation of another layer.

To kind of explain the situation : I have a character that jumps up and down. (So just 'bounces' on the y position)
I have a few separate layers which are the hairs of the character. (It's a round, fluffy type of character)
I have the hair layers parented to the main body, and I would like these to slightly rotate when the character moves up and down. If it would be just 1 shot I could obviously do that manually, but the character bounces around quite a lot so I think that an expression would work the best in this situation.

So it would be a kind of expression saying : If Position-value of 'Layer1' decreases rotate this layer X degrees. If position-value of Layer1 increases rotate this layer X degrees.

I hope anyone could point me in the right direction here.
Many thanks!

WickieMedia.net

 Re: Position changes rotation expressionon Nov 18, 2014 at 3:55:55 pm

To get this to work, you need to know what the Y-val of your character would be on the ground as well as when he's in the air. Additionally, you need to know what rotation vals you want those states to correspond to. Once you have those 4 values, it's a very simple expression to link the two. For instance you could put this expression on your hair layer's rotate property.

This expression, in simple terms, basically says as yPosition goes from 0 to 100, rotation goes from 0 to 60.

Hope it helps!

```//get the jumping layer var jump = thisComp.layer("jump_control").transform.position[1]; //get values var groundY = 0; //the value of your character on the ground var jumpY = 100; //the value of your character in the air var groundRotate = 0; //the hair rotation on the ground var jumpRotate = 60; //the hair rotation in the air //use linear() to match these values linear(jump, groundY, jumpY, groundRotate, jumpRotate);```

 Re: Position changes rotation expressionon Nov 20, 2014 at 7:12:23 pm

Worked like a charm!

Thanks a lot!

WickieMedia.net