SCRIPTTarget Layer를 무한 추적하는 Tracer Script

motionlab
조회수 5764

원하는 Target Layer를 지정하여 Layer들을 무한 추적할 수 있는 Script를 소개해 드리겠습니다. 모션 그래픽을 하는 분들이 많이 알고 있는 모션니스트 코리아의 선주훈 씨가 만든 Script입니다. After Effects의 Script들은 거의 대부분 외국에서 만든 것들을 사용하는 것에 익숙해져 있는 현실에서 국내에서 만든 Script를 소개한다는 것이 괜히 자랑스럽기도 합니다. 이제 Videohive에서도 만나볼 수 있습니다. 많이 찾아주기 바랍니다. 



https://videohive.net/item/tracer/20158056


adb20e3130867.png




1. Tracer


01. 생각보다 Tracer Script는 간단한 구조로 구성되어 있습니다. 그렇다고 기능이 간단한 것은 아닙니다. 많은 옵션들이 있으며, 적용을 시키면 이펙트 컨트롤 창에 이펙트 형식으로 생성이 됩니다. Add Point 기능은 뒤에서 설명 드리겠습니다. 작업 전에 Tracer Script를 C > Program Files > Adobe > Adobe After Effects CS6 > Support Files > Scripts > ScriptUI Panels 안에 넣으면 됩니다. 그런 다음에 After Effects를 실행한 후, Edit > Preferences에 가서 Allow Scripts to Write Files and Access Network를 체크하면 됩니다.
a5493daf34189.png



02. 일단 Shape Layer를 하나 만듭니다. 레드톤으로 만든 이 사각형 Layer가 Target Layer가 될 것입니다. 그런 다음 작은 사이즈의 사각형 Layer를 또 하나 만듭니다.

7cfe9691d4490.png



03. 작은 흰색 Shape Layer를 선택한 다음, Select 버튼을 누릅니다. Select를 누르면, Add Point 버튼이 Target Layer를 지정할 수 있는 팝업 메뉴로 바뀝니다. 여기에서 맨 처음 만들어준(빨간 색의 사각형 Shape Layer) Shape Layer1을 선택합니다.

b319e920fe164.png



04. 팝업 메뉴에서 선택하면, Shape Layer에 Expression이 적용되며, Layer의 이름 앞에 Controls라는 이름도 함께 생겨났습니다. Layer Bar의 컬러도 눈에 띄는 노란색으로 바뀐 것을 볼 수 있습니다. Script가 적용된 상태라서 사실 이 Layer를 손 댈 필요는 없습니다. 그래서 DON'T EDIT!라는 설명도 적혀있습니다.

46691e440f303.png



05. 이제 Play를 해보면, 무한 반복되면서 작은 흰색 박스가 큰 빨간색 박스의 중심축으로 들어가는 것을 확인할 수 있습니다.

02cdc4f5e4ec4.jpeg



06. 이제 Target Layer, 즉 맨 처음에 만든 빨간색 Shape Layer를 선택한 다음, 이펙트 컨트롤 창을 확인해 봅니다. 꽤 많은 이펙트들을 볼 수 있습니다. 사용자가 편리하게 옵션을 조절할 수 있도록 Expression과 연결해 놓은 것들입니다.

115474c7cf36d.png



07. 앞서 말한 대로 작업을 하고 Play를 해봤을 것입니다. 그런데 0프레임부터 곧바로 애니메이션이 시작되지 않았을 것입니다. 그 이유는 Gap Frequency(Frame)의 기본값이 60프레임으로 되어 있기 때문입니다.

e2e553c7ce07e.png



08. Gap Frequency(Frame) 값이 60프레임이어서 60프레임 뒤에 시작을 해야 하는데, 50프레임 정도에서 시작됩니다. 그 이유는 나중에 제작한 분께 꼭 물어보겠습니다.

389380dbb750b.png



09. 이제 작은 흰색 Shape Layer를 2개 정도 복제를 하겠습니다. Shape Layer 3, 4로 만들어졌습니다.

0a2e0710f7bc8.png



10. 복제한 Layer들의 위치를 약간 다르게 배치합니다. 3개의 Layer가 Target Layer를 향해 날아가는 것을 볼 수 있습니다. 여기에서 3개가 동시에 날아가는 것이 아니라, 자동으로 불규칙하게 날아가도록 Expression이 되어 있습니다.

