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.
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.
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!
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!
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
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!
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.
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.
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?
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?
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..
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
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!!
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.
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
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
@@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.
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.
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.
God bless you; busy works soft has notNice tutorialng on tNice tutorials. I feel more comfortable from watcNice tutorialng tNice tutorials in mins than I have ever before.
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
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.
Thank you! Answered my question in an earlier video. What a champ!
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.
Jake is the MVP of AE RUclips tutorials.
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.
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!
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
This is so good I literally gasped! This series is GOLD!!!
Oh my god, this is one of the most useful video that i have watched in a long time. Thank you very much!
After Effects can be so counter-intuitive sometimes. Here I am once again several months later to get a refresher on this. Thanks, Jake!
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!
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
you 've just made me a better person !!!!!!!!!
Jake kicks ass again!
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.
Insanely smart and needed tutorial!
Holy moly, have never heard of it before! Thank you, Jake, you're the best!!!
Hey, thanks!
this one really hits the spot! Thanks!!!
Thanks for this! I can see this being super handy with expressions (even without effects), especially within text layers.
I love your teaching style..add some applied aspect also..its really helpful..
phew!!!! that was a lot to take in one go :D will have to come back to it again. Thank you so much!!!
Thank you Sir! TNice tutorials helps alot !
Thanks a lot,really helped me out!
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!
I've been annoyed by this issue for so long & trying to fix it with my feeble brain.. learned something super valuable today Thanks.
such a great fundamental to learn, thanks for sharing!
This is so absurdly helpful
They are really helpfull Jake! Keep them coming👐
Bruh…awesome video❤
Great content! I was just struggling with that in a project.
This is so informative~Thanks for the great content!
i finally made so good soft. thanks ❤
This is so much useful. Thanks a lot 🥳
It's working thanks my friend
Amazing tutorial. So helpful. Thank you
simply phenonal
Hi Jake, Great Tutorial Thank you.
Just a quick question, Why cant we use Layer style --> gradient overlay instead of the effects?
super clear ~! thank you so much !
amazing tutorial btw!!!
Great stuff!
Amazing thumbnail! Congrats
Works, thanks bro
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.
You're amazing!
I wish Adobe would just add some sort of toggle switch to change between comp space and layer space when adding an effect.
Agreed!
Nice tutorialiii
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.
Organization is a key to success
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?
A lifesaver!
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?
Great stuff
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.
Ive always wondered why they didnt offer a toggle switch for locking the points to the layer instead of the comp
THX。I still create a compound fragment🤣Hope the fewer layers the better
Thanks mate
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..
Okay explanation very nice but this method which situation we use is that IMP ?
Trapcode particular plugin tutorial sir plz
creative !!
good! thanks!
너무 재밌어용~ 감사합니다
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
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.
Thanx! Powerful!
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
Can i use this Tip somehow to move shapes ? using corners ? or create nulls from ...
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…
Great info! Then we've got shape layers who's 0,0 is at the middle of the layer...crazy!
How could I forget?
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!!
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.
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.
If I want to record voice over my , should I do tNice tutorials in soft soft as well?
Nice video
producer's version? I just want to make sure I get the right one for .
fix the shadows pleas i wanna see it :)
درس مفيد و جه في وقته😍😍
سعيد لأنك أحببته!
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
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
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.
you are my god from now on…..
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
My favourite space is work space.
Agreed
aweso Video!!! tNice tutorials helpped a lot
5 seconds before you said thats a bit boring I was like dude thats sick
anyone know whats the ending music?
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.
TOP
The basics for anyone. Definitely putting tNice tutorials in my notes.
life is life la laa - la la la bruh
Where your part2 video???
Ačiū!
God bless you; busy works soft has notNice tutorialng on tNice tutorials. I feel more comfortable from watcNice tutorialng tNice tutorials in mins than I have ever before.