5 Replies Latest reply on Aug 19, 2015 9:45 AM by Dave LaRonde

    Long Horizontal Scrolling Text - VERY LONG


      First off... I'm pretty new to After Effects (although I'm used to Photoshop and Illustrator). 


      I am editing a video for a friend. It is a video that spans across 3 screens (so the artboard is 3 times as wide - at 8895x1646). There are a ton of names that horizontally scroll across the screen in the video (there are 4 rows of names, and each row has over 100 names). Initially, the document was put together using text in After Effect. This uses alot of resources (the computer is running slow, and any rendering I do fails). Also, each row of names is broken into 5 parts, because components can't seem to be over a certain width (is that correct?).  This complicates adding future names, and modifying the animation. I want to see if there is another way to put the document together. A way that saves resources and makes rendering simpler (quicker, and less of resource hog).


      I saw online that someone recommended to avoid using a bunch of text in after effects (due to the resource beast that the program is with text). They recommended that the text be placed in an image, and the image be placed into after effects (and then animated across the page ... this way, after effects moves a single object, and not so many characters of text). However, if I do this, I end up with an image that is 277,943 pixels wide by 1646 pixels. I need those 277,943 to scroll across the 8895 area. But, as you could guess, the large image wont import into After Effects (too wide).


      Any other solutions?  Please keep in mind that my knowledge of After Effects is limited, so please explain in laymen terms. Also, video references are definitely appreciated. Thanks!!!

        • 1. Re: Long Horizontal Scrolling Text - VERY LONG
          Mylenium Most Valuable Participant

          you use expressions and/ or text animators - scroll a section and wait tol it's off-screen, re-set while it's invisible, recycle the layer. Obviously you're still going to need more than one layer...



          • 2. Re: Long Horizontal Scrolling Text - VERY LONG
            HarryHoag Level 1

            Expressions and text animators is probably one method, there are also a load of text edit scripts over at aescripts that are worth looking at if you took that route.

            But seeing you're fairly new to AE I think I'd just split the line into multiple text layers on top of each other of reasonable length. Then create two nulls, parent half the text layers to the first null and the other half to the second.

            Then animate both the nulls travelling across the screen alternating, so one follows the other at the speed you want the text to move. You can loop that animation with a simple expression (alt click on the stopwatch on the position property and type into the text box 'loopOut()' without the '). Make sure you allow plenty of off screen movement of the nulls, enough for the text to clear the screen on both sides. Then show and hide alternately one from each of your text groups. You can do this by animating the opacity of the text layer on and off.

            It'll take longer than simply animating one text layer to get this working, but ae should handle this perfectly.

            Alternatively, I'm sure someone has made a tickertape text script of some kind somewhere, that would probably be the easiest way if it exists.

            • 3. Re: Long Horizontal Scrolling Text - VERY LONG
              Rick Gerard Adobe Community Professional & MVP

              I have a few questions. First you say:

              It is a video that spans across 3 screens (so the artboard is 3 times as wide - at 8895x1646)

              First question: 1920 * 3 = 5760  so that is how wide 3 HD screens would be if the screens were horizontal. Why is the project so big?

              Second Question: When you say "artboard" do you mean composition size?


              Here are my thoughts assuming that you mean composition size and the screens are HD. First, comps should always be an even number of pixels wide and high because odd values in the comp size mean that the center of the comp is on the half pixel and this is going to degrade any video assets added to the composition. Second, your master comp for the three screens should not be any bigger than 3X the width and height of the resolution of the screens plus any overlap you may need to build in to take care of the under scan on the screens (monitors). Keep this master comp as small as you can so you can work as efficiently as you can in AE. Last point, make sure that the composition panel's resolution is set to Auto so while you are working in the comp panel previews render as quickly as possible. There is NO situation where you would want the composition panel set to FULL resolution.


              If you mean comp size then it is going to be slow to work on because you have a comp that is 4.7 times wider and  1.5 times taller than HD.

              Then you explain:

              (there are 4 rows of names, and each row has over 100 names)

              I can see how this would present a design problem because the rows are going to be different lengths because the number of letters in each name will be different. You also say that you break the names into 5 groups and I think the reason is that you can't see the text when it's outside the composition frame, and that is true. If this were my project I would make a composition that was long enough to contain all 100 names at a font size that was big enough to easily read and just tall enough to contain either a single row or all four rows of text. The size of this comp would be determined by the final font size I wanted for my design. I would make sure that the font size accurately placed text on the pixel grid so the top and bottom of the fonts were as sharp as possible. Let's say I wanted to set all four rows of names in the text comp and I wanted to use helvetica and 40 pixels. I would start the project with something like this:

              Screen Shot 2015-08-19 at 4.48.30 AM.png

              250 pixels gives me plenty of height for 40 pixels of height. The bottom row of text contains 8 words so to get my Text comp wide enough to start working on names I would multiply the original 1200 pixels by 12 to get a comp that was approximately wide enough to hold all 100 names. This can be adjusted later. In the advanced settings I would click on the center box at the left in the anchor as indicated here so the text would stay on the far left side of the text comp. I would then add all 100 names to each row and adjust the type as needed.


              The next step would be to nest the comp with only the names in it in the master comp (probably 5760 X 1080 or maybe 3240 X 1920). I would adjust the position of the nested comp and animate the position of the nested comp using an expression to make sure that the the text scrolled exactly an even number of pixels per frame to avoid aliasing problems on the vertical edges of the text. Depending on the frame rate of your comp there are critical speeds that you must be aware of to avoid judder in the final renders when the clips are played back. Please check out this article from the FAQ section of this forum: FAQ: Why does horizontal motion stutter (judder) in my movies, such as during pans?


              You should now be able to work on a very responsive comp. Using one of the paragraphs in this post as text I came up with this project file that you can play with to see how I would handle the project. (Your browser will probably add a .txt extension to the file name. Just delete it and keep the .aep and you should be fine. (CC 2014, 2015 compatible))


              Before setting up a render I would find our what software is going to be used to playback the video and then set up the render cue to correctly render the project. It is been my experience that most projects require separate videos for each screen. If that were the case for your project I would set up 3 new HD comps for rendering the final output and then nest the Main comp in each adjusting position and if necessary rotation so the three comps contained the three sections of this video. This would solve your rendering problem.

              • 4. Re: Long Horizontal Scrolling Text - VERY LONG

                First off, I'm working on a file that someone created ... so much of the work that is done (discussed later), is already in place. I don't mind cleaning it up, and even recreating the file, but this is one part of a larger video, and I definitely want to avoid redoing ALL of the videos.  So, back to the post...


                Yes, I meant "composition" (I was referring to Illustrator and it's "Artboard"). As for the size of 8895x1646 ... this is what the original file was setup as (not sure the original editor knew what they were doing). And, since this scrolling text is only a small portion of the main video, it needs to stay that way (so when I render the master aep file, it will just pull in this scrolling text video).


                As for the composition resolution, I have it set to a quarter. It's just text, and nothing fancy. Don't need a high res preview of the composition...


                As for each row being a different size ... since they are a list of names, we can move the names around, and make each row a similar width. Each row wont be equal widths, but they will be similar.  S, as shown in your example, there wont be a "forth" line with alot more text.


                As for the actual scrolling text... the main problem is that the max composition width is 30000. So, when I create a "text" composition with all the names on it, they do not fit (similar to the "text" composition that you have in your example - your example works great because it is much less than 30000 pixels). Only about 20% of the names fit in the 30000 space. The original file was setup with 20% of the names in row 1 on one layer, then the next 20% of row 1 on the next layer, then the next ... etc ... and then a layer that had 20% of row 2, then a layer with 20% of row 2's names ... so for 4 rows, that totaled up to 20 layers, just for the text.

                • 5. Re: Long Horizontal Scrolling Text - VERY LONG
                  jabbamonkey1 Level 1

                  I think I may try and look for some text script. By your post, it sounds like I can just have a long list of names, and use a script to create a row of the text, that will be animated. Once again, I'm VERY NEW to after effects, so I've never worked with scripts in After Effects (and am a little worried how difficult it will be)

                  • 6. Re: Long Horizontal Scrolling Text - VERY LONG
                    Rick Gerard Adobe Community Professional & MVP

                    First, there's no reason at all to be working with a nested comp or any comp for that matter for this project that is 30,000 pixels long. Here's what I would do if you want to use the Illustrator file as the starting point for the nested comp. First, change the artboard in illustrator to about 200 or 300 pixels high, or use 200 points, but when you are using Illustrator for video it's better to set up the document to use pixels -- never use inches. Now select the text that has been setup and scale it or adjust the point size and leading so that it fits in the artboard. Lastly, trim the artboard width so that the text just fits into the space. The trick here is to make the text the size you want it in the final comp or to scale it down by an even multiplier. IOW, if it's too big, scale it down by 50%. You can scale up vector files inside AE or you can scale text without loosing any quality.


                    Now that you have a reasonable size for your text layer you bring that into AE, open it as a comp or just import import the text setup as footage, drop it or nest it in a proper sized comp, drag it into position, then add the expression that I included in the project file. It looks like this:

                    ipx = value[0];

                    ipy = value[1];

                    s = time/thisComp.frameDuration * 4; // moves 4 pixels per frame

                    [ipx - s, ipy]

                    This expression takes the initial position of x (ipx) and the initial position of y (ipy) then calculates speed you want to move the layer in pixels per frame by converting the time of the comp to frames then multiplying the value by the distance you want to move the layer. The last line is an array for X and Y position where the value of the initial position of x has the number of pixels that you want to move in x subtracted from the initial position, then uses the position of y so the text layer moves right to left. If you want it to go the other way (much harder to read) then change the - to a +.


                    Here's how to handle scaling the layer. Say you need to make the original text half the size you want it to be to get a reasonable sized text comp. You simply scale the text comp to 200% and turn on continuously rasterize to keep the text or the vector layer sharp. The speed the layer moves stays the same so the judder or strobing is eliminated.


                    Another thing you can try is to simply copy the text in the Illustrator file and paste it to a text layer in AE. Try doing that with the sample file I provided. There's no need for scripting or dividing up the text layers into sections. Just continuously rasterizing or collapsing transformations on a vector layer that is scaled to the size you need and you're ready to design and render.

                    • 7. Re: Long Horizontal Scrolling Text - VERY LONG
                      Dave LaRonde Level 7

                      Um, once you've done all this work, how are you going to play this back across three HD screens?  What device is being used for playback?   What are your delivery specifications?

                      It makes a HUGE difference.