929aefbbae3c8.png



11. 타임라인을 확인해 보면, Z축도 아주 약간씩 Layer들마다 차이가 나는 것을 확인할 수 있습니다. 그래야 평면적이 아닌 입체적으로 보여지기 때문입니다.

ad8b0a9c9deb8.png



12. Gap Frequency(Frame)의 값을 0으로 입력하면, 3개의 추적 Layer가 동시에 움직이는 것을 볼 수 있습니다.

a72843609a4c5.png



13. 혹시나 하는 마음에 타임라인의 Position 값을 확인해보니 Z축 값도 정확히 같게 나타납니다.

d6ec4f7e3c6b1.png



14. 이제 Target Layer의 Position에 wiggle Expression을 입력해 보겠습니다. Layer의 속성에 Expression을 적용하려면, Alt 키를 누른 상태에서 속성의 타임 워치를 클릭하면 됩니다. 그러면 Expression을 입력할 수 있는 공간이 나타납니다. 여기에 wiggle(1,300)이라고 입력하면 됩니다. wiggle Expression을 위치값에 적용하면, 마치 수전증 환자가 손을 떠는 것처럼 자동으로 오브제가 흔들리게 됩니다. 앞에 넣은 숫자 1은 Frequency 빈도수입니다. 어느 정도 오브제가 떨리게 될지를 정합니다. 수치가 올라가면 바들바들 빠르게 떨립니다. 뒷부분의 숫자 300은 Amplitude입니다. 진폭입니다. 수치가 올라갈수록 이곳 저곳 움직이는 범위가 넓어집니다. 이 수치를 20이나 40정도로 입력하면, 마치 물위에서 약간 흔들리는 듯한 움직임을 볼 수 있을 것입니다.

d500c36f762cc.png



15. Delay(Frame)는 움직이지 않는 Target Layer에는 소용이 없는 옵션입니다. 일단, wiggle Expression으로 Target Layer가 움직이게 되었으니 Delay(Frame) 값을 10으로 입력합니다. 그런 다음, 움직임을 보고, 값을 0으로도 입력해 움직임을 확인해 보기 바랍니다. 추적 Layer(흰색 사각형)들이 Target Layer에 도달 시 미세한 지연 프레임을 만들어 내는 옵션입니다. 아마도 시각적으로 큰 차이를 느끼지 못할 수도 있습니다. 하지만, Delay(Frame)를 어느 정도 줘야만 Target Layer의 움직임이 클 때 좀 더 자연스러운 모션을 만들어 낼 수 있습니다.

fdb01b9318594.png



16. 이번에는 Duration이라는 옵션을 알아보겠습니다. 이것은 추적 Layer가 Target Layer까지 가는 시간을 말합니다. 1로 입력되었으면 추적 Layer가 Target Layer까지 가는 시간이 바로 1초란 뜻입니다. 테스트를 한번 해보겠습니다. 좀 더 확인하기 쉽게 추적 Layer의 컬러를 조금 다르게 해보았습니다. 현재 A 녹색 Layer가 Target Layer와 가장 멀리 떨어져 있습니다. C 흰색 Layer가 가장 가깝게 있습니다.
c5a1e6c275043.png



17. 좀 더 정확한 확인을 위해 Gap Frequency(Frame) 값을 0으로 하고, Duration 값을 1초로 입력합니다. 3개의 추적 Layer는 1초 동안 무조건 Target Layer로 가야 합니다. 그럼 어떻게 되겠습니까? 녹색의 Target Layer가 가장 빨리 움직여야 할 것입니다. 가장 멀리 떨어져 있기 때문입니다. 반면, 흰색 Layer는 1초간 천천히 움직여도 됩니다. 거리가 가까워서. 애니메이션으로 확인해 보기 바랍니다.

efe8c80c2292c.png



18. Duration 값을 0으로 입력하면 전혀 움직임이 없는 정지된 상태가 됩니다. 현재 Auto Orientation도 체크를 해제한 상태입니다.

9e00c14414af7.png



19. Auto Start가 체크되어 있으면 자동으로 애니메이션이 시작됩니다. 물론, 키프레임을 만들지 않아도 말입니다. Reverse Animation을 체크하면 거꾸로 애니메이션이 진행됩니다. 다시 말해, Target Layer에서 추적 Layer들이 발산되는 애니메이션이 만들어 집니다. Loop Animation을 체크하면, 무한 루프로 반복되는 애니메이션을 볼 수 있습니다.

