AE Transfer

8 votes
Date Updated: 

AE Transfer is a set of two scripts, for Autodesk 3ds Max and Adobe After Effects, that allows these two apps to exchange parameters of 3D objects and 3D layers with each other.

The script for 3ds Max allows you to export cameras, lights, standard planes, and pass Position, Rotation and Scale properties of other 3D objects from 3ds Max to After Effects. The script generates another script as a *.jsx file containing exported data of the selected objects. This *.jsx script then runs in After Effects and creates the layers with the exported properties.
You can also export properties of a single object using Windows clipboard and then paste them to the layer in After Effects.

The script for After Effects allows to export Cameras, Lights and 3D layer parameters from After Effects to 3ds Max. This script generates a MaxScript file (*.ms) containing exported data of the selected layers. The MaxScript file then runs in 3ds Max and creates the objects with the exported properties.

Before using the tool, please check out the current list of Known issues and limitations.


3ds Max -> After Effects

- Export multiple objects data using generated .jsx script;
- Different layer types for standard Planes (Shapes, Solids, Null-objects) with pre-compose option;
- Export properties of a single object via Windows clipboard;
- Selectable properties in clipboard mode;
- The Global Scale parameter;
- High precision of exported values;
- Automatic detection of property animation length;
- The export range may link to the render or animation range;
- Real-time updated Object list;
- Script settings are persisted in 3ds Max scene;
- Saved personal default settings;

After Effects -> 3ds Max

- Export Cameras, 3D-layers, and Lights using generated Maxscript file;
- 3D-layers with size parameters (Solids, Rectangle Shapes, Footages, Compositions) creates as standard Planes in 3ds Max;
- Automatic detection of property animation length;
- Parent links re-creates in 3ds Max;
- The Global Scale parameter adjustable in 3ds Max;

For more detailed information please watch the videos.

New in version 2.01:
- In After Effects, the issue when exporting from a composition with a non-integer frame rate has been fixed.
- In After Effects, the issue when exporting layers without any Camera has been fixed.
- Some minor improvements.

New in version 2.0:
- Now AE Transfer is a set of two scripts, for Autodesk 3ds Max and Adobe After Effects. So you can also export Cameras, Lights, and 3D Layer parameters from After Effects to 3ds Max.
- In 3ds Max, «Autodetect Animation» algorithm has got some improvements.
- In 3ds Max, Warning about too big Global Scale value has been added.

New in version 1.9:

- The new button "Add all Cameras" has been added. It allows to add all Cameras in a scene to the Export List by one click.
- Fixed an issue when exporting VRayPhysicalCamera without a target caused an error.
- Fixed an issue when selecting any other option than "Depth of Field" ("Multi-Pass Effects" section) of standard Free or Target Cameras caused an error.
- Fixed an issue when exporting any Light source that has not the "Intensity" property with checked "Export Light Intensity" checkbox caused an error when running a *.jsx in After Effects.
- In 3ds Max 2013 and newer versions fixed an issue when giving names with non-Latin symbols to a Max file or any object caused an error when running a *.jsx in After Effects.
- Fixed an issue when running the script caused an error in a scene in which an old version of AE Transfer was previously used.

New in version 1.82:

- Corona Camera support has been added. Note: when animating "Focal length [mm]" property, the FOV parameter (Zoom in AE) may take incorrect values. If you need to animate Corona Camera FOV, please use "Field of View" or "Zoom factor" properties.
- Error handling has been added. In case of error, you will get a message with information about it, and in "Export to *.jsx" mode this information will be written to *.jsx file, so you can just email it to [email protected] to report about the error.
- Minor bugs were fixed.

New in version 1.81:

- Fixed an issue when turning off "Targeted" parameter of Physical Camera caused an error when «Autodetect Animation» is on.

New in version 1.8:

- «Autodetect Animation» feature has got significant improvements. When exporting to *.jsx it also cuts redundant keyframes at the beginning of every parameter. Now Position, Rotation, and Scale parameter keyframes are reducing individually.
- Fixed an issue when animated Physical Camera Focal Length parameter did not export when «Autodetect Animation» is on.
- Fixed an issue when exporting objects linked to Biped object caused an error when «Autodetect Animation» is on.
- Fixed an issue when the script interface did not update after the «New», «Reset» and «Open» 3ds Max commands when AE Transfer rollout is open.
- Some minor improvements.

New in version 1.72:

- More stable work when 3dsMax is running without Administrator privilege.
- The Start Frame and the End Frame values now can be set from -20000 to 20000.

New in version 1.71:

- Fixed the bug when a .jsx script causes an error in After Effects CS5 when any Light sources were exported.
- Fixed the bug when a .jsx script causes an error when no Planes were exported.

New in version 1.7:

