announcement: my after effects script site

Find out why the . goes before the /

Moderator: Paul Tuersley

Post Reply
zold

Hello folks.
As announced on creativecow.net, I have launched my AE script site:

http://www.crgreen.com/aescripts

Have at it.
User avatar
redefinery
Posts: 112
Joined: April 1st, 2005, 8:16 pm
Location: CA
Contact:

Congrats! Thanks for sharing your work with the AE community.

I've added a link to your scripting site on my scripting site (http://www.redefinery.com/ae/).

Jeff
zold

Thank you, Jeff. I am honored!

-Chris G

p.s. any work there in SoCal ... ? :?
User avatar
redefinery
Posts: 112
Joined: April 1st, 2005, 8:16 pm
Location: CA
Contact:

Hi Chris,

Scripting work? You might be able to pick up a project here and there.

Most of my scripts have been about doing fun/interesting/challenging projects and sharing the knowledge than about paying the mortgage. :-)

Jeff
zold

redefinery wrote:Scripting work?
Ha! The last time I got paid for scripting was in the mid-nineties.

Then again, my memory could be failing ...
Darkmoon_UK
Posts: 62
Joined: September 5th, 2006, 3:45 am
Location: Chiswick, London, UK
Contact:

Looking at your site I've just come across your Comp_To_UI package. I'd first like to say what a briliantly twisted idea it is to get After Effect's script to write its own interface ;-)

Its a nice script but I did encounter a couple of snags in using it which I think are worth correcting or pointing out in the documentation.

For starters, I both positioned and scaled my solids to get them where I wanted them during the design phase. Since your script didn't take account of scaling, the output was whacked. I made the following edit to correct it:

Code: Select all

thisLayerScaleW = thisLayer.property("Scale").value[0];
thisLayerScaleH = thisLayer.property("Scale").value[1];                     
                    
apX = Math.round(thisLayer.anchorPoint.value[0] * (thisLayerScaleW/100));
apY = Math.round(thisLayer.anchorPoint.value[1] * (thisLayerScaleH/100));
                        
thisLayerW = Math.round(thisLayer.width * (thisLayerScaleW/100));
thisLayerH = Math.round(thisLayer.height * (thisLayerScaleH/100));
                        
thisLayerX = Math.round(thisLayer.position.value[0]);
thisLayerY = Math.round(thisLayer.position.value[1]); 

You'll notice I also added Math.round to the results, which makes the resulting code much more readable (did have loads of decimal places, though maybe you didn't get this because of the scaling thing...).

The second major thing was, I had three panels to which components were parented. Despite following your instructions regarding putting the parent layer immediately below the groups of its children, the parenting didn't work and I got garbled output. I think this may be again, due to the scaling of the parent panels.

I still haven't overcome this, but I was able to generate a good looking UI by disabling parenting.

I can hear you now "Damnit, stop with the scaling, it wasn't meant for that!"

Lol, I'm not complaining, honestly, but its worthwhile for consideration if you're going to develop this further. I will be making my own edits for personal use on this project, if you don't mind, and I'll be sure to let you know anything that I changed, with copies, in case you'd like to incorporate it in the official version.

Once again, thanks for sharing this really nice idea! I think with a few improvements this could be even more usable and a true time saver.

Regards,

Chris
Post Reply