e0cf45119bfba.png



20. 이런 것들이 싫다면, 3개의 체크를 모두 해제한 다음, Animation Offset으로 키프레임 애니메이션을 만들어도 됩니다. 앵글값을 이용해서 애니메이션을 만들어 주는 것입니다.

354ca3d220352.png



21. 현재는 Auto Orientation이 체크된 상태이기 때문에, 그림처럼 추적 Layer가 위치에 따라서 항상 Target Layer를 바라보는 형태로 자동 회전이 되어 있는 상태입니다.

77016119b2b3a.png



22. 기본값은 Auto Orientation이 체크되어 있습니다.

6d96b4ef43fa1.png



23. 만약, 이것을 해제한다면, 추적 Layer에 회전값이 적용되지 않고 원래 만든 것처럼 보여집니다.

c55aede2fbf4f.png



24. 이제 컨트롤 이펙트 창 하단에 있는 Scale 옵션 기능을 알아보겠습니다. 추적 Layer들의 각각 Scale 값은 100입니다.

af36ea8116801.png



25. 그림처럼 이 사이즈가 맨 처음 만든 사이즈입니다.

8477ce80734c4.png



26. 이제 Scale 값을 조절하여 애니메이션을 만들어보겠습니다. 추적 Layer가 가지고 있는 원래 사이즈는 그대로 두고 시작해 보겠습니다.

302fb928615aa.png



27. 타임라인 윈도우에서 Target Layer를 선택합니다. 이펙트 컨트롤 창에서 Scale 옵션을 확인해 보겠습니다. 아마도 0,0,0으로 보일 것입니다. 이것을 X축 100, Y축 100으로 입력하여 100,100,0으로 만들어 줍니다. 그러면 자동으로 추적 Layer의 Scale 값들이 커지는 것을 확인할 수 있습니다. 기존의 사이즈에 100을 더한 셈이 됩니다. 어떻게 애니메이션이 되는지 확인해보겠습니다.

dbb8b12a44f07.png



28. 사이즈가 2배로 커진 추적 Layer들이 Target Layer에 도달할수록 원래 사이즈인 100%로 바뀌는 것을 볼 수 있을 것입니다. 만약에 작아졌다가 커지는 애니메이션을 만들려면 어떻게 하면 되겠습니까? 이펙트 컨트롤 창에 있는 Scale 값을 - 값으로 입력하면 됩니다.

0b3b0a21abfa0.jpeg



29. 눈치챈 분들도 있겠지만, Tracer Script를 적용하면, 추적 Layer들은 3DLayer가 자동으로 활성화됩니다. 그 말은 공간 상에서도 앞서 설명한 것들이 가능하다는 말입니다. 일단, Target Layer도 3DLayer를 체크합니다. 그런 다음, Y Rotation 값을 90으로 입력합니다.

60d9b85dc86b5.png



30. Composition Window의 View를 Active Camera에서 Custom View1으로 바꿉니다. 그러면 공간상에서 날아가는 추적 Layer들을 볼 수 있습니다.

42afbf5be7d0b.png



31. 이번에는 Opacity 옵션에 대해서 알아보겠습니다. 원리는 앞서 설명한 Scale 옵션과 같다고 보면 됩니다. 추적 Layer가 보이지 않는 상태에서 서서히 모습을 나타내면서 Target Layer로 움직이는 애니메이션을 만들어 보겠습니다. 그렇게 하려면, 처음 시작할 때의 추적 Layer의 투명도가 0%여야만 합니다. 추적 Layer가 원래 가지고 있는 투명도 값은 100. 이것을 0으로 만들려면 이펙트 컨트롤 창에 있는 Opacity 값을 -100으로 입력해야 합니다.

5964dafe83820.png



32. 이제 애니메이션을 확인해보기 바랍니다. 추적 Layer의 투명도가 0%에서 100%로 바뀌면서 Target Layer에 도달하는 애니메이션을 볼 수 있습니다.

373204e2dda4d.jpeg





2. Add Point


