-
After Effects
FX TextFlow
Make your After Effects text flow over multi-columns paragraph blocs, just like inside Indesign ! Fill them with "LoremIpsum...", "QuickBrownFox...", or even some procedural text instantiated with its powerful SampleText Generator, and auto-align them thanks to a useful Anchor Point feature !
FX TextFlow is a really special tool : there is indeed NOTHING ELSE on the market that allows users to create multi-column text layers within After Effects (while this feature exists since decades in print & editing software like Indesign !)
So, if you ever need to create, compose and animate long text strings bounded in columns, to mimic Newspaper and Webdesign layouts, or even if you just want to experiment with new type treatments that were impossible to achieve in AfterEffects before... this product is for you :)
On top of that, FX TextFlow has 3 more really handy features to offer, that will be useful for ANY after effects user and motion designer :
- You can create both bounded paragraph text box and regular inline text layers, either empty or filled with predefined (and customizable) substitution text, with the click of a button, thanks to a few simple shortcuts. Never right-click in your timeline again in order to create a perfectly centered text layer... just click the button !
- Each new text layer generated by FX TextFlow will benefit from a really convenient FX reposAnchorPoint effect, that will drive the layer's anchorPoint so that it stays exactly where you want it to be (top left, middle, bottom right...), no matter which kind of text you have. It's fully automated thanks to expressions and the effect's option can be animated and even be used in .mogrt templates to align your text in Premiere !
- Add some sample text to your selected text layers procedurally thanks to the Sample Text Generator ; it allows you to instanciate one string of text that you can edit (by default it will either be some "Lorem Ipsum..." if your selected layer is a bounded text box or the famous "The Quick Brown Fox..." sentence if your selected layer is an inline "regular" text layer) ; you can chose how many instances of this string you want your text layer to be populated with, add predefined separators (space, return, dots, dash...) between each instance, and even add the instance IDs as prefixes and/or suffixes ! Perfect for quickly adding menu items, file names, chapters titles...
Here is how the UI is looking :
And here are the detailed explanations of each button (refer to their number in the image above) :
1. Change Columns count :
Use this dropdown list to set the number of columns (1 to 5) for the bounded text layer created by FX Textbox.
This setting will then be taken into account when you will click on the third button 'Create new Text Layer'.
You can also update one or more selected bounded text layer(s) created by FX Textbox, just by changing the selection in this dropdownlist ; it will then set the 'Number of colums' in the 'FX_textColumns' effect on the fly !
2. Change Anchor Point position :
Use this dropdown list to set the anchor point's position on any text layer created by FX Textbox. This setting will then be taken into account when you will click on the third button 'Create new Text Layer'. You can also update one or more selected text layer(s) created by FX Textbox (bounded in a box or regular inline text), just by changing the selection in this dropdownlist ; it will then set the 'Horizontal Alignment' and the 'Vertical Alignment' in the 'FX_reposAnchorPoint' effect on the fly !
In any text layer created by FX TextFlow, you'll find a convenient 'FX_reposAnchorPoint' effect, where you'll be able to change the alignment for both dimensions ('Left', 'Center', 'Right' for Horizontal Alignment / 'Top', 'Middle', 'Bottom' for Vertical Alignment).
This is where you will also find 2 other useful options : 'Rect At Time (sec)' is set on 3 by default because you'll usually want to animate your text In with some text animators - with TextEvo2 from my buddy Matthieu Wlazinski for example - so you'll probably have to set this value to be AFTER the end of your inAnimation if you do not want your anchor point to jiggle during the text animation.
The 'Auto Animate over Time' forces the 'Rect At Time (sec)' value to be animated over time with an expression ; this is why its value shows in red ! But don't worry, you can still edit it ;)
3. Create new Text Layer :
This button works in combination with shortcuts (as described below) ; in whichever case, you'll end up with a new created Text Layer in your active composition after having clicked this tool, and it will receive an expression on its anchorpoint, linked to an 'FX_reposAnchorPoint' effect, that will make it reactive to the second 'Change Anchor Point position' dropdown list (see above).
- CLICK : Create an empty bounded Text Layer (aka the 'paragraph box you obtain when you draw a rectangular selection with the AE's text tool')
- CLICK + ALT : Create an empty inline Text Layer (the 'regular' text you obtain when you just click in your composition with the AE's text tool')
- CLICK + SHIFT : Create a bounded Text Layer (see above in the 'CLICK' explanation), but filled with some 'LoremIpsum...' sample text. The script will then calculate the average number of words depending of the Composition's size and Bounded Text Ratio (see 'Change Settings' for more info), in order to fill the bounded box as much as possible. Depending of your composition, this step can be pretty long to compute so, if things are a bit laggy after having clicked this button with SHIFT hold down, this is normal... just be patient :)
- CLICK + ALT + SHIFT : Create an inline Text Layer (see above in the '+ ALT' explanation) filled with one single sentence based on the famous 'QuickBrownFox...' substitution text, because it makes more sense for a single line rather than a long paragraph.
You can change after while the "Gutter width" (50 pixels by default) in the same named option of the 'FX_textColumns' effect of your text layer, and increase or decrease the 'Max Lines per Column' number in order to fit your needs. Sometimes - especially when you will replace the substitution "LoremIpsum..." text by your own shorter or longer text, you will have to double click on your text layer in order to edit its text box transform size. Please do it each time that you fill your text is cropped or if you have the impression that the columns count you obtain 'visually' isn't respecting the one you had chosen (it can be tricky sometimes, but not that complicated once your have understood :)
4. Add/Remove LoremIpsum/QuikBrownFox/generatedSampleText :
This button works in combination with shortcuts too ; it will add or remove some text from a selected Text Layer, depending of both the type of text layer it is (bounded or inline) and the shortcut you use ;
- CLICK : Add one Sample Text instance to the selected text layer
- CLICK + ALT : Remove one Sample Text instance to the selected text layer
- CLICK + SHIFT : Add procedural text through the SampleText Generator
Just edit the sample's text in the big editable text field (depending of the text layer type you have selected, it will be already written with either a 'LoremIpsum...' paragraph - in case of a bounded text - or a 'QuickBrownFox...' sentence - in case of an inline text).
Then type how many copies of your sample you want to populate your text layer with the 'Samples x' field (Entering '5' instead of the default '3' number will duplicate the sample 5 times for example).
Choose which glyph will separate the copies with each other by selecting its name in the 'separator' dropdown list (for example 'underscore' or 'spaced pipe' ; choosing 'none' will join the copies without any separator at all).
The cool thing is that you can add the index of each copy to the beginning (with the 'prefix' dropdown list) or at the end (with the 'suffix' dropdown list), which is perfect if you want to create a large number of menu items or chapters numbers that will increment automatically !
Once you have set up all the options, just click on 'Apply generated text to selected text layer(s)' in order to fill your text layer(s) with your procedural text and 'voilà' !
Please note that both the bounded and inline sample texts written by default when you open this generator can be set to be different from the 'LoremIpsum...' and 'QuickBrownFox...' classical texts if you want ! To change them, just ALT+CLICK on the last 5th 'Help & Info / Change prefs' button, and edit them here before saving the settings.
5. Help & Info / Change Settings :
If you hold down the ALT key while clicking the last 5th button, you will open a new window, where you will be able to change various default settings of FX textFlow :
• 'Bounded Text Color' : enter a valid hexadecimal code here if you want to change the default grey color of newly created FX textFlow bounded text layers with the third creation button
• 'Bounded Text Box Comp Ratio' : by default, each time you'll create a new FX textFlow bounded text layer with the third creation button, it will adapt its box size depending of the active composition size, proportionnaly to this ratio. So, for example, if you are in a 1080x1080 comp and if you do not change the default value of this ratio (which is set on '3/4'), your multi-column FX TextFlow bounded text box will be created to 'visually' a 810x810 square size. But if you change this to be on '1/2', after having saved the settings and reload the script panel, next time you'll create such a multi-column FX TextFlow bounded text box, it will be with 540x540 dimensions. While chosing a '1' ratio would of course fill the whole comp with your text.
• 'Default Columns count' and 'Default AnchorPoint' : set other selections in this two dropdown lists if you are not satisfied with the default '3 columns count' for the first button, and the default 'Middle Center Anchor Point' for the second option of the UI.
• The last two big edit text fields allow you to change the default 'Lorem Ipsum...' and the 'QuickBrownFox...' sample text already written in the sample's text edit field of the SampleText Generator.
You can then 'Save settings' in order to register them locally on your machine, in your roaming app data, but only if you have the option 'Allow Scripts to write File and Access Network' checked ON in your Preferences in the 'Scripting & Expressions' tab. You will then have to close and reload the script's panel in order to update the tool's settings.
Typing 'Enter' on your keyboard will do the same than clicking on this 'Save settings' button.
If you have messed up some settings and would like to retrieve them as they were by default, just click on the second 'Reset Settings' button.
Clicking the 'Cancel' button will abort the settings change and close the window (you can also use the escape key on your keyboard to do so).
_______________
INSTALLATION :
Use the aescript and plugins manager or copy and paste both the FX_textFlow.jsxbin file AND the FX_textFlowAssets folder into your Adobe After Effects' Scripts > ScriptsUI Panels folder.
COMPATIBILITY :
FX textFlow needs the 'Text.style' expression features that were introduced in the 17.0 version (After Effects 2020) to work properly, so... This script panel won't be loaded at all and an error message will pop-up if you try to launch it with AfterEffects older version !
IMPORTANT :
In order to avoid any expression error, please use the JavaScript expression engine only (not the Legacy Extendscript one)!
Discussions
Want to talk about it?
Head over to r/aescripts to chat with fellow users about this product.
Need Support?
Please open a support ticket to be connected directly with the author of this product
Version History
1.0 -
Jul 14, 2021
Compatibility
After Effects
2025, 2024, 2023, 2022, 2021, 2020
EULA
This software ("the Software Product") and accompanying documentation is licensed and not sold. This Software Product is protected by copyright laws and treaties, as well as laws and treaties related to other forms of intellectual property. The author owns intellectual property rights in the Software Product. The Licensee's ("you" or "your") license to download, use, copy, or change the Software Product is subject to these rights and to all the terms and conditions of this End User License Agreement ("Agreement").
Acceptance
YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT BY SELECTING THE "ACCEPT" OPTION AND DOWNLOADING THE SOFTWARE PRODUCT OR BY INSTALLING, USING, OR COPYING THE SOFTWARE PRODUCT. YOU MUST AGREE TO ALL OF THE TERMS OF THIS AGREEMENT BEFORE YOU WILL BE ALLOWED TO DOWNLOAD THE SOFTWARE PRODUCT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, YOU MUST SELECT "DECLINE" AND YOU MUST NOT INSTALL, USE, OR COPY THE SOFTWARE PRODUCT.
License Grant
This Agreement entitles you to install and use one copy of the Software Product. In addition, you may make one archival copy of the Software Product. The archival copy must be on a storage medium other than a hard drive, and may only be used for the reinstallation of the Software Product. This Agreement does not permit the installation or use of multiple copies of the Software Product, or the installation of the Software Product on more than one computer at any given time, on a system that allows shared used of applications, on a multi-user network, or on any configuration or system of computers that allows multiple users. Multiple copy use or installation is only allowed if you obtain an appropriate licensing agreement for each user and each copy of the Software Product.
Restrictions on Transfer
Without first obtaining the express written consent of the author, you may not assign your rights and obligations under this Agreement, or redistribute, encumber, sell, rent, lease, sublicense, or otherwise transfer your rights to the Software Product.
Restrictions on Use
You may not use, copy, or install the Software Product on any system with more than one computer, or permit the use, copying, or installation of the Software Product by more than one user or on more than one computer. If you hold multiple, validly licensed copies, you may not use, copy, or install the Software Product on any system with more than the number of computers permitted by license, or permit the use, copying, or installation by more users, or on more computers than the number permitted by license.
You may not decompile, "reverse-engineer", disassemble, or otherwise attempt to derive the source code for the Software Product.
Restrictions on Alteration
You may not modify the Software Product or create any derivative work of the Software Product or its accompanying documentation. Derivative works include but are not limited to translations. You may not alter any files or libraries in any portion of the Software Product.
Restrictions on Copying
You may not copy any part of the Software Product except to the extent that licensed use inherently demands the creation of a temporary copy stored in computer memory and not permanently affixed on storage medium. You may make one archival copy which must be stored on a medium other than a computer hard drive.
Disclaimer of Warranties and Limitation of Liability
UNLESS OTHERWISE EXPLICITLY AGREED TO IN WRITING BY THE AUTHOR, THE AUTHOR MAKES NO OTHER WARRANTIES, EXPRESS OR IMPLIED, IN FACT OR IN LAW, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OTHER THAN AS SET FORTH IN THIS AGREEMENT OR IN THE LIMITED WARRANTY DOCUMENTS PROVIDED WITH THE SOFTWARE PRODUCT.
The author makes no warranty that the Software Product will meet your requirements or operate under your specific conditions of use. The author makes no warranty that operation of the Software Product will be secure, error free, or free from interruption. YOU MUST DETERMINE WHETHER THE SOFTWARE PRODUCT SUFFICIENTLY MEETS YOUR REQUIREMENTS FOR SECURITY AND UNINTERRUPTABILITY. YOU BEAR SOLE RESPONSIBILITY AND ALL LIABILITY FOR ANY LOSS INCURRED DUE TO FAILURE OF THE SOFTWARE PRODUCT TO MEET YOUR REQUIREMENTS. THE AUTHOR WILL NOT, UNDER ANY CIRCUMSTANCES, BE RESPONSIBLE OR LIABLE FOR THE LOSS OF DATA ON ANY COMPUTER OR INFORMATION STORAGE DEVICE.
UNDER NO CIRCUMSTANCES SHALL THE AUTHOR, ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS BE LIABLE TO YOU OR ANY OTHER PARTY FOR INDIRECT, CONSEQUENTIAL, SPECIAL, INCIDENTAL, PUNITIVE, OR EXEMPLARY DAMAGES OF ANY KIND INCLUDING LOST REVENUES OR PROFITS OR LOSS OF BUSINESS) RESULTING FROM THIS AGREEMENT, OR FROM THE FURNISHING, PERFORMANCE, INSTALLATION, OR USE OF THE SOFTWARE PRODUCT, WHETHER DUE TO A BREACH OF CONTRACT, BREACH OF WARRANTY, OR THE NEGLIGENCE OF THE AUTHOR OR ANY OTHER PARTY, EVEN IF THE AUTHOR IS ADVISED BEFOREHAND OF THE POSSIBILITY OF SUCH DAMAGES. TO THE EXTENT THAT THE APPLICABLE JURISDICTION LIMITS THE AUTHOR'S ABILITY TO DISCLAIM ANY IMPLIED WARRANTIES, THIS DISCLAIMER SHALL BE EFFECTIVE TO THE MAXIMUM EXTENT PERMITTED.
Limitation of Remedies and Damages
Any claim must be made within the applicable warranty period. All warranties cover only defects arising under normal use and do not include malfunctions or failure resulting from misuse, abuse, neglect, alteration, problems with electrical power, acts of nature, unusual temperatures or humidity, improper installation, or damage determined by the author to have been caused by you. All limited warranties on the Software Product are granted only to you and are non-transferable. You agree to indemnify and hold the author harmless from all claims, judgments, liabilities, expenses, or costs arising from your breach of this Agreement and/or acts or omissions.
Governing Law, Jurisdiction and Costs
This Agreement is governed by the laws of New York, without regard to New York's conflict or choice of law provisions.
Severability
If any provision of this Agreement shall be held to be invalid or unenforceable, the remainder of this Agreement shall remain in full force and effect. To the extent any express or implied restrictions are not permitted by applicable laws, these express or implied restrictions shall remain in force and effect to the maximum extent permitted by such applicable laws.