- The Default Preferences button was added. Now you can set and save your preferences for permanent use. All these settings will be always applied when you run AE Transfer for the first time in a new scene or when you run the *.jsx script in After Effects.
- The Guess Export Range checkbox was added. When it is on, the Start and the End frame values links to the frame Range values from Time Output section of the Render Setup dialog. If render frame Range is inactive, the Start and the End frame values link to the active Animation Range. The link is updated in real time. Note: after the render frame Range was edited, the values will be updated after the Render Setup dialog is closed. But if you leave it open, these values will be forcibly updated when you click any Export button.
- Some minor improvements.

New in version 1.6:

- Physical Camera support is added. Note: in versions prior to 2016, when exporting VrayPhysicalCamera, the Field Of View parameter (Zoom in AE) may assume an incorrect value. That's because of "Lens breathing" effect, which involves FOV change, but in fact, it not affects on camera's FOV property. The first solution is to specify fixed FOV by a checkbox. The second is to manually adjust Zoom parameter in AE after an export.
- After Effects CS5 support is added.
- Some minor improvements.

Version Requirement: 
3ds Max 2014, After Effects CC 2014
Video URL: 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
3dnuwan's picture


this is a very good app and very useful
Thank you

Mark Rosolowski's picture

Great plugin! It's a bargain!

This plugin makes working with 3DS Max renders in After Effects an ease! I used physical cameras in Max with FOV changes, and the scene is perfectly transfer to AE. I've used free scripts in the past but they're all a hassle to use, and usually required a trick to get them to work properly; cameras for some reason are rolling, erratic movements, planes are not scaled right, etc. I was very pleasantly shocked when I selected my camera and planes, hit export, and loaded it to AE to find everything perfect - first try!! Absolutely worth the price!

oreo5000's picture


Absolutely brilliant. Does exactly what it says on the tin. Great documentation and super easy to install and use.

There are other scripts that work this well, but they cost hundreds!

Incredible value for money.

Thank you!

Zorm's picture


Hey Denis. Thank you.
It works like a charm. Easy to use. Easy to install. Well done.
MUST HAVE script!


titane357's picture

Hi, thank you for this MUST

Hi, thank you for this MUST HAVE script !!!
As Jamesmac said if would be very handy to have lens shift exported.
I mean lens shift move the entire image down for exemple to have more sky in image at render time.
So your script make objects apprear in the wrong place.
Right now to resolve this, I precompose elements imported by your script and then move in the comp the precomp to match its position.
Hope it can help.

Hesham Talha's picture

Very Useful

Thanks for this useful script.

DenisLesnykh's picture

Re: Extremely useful!

Hi, Bruno!
Thank you very much for your comment and suggestions!

Yes, .jsx script contains "for" loop for every animated parameter, because it must create a key with a certain value on every frame of this parameter. This implements by setValueAtTime() function in a loop. I don't know any other ways to make it in After Effects. In a big project it may take a long time. But these loops are NOT endless, they must surely end. So sometimes you need to wait patiently for the end :)

About a messageBox "Successfully copied!", it actually calls after the setting clipboard data. I will try to find a cause of this program's behavior.

About In and Out range, it's a good idea! I will surely think about it for next version. Maybe it must be 2 buttons, for Render range and for Timeline range, these both functions are important, I think.

Thank you one more time!

brunoric3d's picture

Extremely useful!

Hi, Denis.

I've been using for the past few days and it helped me so much! I really appreciate the work you have put in it.

We had a few issues though, we are working on this big project where we have like 20 cams per video, 26 videos total, 3k frames per video, so transferring each camera and solids can be a pain, even with your tool, but unfortunately we weren't able to import the .jsx in After Effects, AE just freezes forever, I'm pretty sure that it freezes due to the complexity of the project. Analyzing the .jsx that it creates I found a lot of "For loops" for each camera and attribute, that can be very intensive for the system, right? And I imagine that the scripts execution are single threaded cuz the process runs at 20% +- on my 10 core Xeon. Although I was able to import going for 4-5 cams at a time.

Other than that, we found a simple bug, or workflow improvement I may say. When I click "Copy to clipboard", a message confirms the transfer to the clipboard and wait for me to click OK, the problem is that until I press "OK" nothing gets copied to the clipboard, my suggestion would be to put the code before the window shows :)

Another minor suggestion, a button to get the current timeline range values to the In an Out ranges of the script. When working with Camera sequencer this can be very useful. Those values are acessible through "rendStart" and "rendEnd" Global variables ;)

Again, thank you for this amazing tool!

DenisLesnykh's picture

Re: Lens Shift

In general, if it affects on <camera>.fov parameter in 3ds Max, then yes.
Could you please clarify what type of camera and what 3ds Max version do you mean?
P.S.: although, maybe I don't fully understand what it actually is.

Jamesmac's picture

Lens Shift

Is there any way to transfer lens shift info from 3ds Max to After Effects with this script?


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.