01.이번에는 Tracer Script가 v1.2버전으로 업그레이드되면서 추가된 Add Point 기능에 대해서 간략하게 설명 드리겠습니다. 기존 Tracer Script는 Target이 되는 Layer의 중심축을 향하여 추적 Layer들이 움직이는 것이었습니다. 하지만, 이제는 임의로 Target Layer에 또 하나의 포인트를 만들어 추적 Layer들의 움직임을 조절할 수 있게 되었습니다. 먼저, Target Layer가 될 블루 박스를 먼저 선택합니다.

eff6a5f6a0295.png




02. 그런 다음 Add Point 버튼을 누릅니다.

90012ae971dc7.png



03. 자주 봤던 Null Layer가 생성됩니다.

59881aaeeb1e6.png



04. 타임라인 윈도우를 보면 Null Layer가 만들어진 것을 확인할 수 있습니다. 물론, Null Layer는 어떤 위치에 가져다 놓아도 상관없습니다. 블루 박스의 왼쪽 엣지 부분에 위치시킵니다.

cc91ad880fbde.png



05. 이제 타임라인 윈도우에서 작은 흰색 박스 Layer(추적 Layer) 3개를 동시에 선택한 다음, Select 버튼을 누릅니다. Target을 설정할 수 있는 팝업 메뉴가 나오면, 여기에서 [point 1][3] Shape Layer 1을 선택합니다. 방금 만든 Null Layer입니다.

6bb45132789d2.png



06. Null Layer는 블루 박스(Target Layer)가 움직이는 것과 함께 움직입니다. 마치, Parent시킨 것과 동일하게 움직입니다. 물론, 3개의 추적 Layer는 당연히 Null Layer를 향해서 움직이게 됩니다.

e90151fd19ea3.png



07. 타임라인 윈도우에서 Null Layer를 선택한 다음에 이펙트 컨트롤 창을 열어봅니다. 어디서 많이 보던 이펙트들이 보입니다. 바로 Null Layer가 Target Layer와 같은 기능을 하는 것입니다. 그런데, 처음 보는 메뉴가 맨 위에 등장합니다. 맨 앞부분에서 설명 드렸을 때는 없었던 옵션입니다. 바로 Target Delay(Frame) 기능입니다. 이 기능에 대해 설명 드리겠습니다.

6d40040d53c2d.png



08. 먼저 블루 박스 Target Layer의 Position에 앞서 작업한 것과 동일하게 wiggle Script를 입력합니다.

3eb2b175dc51c.png



09. 다시 Null Layer를 선택한 다음, 이펙트 컨트롤 창에서 Target Delay(Frame) 값을 5로 입력합니다.

cb817ae27822e.png



10. 이제 Composition Window에서 애니메이션을 시켜서 확인해 보면 됩니다. 블루 박스가 wiggle Script 기능으로 이리저리 움직이고 5프레임 늦게 Null Layer가 따라가는 모습을 볼 수 있을 것입니다. Target Delay(Frame) 기능은 Target Layer인 블루 박스가 움직일 때 약간의 지연 프레임을 가지고 Add Point로 만든 Null Layer가 움직이게 하는 역할을 합니다.

069d24d623465.png



11. 물론, 하나의 Target Layer에 Add Point로 여러 개의 포인트 즉, Null Layer를 생성할 수 있습니다. 그림은 2개의 포인트 즉, Null Layer를 만들어서 흰색 추적 Layer 3개는 왼쪽 상단에 있는 Null Layer를 향하고, 빨간색 추적 Layer 3개는 오른쪽 하단의 Null Layer를 향하게 만들어 놓은 것입니다.

8f60a4bc09257.png



사실 튜토리얼을 쓰면서 Tracer Script를 어떻게 응용하여 모션 그래픽에 활용하면 좋을까 라는 생각을 많이 해보았습니다. 응용만 잘하면 간단한 Background 영상들은 정말 손쉽게 만들 수 있을 것 같습니다. 그 외에도 크고 작은 애니메이션 작업 시 재미나는 것들을 만들 수 있을 것 같습니다. 항상 연구하는 자세로 유용한 Script를 만들어 내는 모션니스트 코리아 선주훈 씨께 감사 드리면서 더 좋은 Script들을 만들어서 세계의 많은 모션 그래퍼들이 우리가 만든 Script를 쓰는 날이 왔으면 좋겠습니다.


카카오톡 채널 채팅하기 버튼