Copy link to clipboard
Copied
I am doing an intro title sequence for someone.
It consists of about three separate scrolling credits. The scroll from bottom to top.
I have done the text in Photoshop and imported it into AE.
My problem is the text appears jerky as it scrolls up.
Is there anyway to get AE to give me the smoothest scroll possible ?
Copy link to clipboard
Copied
Here's a page with some explanation and tips regarding vertically scrolling text:
"Best practices for creating text and vector graphics for video"
Tell us much more about your computer, software, and composition---as well as excatly what you mean by "jerky".
In general, the more information you give, the better we can help. What version of After Effects? Have you installed the recent updates? What operating system? What kind(s) of source footage? Are you rendering with OpenGL? Does the problem only happen with your final output, or does it happen with RAM preview? Are you using Render Multiple Frames Simultaneously multiprocessing? Are you using fields/interlacing or just progressive?
Copy link to clipboard
Copied
Because of the interaction between frame rate and motion it's critical that your title roll move an whole number of pixels per frame. IOW, 1 pixel per frame or 2 pixels per frame, and not 2.64 pixels per frame. Interlaced video add must at an even number of pixels per frame.
This is easily accomplished with an expression. The following will give you speeds that will be smooth. Any other speed will give you a stroboscopic effect where the titles appear to jerk around or thin edges will vary in height.
t = time;
fr = t/thisComp.frameDuration;
x = value [0];
s = 4; //Speed in pixels per frame
[x, fr*s]
You may still experience some juddering if the display's refresh rate isn't the same as the frame rate. Using this expression you can be sure that your credit roll with have accurately placed type.
There may still be issues with retinal retention frame rates and other factors at high scroll speeds. The solution there is to increase the frame rate of your title roll comp, render it, then time remap with frame blending. Perfect rolling titles at high speeds are not a walk in the park. Rolling titles at a speed of up to about 4 pixels per frame are fairly straight forward.
Copy link to clipboard
Copied
Hi Rick, Trying to sus out this expression. for "X" what value would you use,
Many thanks,
Rob
Copy link to clipboard
Copied
The value in X is just whatever value the layer already has. You'd just put it where you want it on the x and let the expression move it up.
Copy link to clipboard
Copied
the x = value[0]; is not asking for a variable. You just drag your layer to the appropriate position to start your scroll. All you should have to do is to apply the expression, move down the timeline a few frames and position the layer so the text starts rolling (scrolling is horizontal, rolling is vertical) where you want it to start rolling from. Simple as that.
Copy link to clipboard
Copied
Is there an easy way to apply this script to make a layer scroll horizontally?
Copy link to clipboard
Copied
It isn't necessary in most cases -- Judder is a bigger issue in horizontal motion.
It happens when a selected horizontal speed is just the wrong thing for the frame rate, and ot happens more often at lower frame rates like 23.976.
Rick Gerard has an excellent good discussion on judder plus steps to solve the problem on this web site; unfortunately, I can't put my finger on it. Perhaps he'll chime in with a link.
Copy link to clipboard
Copied
Thanks! I have been working in a 29.97 frame rate, and currently have my speed set to 59.94, which I am about to change to 119.88. I have the text flicker figured out, but was hoping to solve the stutter. I was hoping that the scripts people have been posting would solve the problem. They are all limitied to a scroll, I was hoping a simple fix would make them applicable to a crawl. Thanks for your input, been reading it all over the cow as well.
Copy link to clipboard
Copied
If you are using the expression that I posted above all you do is set the speed to a whole number. DO NOT USE fractions.
The stutter your talking about can be caused by a bunch of factors. There's something called a seven second rule and a bunch of other info available HERE. Read both articles in this FAQ.
To change the expression to scroll horizontally just flip the values to the other parts of the array.
Expression for horizontal movement instead of vertical:
t = time;
fr = t/thisComp.frameDuration;
y = value [1];
s = 4; //Speed in pixels per frame must be a whole number
x = value[0] - (fr * s);
[x, y]
This expression gives you a little more freedom because you can position the layer anywhere you like in the comp and it will start crawling right to left.
To change the direction simply change the minus sign in the x method to a plus. To change this expression to a roll swithch the methods for x and y so Y is modified by time.
Let me explain the expression. the value[0] and value[1] declarations simply call up the original values of X and Y. The math is simple. We take time and divide it by duration of a single frame to give us a frame count in whole numbers. Then we subtract the frame number multiplied by the number of pixels we want to move from the original position. It's easy as pie.
I hope this helps.
Judder can be caused by an interaction with the refresh rate of your screen and the frame rate, from the frame rate and the movement, or from playback errors using mpeg compression. It's a bugger for some motion. Horizontal and vertical movement of hard edges like you get from text can be extremely problematic.
Copy link to clipboard
Copied
I used this expression but it's only let me roll the credit down while I need to go up. Can you tell me how to reverse the direction in the expression? Thanks.
Copy link to clipboard
Copied
put a minus sign in front of the speed. IOW s = -4
The expression above is for a scroll, left to right. For a roll use this.
t = time;
fr = t/thisComp.frameDuration;
x = value [0];
s = 4; //Speed in pixels per frame must be a whole number
y = value[1] - (fr * s);
[x, y]
This will give you a bottom to top crdit roll
Copy link to clipboard
Copied
Perfect thank you. What if I need to change the speed? Would I just change the S value and would that still retain a smooth roll? And will this expression work with both 29.97 and 23.98?
Copy link to clipboard
Copied
It'll work in both frame rates. You can change the speed, but the faster the value the chunkier it will look. You will have to play with it and find what you think is acceptable. I've found that a little blur helps at faster speeds. Also make sure to keep your speed in whole values.
Copy link to clipboard
Copied
There may still be issues with retinal retention frame rates and other factors at high scroll speeds. The solution there is to increase the frame rate of your title roll comp, render it, then time remap with frame blending.
That method doesn't seam to work, the animation still isn't smooth.
My final delivery destination is Vimeo, 1280 x 720, H.264, 30 fps
I've read the Vimeo compression guide lines here: http://vimeo.com/help/compression
And watched a Vimeo compression tutorial specific for After Effects here: http://vimeo.com/help/faq/uploading-to-vimeo/compression-tutorials#adobe-after-effects-cs5
1. New comp: 1280 x 720, 60fps
2) Created a 100 pixel circle with a 8 pixel stroke. I have the circle moving only about a quarter the way across the screen.
3) Position expression:
t = time;
fr = t/thisComp.frameDuration;
y = value [1];
s = -14;
x = value[0] - (fr * s);
[x, y]
4) Rendered to uncompressed AVI, Best Settings, 60 fps
5) Created new project and imported the AVI.
6) Time -> Time Stretch... 200%
7) Render to Quicktime, Format Options-> Video Codec = H.264, Quality = 100%, Keyframes every 30 frames, Limit data rate to 10,000 kbps
Copy link to clipboard
Copied
This is extremely helpful, thanks Rick.
Copy link to clipboard
Copied
A quick way to create a decent credit roll at a constant desired speed is to use the preset called "drift over time"
Copy link to clipboard
Copied
An unfortunate part of the automatic presets for credit rolls and scrolls that come with AE is that the. presets are not tied to the frame rate so you can end up with Judder very easily. I have not checked them in a while because I have my own presets that I use and I'm working from an iPad today so I can't check now. If there is not some language in the expression containgin "frameDuration" or "timeToFrames" then you still have to be careful to avoid judder and fluttering edges and you need to make sure that the layer move at exact number whole number multiple of pixels per frame.
If you don't know anything about expressions just observe the position and or anchor point values as you move the CTI and make sure there are no fractional values. This is extremely critical if you have small fonts against a dark or highly saturated background color. Thin horizontal and vertical lines go nuts when they move if they do not stay presciently lined up against the pixel grid. Compression just makes the problem worse.
Another quick check is to set the Magnifiication factor of the Comp to 800% or more and step through the animation a frame at a time. When I'm choosing a font for a roll or scroll I always type in a couple of lines and then carefully adjust the keening and leading to make sure the tops of the T's and the sides of the H's are as close to the pixel grid. As I can get them. It only takes a moment to get things properly set up, then, after you have everything set you can make an animation preset that will save you time in the future.
Copy link to clipboard
Copied
In addition to Todd's questions and Rick's information, I have more diagnostic questions:
Where are you seeing this: viewing a RAM Preview or viewing the rendered file?
If RAM Previewing, what frame rate do you see in the Info pane?
What's the codec of the rendered file?
What are you using to view the rendered file?
Do you have the rendered file on a single hard drive or a RAID?
It could also be that you just won't be able to get a silky-smooth credit roll if you're working at 23.976 fps -- that's a pretty low frame rate, and what do you need for nice, smooth motion? A higher frame rate, like 59.94.
Copy link to clipboard
Copied
Mr Bansaw,
If it's going to be used for broadcast video, I've always noticed that rendering scrolling text to fields instead of to frames produces smooth motion. Give that a try.
Copy link to clipboard
Copied
Doesn't help at all just because of the fact that Ae ist never getting that accomplished as any NLE does with any simple text generator or text editor. Even iMovie or Magix Video Crap Video Editor create smooth rolling credits.
Also creating a horizontal scroll (ticker) is quiet impossible with Ae without making you freak out.
Bravo
Copy link to clipboard
Copied
craulmedia wrote:
...Even iMovie or Magix Video Crap Video Editor create smooth rolling credits.... creating a horizontal scroll (ticker) is quiet impossible with Ae without making you freak out.
Bravo
Yeah, never mind that credits for big Hollywood movies are made in AE all the time. Nobody's twisting your arm to use After Effects, you know.
Copy link to clipboard
Copied
Thanks everyone for your input. Appreciate it.
For the sake of time I am just doign fade-in, out credits.
I will look into teh AE scroll issue next time. I'm sure AE can do it well.
Copy link to clipboard
Copied
'Crap' video editors use predefined speeds and output interlaced, both of which can be screwed up in AE if you don't understand what you're doing. Even those can be screwed up.
Copy link to clipboard
Copied
I keep referring back to this post for the script and decided to expand on it a little:
t = time;
fr = t/thisComp.frameDuration;
x = value[0];
s = 4; //Speed in pixels per frame must be a whole number
inP = timeToFrames(inPoint);
y = value[1] - ((fr-inP) * s);
[x, y]
This starts the scroll on the in point of the layer, so it takes the starting value of the layer at the in point and scrolls from there instead of starting the calculation from frame 0.