Quote:
Originally Posted by Metonym
Don't leave us hanging  . How did you do it?
|
Background:this part of the project is for the ending credits for dance school year end show video that I am working on. This year I wanted to do something interesting with credits and decided to do them in AfterEffects. There are over 300 kids, so I quickly realized that doing all of them manually will take a while.
Setup:- Each Dance title is in it's own composition
- Each dancers name is in it's own composition
- Each Dance compilation (dance title and dancer's names) is in it's own composition
Process:- I created a "_template" for the dancers name. copied & paste as many times as there names. "_" so that copies will paste at the beginning of the Project List.
- Compiled list of dancers in Excel.
- created formula to make the corresponding code.
actual code snippet is here:
PHP Code:
var myProperty = "Source Text";
var myComp = app.project.item(1); var CompName = "ArtemusMaximus"; var Text1 = "Artemus"; var Text2 = "Maximus";myComp.name = CompName; myComp.layer(2).property(myProperty).setValue(Text1); myComp.layer(3).property(myProperty).setValue(Text2);
var myComp = app.project.item(1); var CompName = "Chief Delphi"; var Text1 = "Chief"; var Text2 = "Delphi";myComp.name = CompName; myComp.layer(2).property(myProperty).setValue(Text1); myComp.layer(3).property(myProperty).setValue(Text2);
Because it's JavaScript based I was able to flatten code into one line and made Excel formula much easier to create. So "pretty" code would look like this:
PHP Code:
var myProperty = "Source Text";
var myComp = app.project.item(1);
var CompName = "ArtemusMaximus";
var Text1 = "Artemus";
var Text2 = "Maximus";
myComp.name = CompName;
myComp.layer(2).property(myProperty).setValue(Text1);
myComp.layer(3).property(myProperty).setValue(Text2);
var myComp = app.project.item(1);
var CompName = "Chief Delphi";
var Text1 = "Chief";
var Text2 = "Delphi";
myComp.name = CompName;
myComp.layer(2).property(myProperty).setValue(Text1);
myComp.layer(3).property(myProperty).setValue(Text2);
Here I created test credits. Nothing fancy, but it's better than before:
https://www.youtube.com/watch?v=n8_FXIuH9iQ