Hey Jake, have you tried to use the point of the effect as argument of the toComp? It works much better also with rotations and scale no extra layers needed. thisLayer.toComp(effect("Gradient Ramp")("Start of Ramp")) thisLayer.toComp(effect("Gradient Ramp")("End of Ramp")) Anyway, I love your teaching style. Thanks for doing what you do!
To make it shorter, just use "toComp(value)" for Start and End of Ramp. It works like a charm as well with scale and rotation etc. (Also want to point out the issue arises when transformation is happening in shape groups controls. Layer transformations always work perfectly with these.)
Having watched some other tutorials on it, I gotta say you have a gift for teaching, I'm sure you put in a lot of effort into creating these videos but sometimes people who also put in the effort still can't explain well. You're perfect for creating these tutorials! God bless man! this is definitely not an easy topic to explain but you made it seem easy.
Hi Jake, I'm coming late to this party, but I think the solution to all the problems you mentioned (even scaling the font size) is to use the bounding box (top and bottom) coordinates in the toComp() function. Set both Start Of Ramp and End Of Ramp values to zero so you can use these values as a manual offset, if you need to. Then type these expressions into their corresponding properties. thisLayer.toComp([value[0], thisLayer.sourceRectAtTime().top + value[1]]); thisLayer.toComp([value[0], thisLayer.sourceRectAtTime().top + thisLayer.sourceRectAtTime().height + value[1]]); The gradient stays put if you move, rotate, scale the layer, even if you scale the font size. That’s it, no extra nulls needed. With a Colorama effect you could map all kinds of color to that black and white gradient ramp. PS. You tutorial on the sourceRectAtTime() helped me undestand the bounding box concept better. I've got a couple of AE videos uploaded to my channel. They mostly deal with the text engine and Expression Selectors.The sourceRectAtTime expression was crucial to generate dynamic bounding boxes for each individual line of text on a multi-line text layer. Have a look when you find some free time. Again, thank you!
For these ones I usually use the expression " toComp(value); ". While it doesn't work when I enlarge the text size, but it works with position, scale and rotation from the start, it's a bit more straightforward and without extra layers.
Jake. This video just revolutionized my current project. I've watched this before for general reference, but when I hit a wall with some positional behaviors acting up, I knew to come straight back here. Now I've broken down the elements of the expressions and have practical firsthand understanding of what is going on in my work thanks to your amazing channel. Cannot thank you enough!
Yet another brilliant tutorial. I was so frustrated about this problem while working with gradients on layers in a student project. I wound up precomposing a lot of stuff that I didn't have to in hindsight. This is going to really help me moving forward. Thanks again, Jake!
This is incredible! I can’t wait to combine it with other effects. I like how you added CC composite to open up even more possibilities. Are there similar combos of effects you use that stack together nicely? I’d love to see a video series of “perfect” effect stacks to get certain looks
OK, so a total noob here. I started using AE two weeks ago. And I am looking at this and thinking: what the ...? If this simple thing requires so much in depth knowledge and workaround will I be able to learn it, ever? Please tell me I am wrong! And thanks Jake for detailed, noob friendly explanations. I appreciate it!
We all started some time! I would suggest you focus on learning what you're interested in first, and once you start running into issues, search for solution videos like this one.
Although I generally really like your tutorials, I am sorry to say that I think this one makes things more complicated than they are, at least for me. At 06:47 I found this explanation very confusing. The toComp function is applied to a layer and not a propertyValue, and that has nothing to do with what you are applying the expression to. I also think it does not return a distance, but it just translates/maps a point from the layer space to the comp space. So however you move/rotate your layer, this expression will translate any point of it to comp space and will account for parents too. I know that you have it in your mind in a specific way that makes sense to you, but I really think distance is not the right word. Distance is not even an array, it is one number, no matter how many the dimensions. Anyhow, I love your work, you have helped me a lot in the past, thanks for your time!
I am confused with the space system :) Comp space origin is top-left, BUT it seems that layers anchor point origin is not always the center event for "single shape content" layers. For example if to create a shape layer on the top left quadrant its anchor point will be placed in the center of a...comp :) and if to center layer's anchor point to the layer itself, anchor point coordinates will be negative which is quite strange. In order to match anchor point to the center of a layer and have anchor point coordinate at [0, 0] layers content's center should be moved to the layer's anchor point..
I knew about this a long time ago, I just couldn't articulate the process as well as you did. Great job! Fewer precomps... Do you have the expression for stretchy type where the letter spacing and the word width doesn't change?
Hey Jake, How to work with 3d coordinates, while applying multiple 3d are effects to a 2d layer. I want them to interact to each other. for eg: cc ball action, element, trap code or any 3d aware effect for that matter. I know element has their own 3d space, but in general how do I deal with such circumstances. couldn't find much information out there.
Thank you for tNice tutorials video! I just got soft softs today, and even with the guidebook, I was lost. TNice tutorials video taught even better than
I'm having trouble with the expressions not working when I import the comp into another comp and collapse transformations, my changes don't seem to work there. Is there something simple I may be missing?
Is there a good overview video showing how AE works? I'm having the hardest time just understanding the fundamentals… There are so many aspects to the program, and it can do so much, but I find it terribly confusing and counter-intuitive. Full of little bugs/quirks and "features" like the one covered in this video…
This was great and exactly what I need for a comp I've been stuck on all week. My Start&End points for CC Bend It have the same issue. I tried the expressions and nothing worked. I'm still stuck. Do a vid for CC Bend It please!
@@JakeInMotion Man... I just tried it again now and it's working! I had a random keyframe leftover in Start/End which was causing the error. I deleted those keyframes and it worked. I also didn't realize that as soon as I added "+value" it sends the Start/End points off my comp and I had to zoom out to find them. Anyways, Thanks so much for replying and trying to help! Love how you're going through all of these mysterious effects as well! Thank You!!
many thanks. Many askects I never considered. But I am puzzled because I always though "continuously rasterize" was just a display quality thing that wouldnLt change logic. Does this mean that if I do something without continuoiusly rasterize, it may appear to work fin on screem, but when I do final render the logic will be different because it does the quivalent of continuously rasterizing?
hey whenever I rotate the object it changes the position so can it stick to one of the paths without the null thing because it always gets away from the original path, if you have any solution for the null problem, thanks
Jake, why can't I apply the same expression to the Linear wipe effect? The Linear Wipe Effect always considers the whole comp size and never the layer size. Is there any other way without having to preComp the layer?
Actually that's only true of vector layers. Any footage layer, like solids, still photos and videos, will work with the size of the layer. To get it to work that way with vector layers you can use the Power Pin Sandwich technique I show in another video.
So, Jake, when working on a project and you were applying a gradient to a vector layer would you always use this expression out of force of habit or like many others would you likely just precomp the layer instead and get on with your life? Also, do you use something like Kbar to quickly apply expressions like this or are you literally typing out manually for each start and end point on this gradient? Also, how effective is this expression when it gets wrapped into a more complicated comp. Can you get yourself into a corner when you end up breaking something?
I do use KBar to apply expression more quickly, but this one is dependent on the layer you want to reference, so I end up typing it out every time. It's really not a complicated expression to write, so it's just become natural for me. I would much rather use simple expressions to solve issues than precompose a layer that I'll have to jump into to make changes. Since the expression isn't affected by parenting, it doesn't really matter how complicated your comp is; it'll keep those point controls right where you left them.
@@JakeInMotion as always thank you for the well thought out response :) Here’s another question for you: when using puppet pin tool do you have a similar technique with shape layers or do you precomp those? I would imagine that would be a nightmare with all the position properties of each pin?
@@JakeInMotion THIS is my last question I swear! One issue with precomping shape layers is now you’ve essentially lost the vector aspect because you can’t continually rasterize when using puppet pin tool. So, I’ve been essentially making that precomp something like 2 or 4k if I need to scale it up. Do you have a better idea? Because man if my cpu didn’t already hate me…
Thank you! I tried now to use it, should it work with cc bend it too? If so, I probably did something wrong, because I have an error even though I wrote what you did
@@JakeInMotion For some reason my answer was not shown and only now did I notice. I put cc bend it on an object, on the bend I wrote thisComp.toComp ([0,0]), there is a yellow triangle and the error - thisComp.toComp ([0,0]) is not a function
@@JakeInMotion thank you! I did a mistake, I had to put it on the start and end, not on the bend, now it work!! thank you! you are the best love your content
e understand tNice tutorialngs in better depth. I didn't even realize i was just scratcNice tutorialng the surface with tNice tutorials DAW. I'm using soft and soft one and I
If you mean you want to leave the layer where it is but change the value to 0,0, then yes! Create a new null object, place it in the same position as the layer, parent the layer to the null, then lock and hide the null. The position is relative to its parent, so wherever the layers are when you parent them will become a value of 0,0 for the child layer. Duik has a one click "Add Zero" button that does exactly this for you automatically.
@@JakeInMotion ah, is it possible that the 50% discount is simply the standard annual offer on the website? Not sure why a special link is needed then.
It works until you precompose your text/shape layer and check "continuously rasterize" in the main comp. When i scale up my precomp (or move it, rotate it) it's like my expressions doesn't exist anymore, help :(
Yes, you're right. Continuously rasterizing reverts back to comp space and AE is unable to identify the position of the contents of that precomp. There's nothing I'm aware of that would fix this issue except applying the effects to the precomp instead of the contents of the precomp.
@@JakeInMotion Thank you for taking the time to answer me even if the problem is not solved. At least I know I'm not crazy ahah. I think that the easiest thing to do is to work with large vector files (scale them down as you need) then apply CC bend it and some "toComp" expressions AND NOT CHECK continuously rasterize.
Hey Jake, have you tried to use the point of the effect as argument of the toComp? It works much better also with rotations and scale no extra layers needed.
thisLayer.toComp(effect("Gradient Ramp")("Start of Ramp"))
thisLayer.toComp(effect("Gradient Ramp")("End of Ramp"))
Anyway, I love your teaching style. Thanks for doing what you do!
Never thought of that, great tip!
To make it shorter, just use "toComp(value)" for Start and End of Ramp.
It works like a charm as well with scale and rotation etc.
(Also want to point out the issue arises when transformation is happening in shape groups controls. Layer transformations always work perfectly with these.)
OH WOW.
Just moves funny if you rotate the text and try to manipulate the points of the effect
@@zohaibmalik819 wow good
Jake is the MVP of AE UA-cam tutorials.
Having watched some other tutorials on it, I gotta say you have a gift for teaching, I'm sure you put in a lot of effort into creating these videos but sometimes people who also put in the effort still can't explain well. You're perfect for creating these tutorials! God bless man!
this is definitely not an easy topic to explain but you made it seem easy.
Thank you! Answered my question in an earlier video. What a champ!
After Effects can be so counter-intuitive sometimes. Here I am once again several months later to get a refresher on this. Thanks, Jake!
Hi Jake, I'm coming late to this party, but I think the solution to all the problems you mentioned (even scaling the font size) is to use the bounding box (top and bottom) coordinates in the toComp() function. Set both Start Of Ramp and End Of Ramp values to zero so you can use these values as a manual offset, if you need to. Then type these expressions into their corresponding properties.
thisLayer.toComp([value[0], thisLayer.sourceRectAtTime().top + value[1]]);
thisLayer.toComp([value[0], thisLayer.sourceRectAtTime().top + thisLayer.sourceRectAtTime().height + value[1]]);
The gradient stays put if you move, rotate, scale the layer, even if you scale the font size. That’s it, no extra nulls needed. With a Colorama effect you could map all kinds of color to that black and white gradient ramp.
PS. You tutorial on the sourceRectAtTime() helped me undestand the bounding box concept better. I've got a couple of AE videos uploaded to my channel. They mostly deal with the text engine and Expression Selectors.The sourceRectAtTime expression was crucial to generate dynamic bounding boxes for each individual line of text on a multi-line text layer. Have a look when you find some free time. Again, thank you!
For these ones I usually use the expression " toComp(value); ".
While it doesn't work when I enlarge the text size, but it works with position, scale and rotation from the start, it's a bit more straightforward and without extra layers.
Jake. This video just revolutionized my current project. I've watched this before for general reference, but when I hit a wall with some positional behaviors acting up, I knew to come straight back here. Now I've broken down the elements of the expressions and have practical firsthand understanding of what is going on in my work thanks to your amazing channel. Cannot thank you enough!
Yet another brilliant tutorial. I was so frustrated about this problem while working with gradients on layers in a student project. I wound up precomposing a lot of stuff that I didn't have to in hindsight. This is going to really help me moving forward. Thanks again, Jake!
You have taught us some crazy things again. :D I dont want to deal with this chaos. Precomp the layer is life saving :d
I somewhat feel similarly but drowning in precomp inside of precomps is its own problem.
This is so good I literally gasped! This series is GOLD!!!
Thanks for being so thorough - really helps that you take the time to explain the "why" factor behind everything you're showing us how to do. Cheers
Oh my god, this is one of the most useful video that i have watched in a long time. Thank you very much!
you 've just made me a better person !!!!!!!!!
Jake kicks ass again!
Insanely smart and needed tutorial!
This is incredible! I can’t wait to combine it with other effects. I like how you added CC composite to open up even more possibilities. Are there similar combos of effects you use that stack together nicely? I’d love to see a video series of “perfect” effect stacks to get certain looks
I've been annoyed by this issue for so long & trying to fix it with my feeble brain.. learned something super valuable today Thanks.
Wow thank you so so much for this tutorial and all the careful explanation! It's so helpful to start better understanding complex things!
Huge Thanks for this, Jake! (Again) Happy as a Motion Grapher and a Human, for never stop learning, after 20 years of After!.
This is actually a very useful style of tutorials. Thanks and looking forward to the next one.
This is so absurdly helpful
this one really hits the spot! Thanks!!!
Holy moly, have never heard of it before! Thank you, Jake, you're the best!!!
Hey, thanks!
phew!!!! that was a lot to take in one go :D will have to come back to it again. Thank you so much!!!
I love your teaching style..add some applied aspect also..its really helpful..
Organization is a key to success
Thanks for this! I can see this being super handy with expressions (even without effects), especially within text layers.
Thank you Sir! TNice tutorials helps alot !
such a great fundamental to learn, thanks for sharing!
Thanks a lot,really helped me out!
It's working thanks my friend
Great content! I was just struggling with that in a project.
simply phenonal
Amazing tutorial. So helpful. Thank you
They are really helpfull Jake! Keep them coming👐
i finally made so good soft. thanks ❤
This is so much useful. Thanks a lot 🥳
Bruh…awesome video❤
This is so informative~Thanks for the great content!
Works, thanks bro
Amazing thumbnail! Congrats
OK, so a total noob here. I started using AE two weeks ago. And I am looking at this and thinking: what the ...? If this simple thing requires so much in depth knowledge and workaround will I be able to learn it, ever? Please tell me I am wrong!
And thanks Jake for detailed, noob friendly explanations. I appreciate it!
We all started some time! I would suggest you focus on learning what you're interested in first, and once you start running into issues, search for solution videos like this one.
super clear ~! thank you so much !
You're amazing!
Hi Jake, Great Tutorial Thank you.
Just a quick question, Why cant we use Layer style --> gradient overlay instead of the effects?
Great stuff!
amazing tutorial btw!!!
Merci pour ce tuto mais pour les dégradés tu peux utiliser le style de calque et mettre un dégradé et tu n'aura pas se problème.
Thanks mate
5 seconds before you said thats a bit boring I was like dude thats sick
I wish Adobe would just add some sort of toggle switch to change between comp space and layer space when adding an effect.
Agreed!
Ive always wondered why they didnt offer a toggle switch for locking the points to the layer instead of the comp
A lifesaver!
THX。I still create a compound fragment🤣Hope the fewer layers the better
Nice tutorialiii
Great stuff
good! thanks!
My favourite space is work space.
you are my god from now on…..
Trapcode particular plugin tutorial sir plz
Thanx! Powerful!
Although I generally really like your tutorials, I am sorry to say that I think this one makes things more complicated than they are, at least for me.
At 06:47 I found this explanation very confusing. The toComp function is applied to a layer and not a propertyValue, and that has nothing to do with what you are applying the expression to. I also think it does not return a distance, but it just translates/maps a point from the layer space to the comp space. So however you move/rotate your layer, this expression will translate any point of it to comp space and will account for parents too.
I know that you have it in your mind in a specific way that makes sense to you, but I really think distance is not the right word. Distance is not even an array, it is one number, no matter how many the dimensions.
Anyhow, I love your work, you have helped me a lot in the past, thanks for your time!
producer's version? I just want to make sure I get the right one for .
Agreed
creative !!
I am confused with the space system :) Comp space origin is top-left, BUT it seems that layers anchor point origin is not always the center event for "single shape content" layers. For example if to create a shape layer on the top left quadrant its anchor point will be placed in the center of a...comp :) and if to center layer's anchor point to the layer itself, anchor point coordinates will be negative which is quite strange. In order to match anchor point to the center of a layer and have anchor point coordinate at [0, 0] layers content's center should be moved to the layer's anchor point..
fix the shadows pleas i wanna see it :)
just a simple question......I wanna do a rap what should I focus the most on when I wanna edit or make a good soft?i would love to
I knew about this a long time ago, I just couldn't articulate the process as well as you did. Great job! Fewer precomps... Do you have the expression for stretchy type where the letter spacing and the word width doesn't change?
Okay explanation very nice but this method which situation we use is that IMP ?
Nice video
Great info! Then we've got shape layers who's 0,0 is at the middle of the layer...crazy!
How could I forget?
Hey Jake, How to work with 3d coordinates, while applying multiple 3d are effects to a 2d layer. I want them to interact to each other. for eg: cc ball action, element, trap code or any 3d aware effect for that matter. I know element has their own 3d space, but in general how do I deal with such circumstances. couldn't find much information out there.
Thank you for tNice tutorials video! I just got soft softs today, and even with the guidebook, I was lost. TNice tutorials video taught even better than
I'm having trouble with the expressions not working when I import the comp into another comp and collapse transformations, my changes don't seem to work there. Is there something simple I may be missing?
Is there a good overview video showing how AE works? I'm having the hardest time just understanding the fundamentals… There are so many aspects to the program, and it can do so much, but I find it terribly confusing and counter-intuitive. Full of little bugs/quirks and "features" like the one covered in this video…
This was great and exactly what I need for a comp I've been stuck on all week. My Start&End points for CC Bend It have the same issue. I tried the expressions and nothing worked. I'm still stuck. Do a vid for CC Bend It please!
Are you getting an expression error? This method should work on cc bend it, just like it did for gradient ramp in my example.
@@JakeInMotion Yes. I keep getting expression error warning
What exactly is the expression error?
@@JakeInMotion Man... I just tried it again now and it's working! I had a random keyframe leftover in Start/End which was causing the error. I deleted those keyframes and it worked. I also didn't realize that as soon as I added "+value" it sends the Start/End points off my comp and I had to zoom out to find them. Anyways, Thanks so much for replying and trying to help! Love how you're going through all of these mysterious effects as well! Thank You!!
Can i use this Tip somehow to move shapes ? using corners ? or create nulls from ...
너무 재밌어용~ 감사합니다
many thanks. Many askects I never considered.
But I am puzzled because I always though "continuously rasterize" was just a display quality thing that wouldnLt change logic.
Does this mean that if I do something without continuoiusly rasterize, it may appear to work fin on screem, but when I do final render the logic will be different because it does the quivalent of continuously rasterizing?
Only if you enable the continuously rasterize switch before rendering. Without it enabled, AE just looks at that layer as fixed pixels.
oop recording, pressed the record
When using the expression, the ramp effect disappears altogether. And the regulator markers disappear.
If I want to record voice over my , should I do tNice tutorials in soft soft as well?
درس مفيد و جه في وقته😍😍
سعيد لأنك أحببته!
hey whenever I rotate the object it changes the position so can it stick to one of the paths without the null thing because it always gets away from the original path, if you have any solution for the null problem, thanks
The basics for anyone. Definitely putting tNice tutorials in my notes.
Where can I buy the plugin to get a little Jake in the corner that explains After Effects?
It's currently only in alpha. I'll let you know when the public beta is available.
Jake, why can't I apply the same expression to the Linear wipe effect? The Linear Wipe Effect always considers the whole comp size and never the layer size. Is there any other way without having to preComp the layer?
Actually that's only true of vector layers. Any footage layer, like solids, still photos and videos, will work with the size of the layer. To get it to work that way with vector layers you can use the Power Pin Sandwich technique I show in another video.
So, Jake, when working on a project and you were applying a gradient to a vector layer would you always use this expression out of force of habit or like many others would you likely just precomp the layer instead and get on with your life? Also, do you use something like Kbar to quickly apply expressions like this or are you literally typing out manually for each start and end point on this gradient? Also, how effective is this expression when it gets wrapped into a more complicated comp. Can you get yourself into a corner when you end up breaking something?
I do use KBar to apply expression more quickly, but this one is dependent on the layer you want to reference, so I end up typing it out every time. It's really not a complicated expression to write, so it's just become natural for me. I would much rather use simple expressions to solve issues than precompose a layer that I'll have to jump into to make changes. Since the expression isn't affected by parenting, it doesn't really matter how complicated your comp is; it'll keep those point controls right where you left them.
@@JakeInMotion as always thank you for the well thought out response :)
Here’s another question for you: when using puppet pin tool do you have a similar technique with shape layers or do you precomp those? I would imagine that would be a nightmare with all the position properties of each pin?
@@galaga00 I always precompose shape layers before using puppet pins. Such a nightmare.
@@JakeInMotion THIS is my last question I swear!
One issue with precomping shape layers is now you’ve essentially lost the vector aspect because you can’t continually rasterize when using puppet pin tool. So, I’ve been essentially making that precomp something like 2 or 4k if I need to scale it up.
Do you have a better idea? Because man if my cpu didn’t already hate me…
@@galaga00 that's how I work too. It's not uncommon for my comp to be 6000x6000.
Thank you! I tried now to use it, should it work with cc bend it too? If so, I probably did something wrong, because I have an error even though I wrote what you did
It does. What is the error?
@@JakeInMotion
For some reason my answer was not shown and only now did I notice.
I put cc bend it on an object, on the bend I wrote thisComp.toComp ([0,0]),
there is a yellow triangle and the error - thisComp.toComp ([0,0]) is not a function
Ah, yes, you don't need to write "thisComp". Just put "value+toComp([0,0]);" in and it will work.
@@JakeInMotion
thank you!
I did a mistake, I had to put it on the start and end, not on the bend, now it work!! thank you!
you are the best
love your content
Hi, Jake. After I Precomposed layer with Set Matte Effects it is broken, is this expression can help to solve it?
Can you explain your setup a bit more? I don't really know why it would break without knowing what you're trying to achieve.
@@JakeInMotion I sent you an email
e understand tNice tutorialngs in better depth. I didn't even realize i was just scratcNice tutorialng the surface with tNice tutorials DAW. I'm using soft and soft one and I
hi jake!! do you know any easy ways to just zero out layers, somehow?
If you mean you want to leave the layer where it is but change the value to 0,0, then yes! Create a new null object, place it in the same position as the layer, parent the layer to the null, then lock and hide the null. The position is relative to its parent, so wherever the layers are when you parent them will become a value of 0,0 for the child layer. Duik has a one click "Add Zero" button that does exactly this for you automatically.
@@JakeInMotion maybe you will make next lesson about Duik) You are really good teacher, thanks for your job
Hey man, i'd like to sign up for envato elements - but the page your link takes me to is just the normal pricing page...
Oh no! I'll look into this and get back to you as soon as I can.
@@JakeInMotion ah, is it possible that the 50% discount is simply the standard annual offer on the website? Not sure why a special link is needed then.
I suppose so, though I was under the impression that the link they gave me would be a discounted rate. I'm waiting to hear back, but you may be right.
Where your part2 video???
life is life la laa - la la la bruh
anyone know whats the ending music?
aweso Video!!! tNice tutorials helpped a lot
It works until you precompose your text/shape layer and check "continuously rasterize" in the main comp. When i scale up my precomp (or move it, rotate it) it's like my expressions doesn't exist anymore, help :(
Yes, you're right. Continuously rasterizing reverts back to comp space and AE is unable to identify the position of the contents of that precomp. There's nothing I'm aware of that would fix this issue except applying the effects to the precomp instead of the contents of the precomp.
@@JakeInMotion Thank you for taking the time to answer me even if the problem is not solved. At least I know I'm not crazy ahah. I think that the easiest thing to do is to work with large vector files (scale them down as you need) then apply CC bend it and some "toComp" expressions AND NOT CHECK continuously rasterize.
Agreed. I think you'll find it renders more quickly this way.