After Effects To Blender 2.70a Javascript Python Generator

Does this work for After Effects CC 2015? For me it just shows the made by text when I open the file in Blender, no tracking data…

I just used this to import camera and null objects from AE CC, and camera is pointing slightly above. Making it useless of course. Don’t know if it’s a problem with using CC or something else.

I am experiencing the same problem on blender 2.79b. I track the nulls and camera on After Effects CC2015, use the script, exports the .py. Go to Blender 2.79b and run script. My tracked footage lasts for 697 frames. From track 124 onwards the camera starts animating. Before that, the camera is offset and the tracking is nonexistent. Please help.

The script worked great for me with Blender 2.79, but was failing in Blender 2.80 beta. I don’t know Python (spoiler alert: indentation is a little important!), but with the help of nBurn’s Blender 2.80 cheat sheet for updating add ons I managed to modify the script such that, though it does cause Blender to throw up some errors, it does work well-enough for me to get a tracked camera and a null (or was it the position of a text generator?) across.

It’d require a bit more work to get all the originally-supported AfterEffects parameters across, but the basic idea is that everything needs updating to work with the newer version of the Blender SDK and the newer version of Python. I didn’t finish the job mostly because I had to get some work done and the script was functioning well-enough for me to move on. Also not every SDK and Python change is noted in that cheat sheet and I’m not knowledgeable enough about Python to efficiently figure out what to change.

After the first few changes I think I started commenting things, but my paltry documentation is nowhere near complete. It’d be easy enough to diff with the original script I suppose.

I hope this altered version is useful, and I hope someone continues to update the script to reach feature parity for Blender 2.80 with the original version.

Here’s a link to the altered script. I’d have attached it to this message but as a new blenderartists account I don’t have upload privileges. It’d be better if it existed on here as I don’t know if dropbox public links are forever.

Thanks be to Atom for posting the original script!

1 Like

Just used the altered script for the first time in a month. The camera seems to come through ok, I had less success with nulls and solids, a little better luck with a text generator. I don’t actually remember what works and doesn’t work, but I do know it was enough functionality for me to get a couple of temp VFX shots done.

Thanks & a backup, just in case… :wink:
ATOM_AE2Blender27_05302014 – with 2.8 fixes_05292019 v2.jsx (71.6 KB)

1 Like

Didnt work for me.
AFX version: 2019.
Blender: 2.8.
The only thing i got was camera creation : sometimes.
Most of it was showing errors. :S

Same as for me. I get an error when I run the script in blender: AttributeError: ‘bpy_prop_collection’ object has no attribute ‘link’
What can I do with this error?

Also I get that error when I run the script in 2.79
ValueError: bpy_struct: item.attr = val: sequences of dimension 0 should contain 3 items, not 4

When I use First version of jsx script with AE 2017 and import to 2.79 it is working. But it is not working on AE 2019 and Blender 2.8

I haven’t tried this one, but I used an older one (for 2.77 I think), exported everything from CC2019 (latest version), ran the script in Blender 2.79, saved the file, opened in 2.8, and everything seems to be working fine so far. Tons of null objects, and the camera (which was attached to a null for a strange animation) seems to be perfect.

Hi everyone! I’m new here so sorry if I ask stupid questions :slight_smile:
I’ve run the script in AE CC2020 and it seems to have worked but I fail to import it in B2.8. Is there something else than open the .py in the scripting tab and run it?
I run it but nothing happens…
Thanks in advance!

Quite late but if the script fails, try checking the console to see what the error is about. In my case it was failling when trying to set the alpha property of a material (because I whas importing a text layer). I switched the render engine it to cycles, ran the script again and it worked.

For everybody with a mac (catalina) and the newest versions (Blender 2.8, AE 2020) -> If the resulted python script doesn’t do anything in Blender: Open the python file with a scripting editor like brackets, simply save it again, and then run it again in blender.

It seams that the AE script exports a file with the wrong encoding (or without BOM or any some such). You can see this “wrong encoding” after opening the python file in blender -> everything is on one line.

Btw. I tried it only with Zach Fine’s altered script. Thanks for that one.

AE2Blender Script

Greetings, having issues with the AE2Bender Script execution in blender. ‘ca.draw_size = 0.5’ Throws exception:

“Error: Python script failed, check the message in the system console
Traceback (most recent call last):
File “\AE2Blender”, line 201, in
AttributeError: ‘Camera’ object has no attribute ‘draw_size’”

Any Ideas? [Using Blender 2.8x]

1 Like

@Jan_H: that’s because you imported the AE2Blender script instead of the AE output script created when you created the python generated script.

I got this script working in AE CC 2019 and Blender 2.82.
The footage doesn’t work properly, but that’s fine, I simply load the video as a camera background.
I found and easy way to tell difference between Null, adjustment and solid, so added a new method called createPlane to draw a plane for the imported Solids using the existing but unused returnPlaneMesh. All looks spot on at the first frame, but as the animatation in Blender progresses, the objects all deviate from AEs tracking. I rendered a vid from AE with solids showing and used that as the camera background. I was careful to use all the same frame rates and frames, but it just won’t stay in sync and I wonder if that is just the math in this script, or something else. the drift only seems to be sideways. The AE tracked points stay attached to the same items in the video.

Anyone got any ideas why thisdoesn’t stay synchronised?


Seems like the blender import floats above and at a slight angle from the AE original, trying to figure out how to adjust that.

Found a different technique to map orientation and it is actually perfectly aligned now :smiley:
The font used in AE for the text is slightly different but the plane matches the precisely which is the main thing. This is embossed text object and plane with the video frame from AE and camera background (front)

Hi, are you using the modified version? I tried it in blender 2.9, the camera works but it doesnt import the nulls or planes. Do you do anything special? I dont get any errors either.