"언젠간 어도비 구독의 감옥에서 탈출할 거야!" 라며 수년째 각을 잡아온 나 같은 고인물 디자이너에게 마침내 한 줄기 빛이 스쳤다.
안 그래도 요즘 자동화다 뭐다 세상이 다 에이아이로 바뀌고 있는 마당에,
애프터 이펙트에서 한 땀 한 땀 파일 교체하고 키프레임 딜레이 주면서 중간에 빈 프레임 없나 확인하고 있는 내 자신이 어지간히 답답하기도 했다.
그런데 어디선가 들려온 소문, "에이아이로 만든 애프터 이펙트가 있다고?"
음, 요즘 나도 하나둘씩 자동화하면서 블렌더 툴이니 애프터 이펙트 스크립트니 짜고는 있었지만,
사실 속으로는 애프터 이펙트 자체를 직접 만들어 줄 용자를 애타게 기다리고 있었다구!!
이름하여 이펙트 크래프트 (EffectCraft), 음... 이름이 참 고전적이야.
크래프트라니, 아마도 앞으로 이런 건 크래프트맨십이 있어야 쓴다 이런 느낌인 걸까?
그것도 그럴 게 켜자마자 정확히 그 고전적인 애펙의 작동 방식을 단축키까지 그대로 가져왔어.
(물론 몇몇 단축키가 아직 안 먹는 게 있긴 하지만 그 정도는 금방 익숙해지겠지.)
생각해 보면 이제껏 내가 어도비를 탈출 못 했던 건 딱 두 가지 이유 때문이었다.
첫 번째 이유는, 바로 그 '한 땀 한 땀'이 아주 힘들지만 또 막상 하면 기묘하게 재미진 거거든.
에이아이에게 그 미묘한 타이밍을 말로 설명하려다 보면 답답해서 결국 내가 나서게 되는데,
음... 이게 얼마나 좋은데 말로 표현을 못 하겠네 싶으면서도 속으로는 늘 "누가 이거 한꺼번에 좀 해줬으면" 싶거든.
두 번째 이유는, 이전까지 쌓아 올린 탑을 방치하고 싶지 않아서랄까?
내가 이제 애펙을 안 열어주면 누가 내 새끼들 쳐다봐 주나 싶기도 하고... (하지만 사실 나도 다시 안 열어보는 건 안 비밀.)
근데 그걸 똑같이 만들 수 있다네, 심지어 에이아이랑 말로 대화가 통하는 구조로!
에이아이랑 더욱 친하게 만들어진 구조(.ecproj + MCP)라 에이아이는 파일만 쓱 보고도 안에 뭔 내용인지 단번에 알아버리네.
그리고 요즘 나랑 제일 친한 클로드 오푸스(Opus)에게 마침 하고 있던 유튜브 작업(Key Stage Stories)을 보여주고 필요한 걸 말하니,
세상에, 뚝딱 JSX 스크립트가 나와버렸네???
어떻게 했냐면.....
전에 내가 한 땀 한 땀 만들어 뒀던 이전 에피소드(A04) 구조를 오푸스한테 보여주고 이번 편(B03)에 들어갈 클립 40개와 그림 39장, 영상 13개를 던져줬어.
그리고 "선생님 문장 끝날 때마다 0.6초씩 쉬어가면서 오디오는 줄여주고, 첫 문장 시작하고 조금 있다가 선생님 화면이 왼쪽으로 스르륵 줄어들면서 오른쪽에 역사 그림 창이 열리게 해줘!" 라고 말했지.
예전 같았으면 파일 80개 갈아 끼우고 빈 프레임 찾느라 눈알이 빠졌을 텐데, 오푸스가 짜준 B03_build.jsx를 돌리니까 5분 11초짜리 타임라인이 몇 초 만에 조립됐다.
심지어 작업하다 보니까 03번 클립에선 애들 목소리가 섞여 나오고, 09번은 잡음이 끼고, 35번은 선생님 옷이 바뀌어 있는 거야.
예전 같았으면 그 클립들 다시 뽑아서 끼우느라 뒤에 있는 키프레임 수백 개를 또 다 밀어야 했을 텐데,
이번엔 그냥 파일만 바꿔 넣고 스크립트를 다시 실행하니까 1초 만에 재조립이 끝나버렸다.
여기서 끝이 아니라, 선생님 화면이 옆으로 밀리고 오른쪽 창이 열리는 이 구조를 매번 만들 때마다 귀찮잖아?
그래서 오푸스한테 "야, 이거 아예 레이어 두 개만 찍고 실행하면 널(Null) 레이어 하나로 왔다 갔다 조종할 수 있는 스플릿 스크린 리그(SplitScreenRig.jsx)로 만들어 줘!" 라고 했더니 진짜로 뚝딱 짜줬다.
컴프에서 레이어 두 개 고르고 스크립트만 돌리면 Splitter 컨트롤러가 생겨서, 그걸 좌우로 움직이기만 하면 두 화면 비율이 스르륵 바뀌고 간격이나 라운드, 패럴랙스까지 애펙이랑 이펙트 크래프트 양쪽에서 똑같이 돌아간다!
깃허브에 올려뒀으니 혹시 궁금하면 가져다 써봐. 공짜야!!!
SplitScreenRig.jsx
After Effects & EffectCraft
var ctrl = comp.layers.addNull();
ctrl.name = "Splitter";
control("ADBE Slider Control", "Gap", 20);
control("ADBE Checkbox Control", "Edge Gap", 1);
control("ADBE Slider Control", "Roundness", 0);
control("ADBE Slider Control", "Parallax", 100);
var head =
'c = thisComp.layer("Splitter");\n' +
'g = c.effect("Gap")(1);\n' +
'm = c.effect("Edge Gap")(1) > 0 ? g : 0;\n' +
'W = thisComp.width; H = thisComp.height;\n' +
'x = c.toComp(c.anchorPoint)[0];\n';
신나서 하나 더 시켜봤더니, 유료 플러그인 하나도 안 쓰고 기본 이펙트만으로 빛 굴절되고 색수차 생기는 유리 캡슐(GlassCapsule.jsx)까지 실행 한 번으로 다 세팅해 주네.
결국 내가 그토록 어도비를 못 떠나던 두 가지 이유는 이렇게 하나씩 사라지고 있다.
근데 잠깐만... 분명히 누가 에이아이 때문에 여가 시간 많아진다고 했어?
막상 이게 되니까 이것도 해보고 싶고 저 스크립트도 짜보고 싶어서, 난 일만 더 많아졌음.
"One day I am breaking out of the Adobe subscription prison!" For a veteran motion designer like me who has been muttering that for years, a beam of light finally cut through the clouds.
With everything in the world shifting to AI and automation these days,
sitting inside After Effects swapping footage files one by one, nudging keyframe delays, and squinting to check for stray empty frames was making me pretty fed up with myself.
Then I heard a rumour: "Someone built an After Effects with AI?"
Hmm, lately I have been automating bits of my own workflow with Blender tools and After Effects scripts,
but deep down I was waiting for a brave hero to build a whole new After Effects from scratch!!
It is called EffectCraft, which is a surprisingly classic name.
"Craft"... maybe it means from here on out, you bring the craftsmanship to use it?
True enough, the moment you open it, it brings over the exact classic After Effects workflow right down to the keyboard shortcuts.
(A few shortcuts do not work yet, but I will get used to that fast enough.)
Looking back, there were really only two reasons I could never escape until now.
Reason 1 is that all that painstaking keyframe tweaking is exhausting, yet weirdly fun once you are in it.
Whenever I try to explain that subtle timing to AI in words, I get impatient and jump in to do it myself,
thinking "man, this feels so good I cannot even put it into words" while simultaneously wishing someone would just do all the repetitive stuff in one go.
Reason 2 is not wanting to abandon the tower of projects I had already built over the years.
If I stop opening After Effects, who is going to look after my babies, all those old .aep files? (Not that I ever actually open them again anyway, shh.)
Turns out I can build the exact same structures there, and I can build them just by talking to AI!
Because it is structured to be super friendly to AI (.ecproj + MCP), the AI just glances at the project file and immediately knows everything inside.
And when I showed my closest buddy lately, Claude Opus, the YouTube history series (Key Stage Stories) I was working on and told it what I needed,
boom, out popped a ready-to-run JSX script on the spot???
Here is how we did it.....
I showed Opus the previous episode template (A04) I had built by hand, and pointed it to the folders for Episode B03 with 40 presenter clips, 39 illustrations, and 13 animated videos.
Then I told it to add a 0.6-second pause after every sentence while ducking the audio so the presenter smiles quietly, and to smoothly shrink the presenter into a left strip while opening the story window on the right.
Normally swapping 80 files and hunting for empty frames would eat half my day, but running B03_build.jsx assembled the entire 5-minute-11-second timeline in seconds.
Halfway through reviewing, I noticed clip 03 had stray kids' voices, clip 09 had room noise, and in clip 35 the presenter's jumper changed.
In the old days, swapping in regenerated clips of different lengths meant shifting hundreds of keyframes downstream by hand,
but this time I just dropped the new files in, re-ran the script, and the whole master comp rebuilt itself in 1 second flat.
Since building that sliding split screen by hand every time is a chore,
I told Opus: "Hey, turn this into a universal rig (SplitScreenRig.jsx) where I just select two layers, run the script, and control the whole split with a single Null!"
Select two layers in a comp, run the script, and a controller called Splitter appears that drives the split position, Gap, Edge Gap, Roundness, and Parallax identically in both After Effects and EffectCraft.
I put it up on GitHub, so if you are curious, go grab it and use it. It is free!!!
SplitScreenRig.jsx
After Effects & EffectCraft
var ctrl = comp.layers.addNull();
ctrl.name = "Splitter";
control("ADBE Slider Control", "Gap", 20);
control("ADBE Checkbox Control", "Edge Gap", 1);
control("ADBE Slider Control", "Roundness", 0);
control("ADBE Slider Control", "Parallax", 100);
var head =
'c = thisComp.layer("Splitter");\n' +
'g = c.effect("Gap")(1);\n' +
'm = c.effect("Edge Gap")(1) > 0 ? g : 0;\n' +
'W = thisComp.width; H = thisComp.height;\n' +
'x = c.toComp(c.anchorPoint)[0];\n';
Getting carried away, I asked for one more, and out came GlassCapsule.jsx, which builds a refractive glass capsule with chromatic dispersion and directional rim light using only built-in effects and zero paid plugins.
So the two reasons I could never leave Adobe are disappearing one by one.
Wait a second though... who said AI was supposed to give us more free time?
Now that all of this actually works, I want to build this tool and that script too, so I just ended up with way more work.