SCRIPT인터렉티브한 Motion을 쉽고 빠르게 셋팅해주는 React Script

motionlab
조회수 119


이번 시간에는 복잡한 Expression으로만 가능했던 인터렉티브한 것들을 좀 더 쉽고 간편하게 만드는 방법에 대해 알아보겠습니다. React Script는 바로 이러한 것들을 해결해주는 Script입니다. 생각보다 조금 느린 퍼포먼스를 보여주는 것이 약간 아쉽지만, 수작업으로 하기 어려운 인터렉티브한 움직임을 만들어 주기 때문에, 알아 두면 유용한 Script입니다.


1. Install


01. 다른 Script들과 마찬가지로 Script > Script UI Panel 폴더 안에 넣어주면 설치는 끝납니다. 설치한 후에는 After Effects를 재실행하여 Window 메뉴의 하단 부분에서 찾으면 됩니다. React Script는 아래 그림처럼 가로와 세로형으로 사용자의 편의를 위해 변형시킬 수 있게 만들어졌습니다.


02. 라인 3개가 모여있는 회색의 아이콘 모양이 설정입니다. 클릭하면, React Script의 셋팅을 할 수 있는 창이 나옵니다. 여기에서 기본적인 셋팅이 이루어집니다.

- Linear: 선형으로 선택된 Layer를 복제합니다.

- Grid / Offset Grid: 가로와 세로의 복제되는 개수를 미리 정하여 Grid 형식으로 복제합니다.

- Radial: 선택된 Layer를 원형으로 복제합니다.

- Pre-compose: 기본값이 Off로 되어 있습니다. Instance와 Multiple로 설정 시, 선택된 Layer가 Pre-Comp 형식으로 바뀌게 됩니다.






2. React 적용


01. Shape Layer로 만든 크리스마스 트리를 소스로 사용해보겠습니다. Layer를 선택한 다음, Linear Repeater + Effector를 클릭합니다. 앞서 셋팅 창에 나온 것처럼 기본 Amount 값이 5이며, X축 Spacing이 150으로 되어 있습니다. 그래서 X축으로 150 픽셀 이동하고, 5개를 복제하라는 명령처럼 결과가 나왔습니다. Alt 키를 누른 상태에서 Linear Repeater + Effector 버튼을 누르면, Repeater만 적용됩니다.



02. 타임라인 윈도우를 확인해보면, Guide, Effector, Repeater 총 3개의 Null Layer가 생성된 것을 확인할 수 있습니다.



03. Repeater Layer는 복제된 Layer들의 위치를 바꾸거나 Layer들간의 간격을 조절하는 목적으로 사용됩니다. Composition 윈도우에 있는 Null Layer의 위치를 바꾸거나 사이즈를 조절하면, 각 Layer들의 X축 간격이 바뀌게 됩니다.


04. Repeater Layer를 선택하여 Effect 창을 확인해보면, Repeater를 조절할 수 있는 옵션들이 있습니다. 마치, Shape Layer가 가지고 있는 Repeater 기능과 비슷합니다. Y-Spacing 값을 60으로 입력하면, 각각의 Layer들의 Y축 값이 합산되는 형태로 위치가 바뀌게 됩니다. 예를 들어, 왼쪽 트리부터 Y축 값이 120, 60, 0, -60, -120 이런 식이 되거나 60, 120, 180, 240, 300 이런 식이 되는 것입니다.


05. Anchor Point 옵션에서 Repeat from을 First Layer로 바꾸면, 그림처럼 맨 처음에 만들었던 Layer를 중심으로 위치가 바뀌게 됩니다.



3. React Effector


01. 이번에는 복제된 Layer들을 인터렉티브하게 만들어주는 Effector에 대해 알아보겠습니다. 만들어진 Layer들의 포지션, 스케일, 로테이션 등을 재미나게 조절할 수 있는 것이 바로 Effector입니다. Shape이 기본 값으로는 Off로 되어 있어서 처음에는 안보일 것입니다. 이것을 Circle로 바꿔줍니다.


02. 가이드 라인이 원형으로 2개가 표시됩니다. 큰 원과 작은 원 사이에서는 변화가 일어나는 구간입니다. 작은 원에 Layer가 가까워질수록 변화된 상태를 그대로 유지하며, 작은 원의 중심축에서 멀어질수록 변화가 되는 방식입니다. 큰 원과 작은 원의 사이즈는 Shape 밑에 있는 Size로 조절하고, 작은 원은 Hold로 조절합니다. 여기에서 React Script의 방식을 잠깐 설명드리자면, 메뉴에서 어떤 아이콘을 클릭하든지 Position, Scale, Rotation, Opacity 총 4개의 Effector가 모두 적용됩니다. 대신, 이펙트는 모두 비활성 상태로 되어 있습니다. 차후에 적용하고자 하는 속성을 활성화시켜 사용하면 되는 방식입니다. 현재는 Scale 부분만 체크하고 작업하였습니다. Uniform Scale을 체크했기 때문에, X에 41로 입력만해도 전체 X, Y 사이즈가 한꺼번에 같이 커집니다. 개인적인 생각인데, 이런 방식 때문에, Script를 적용하면 생각보다 반응이 느리게 느껴집니다. 속성에 적용된 Expression을 보면, 암호화가 상당히 많이 되어 있는 것을 알 수 있습니다.


03. 원형 컨트롤을 왼쪽에서 오른쪽으로 이동하는 애니메이션을 만들어보면, 그림처럼 큰 원에 Layer가 들어오면서 서서히 사이즈가 커집니다. 작은 원 안에 들어오면, 가장 커진 상태가 유지됩니다. 작은 원에서 Layer가 멀어질수록 Layer는 다시 작아집니다.


04. Hold 값을 조절하여 작은 원을 어떻게 설정하느냐에 따라서 많이 달라지기 때문에, Composition을 보면서 조절하여 원하는 변화를 체크하는 것이 좋습니다.


05. Shape을 Box로 바꾸면, 원형의 가이드가 박스 모양으로 바뀝니다. 이번에는 Grid Repeater + Effector를 클릭합니다. 가로 4, 세로 4로 설정해 놓아서 그림처럼 총 16개의 Layer가 Grid 모양으로 만들어졌습니다.


06. 이번에는 Position Effector를 활성화시켰습니다. 박스의 가이드가 Layer들에게 다가오면, 가운데에 있는 작은 박스에 가까워질수록 Layer들의 위치가 밀리면서 이동되는 애니메이션이 만들어집니다.


07. Shape의 형태를 Linear로 바꾸면, 그림처럼 라인 형태로 바뀝니다. Layer들의 전체적으로 변화시킬 때, 사용됩니다.


08. 이번에는 png 이미지 파일을 하나 불러들였습니다. 그런 다음에 Honeycomb Grid Repeater + Effector 버튼을 클릭합니다. 벡터든 비트맵이든 상관없이 React Script는 적용됩니다. 벌집 모양의 정렬이 만들어졌습니다.


09. 앞서 설명했듯이, 셋팅 버튼을 눌러서 셋팅 창이 나오면, 여기에서 설정을 미리 하면 됩니다.


10. 만약, 작업에서 곧바로 복제되는 숫자를 바꾸려면, 그림처럼 입력 창에 3을 적고, 한 칸을 띄어서 5를 적으면 됩니다. 그러면, X축으로 3개, Y축으로 5개가 복제됩니다.


11. 이번에는 Layer를 선택한 다음, Radial Repeater + Effector 버튼을 클릭합니다. 미리 설정된 숫자만큼 원형으로 Layer들을 복제하여 배치시켜 줍니다.



4. 멀티 소스일 경우 React 사용법


01. 이번에는 소스가 여러 개일 경우에 사용하는 방법에 대해 알아보겠습니다. 서로 다른 3개의 소스가 있습니다. 3개의 소스를 선택한 다음, 입력 창에 2 3이라고 입력한 다음, Grid 버튼을 클릭합니다.


02. X축으로 2개, Y축으로 3개의 정렬이 만들어집니다.


03. 만약, 6 3으로 입력하면, 그림처럼 만들어집니다. 그렇다면, 어떤 원리로 Layer들의 순서가 정해진 것일까요?


04. 바로 Layer들을 선택할 때, 선택하는 순서가 중요합니다. 타임라인 윈도우에 있는 Layer의 순서가 아니라, Layer를 선택할 때의 순서입니다. 먼저 선택한 Layer가 그림처럼 먼저 보이게 되는 것입니다.



5. Attract / Repel


01. Layer를 하나 선택한 다음에 5 5로 입력하고, Grid Repeater + Effector 버튼을 클릭합니다.


02. 이번에는 가이드가 아닌 오브젝트로 인터렉티브한 영상을 만들어보겠습니다. 여기에 녹색의 사각형 Layer를 하나 만듭니다.


03. Position Effector를 활성화시킵니다. 그런 다음, Mode를 Attract / Repel로 바꿔줍니다. 그리고 Target을 방금 만든 녹색의 사각형 박스로 선택합니다. Attract은 ‘반응을 일으키다’, Repel은 ‘접근하지 못하게 쫓아버리다’라는 뜻입니다.


04. 녹색 박스 Layer를 움직이면, 다른 Layer들이 마치 박스 Layer를 피하듯이 움직이는 애니메이션이 만들어집니다. 이렇듯, 녹색박스가 아닌 다른 Layer를 만들어서 인터렉티브한 애니메이션도 만들 수 있습니다.




ⓒ Since 2004


SERVICE

02-517-0985
Mon - Fri AM 10:00 - 21:00
Red-Day Off

BANK

Shinhan BANK 110-362-296920
Motionlab.

ARTWORKS

Seoul, Korea  ㅣ  사업자등록번호 : 211-90-90651   상호명 : 모션랩학원    대표자 : 이병현   개인정보관리 : 김진희   ㅣ  10-11, Sapyeong-daero 55-gil, Seocho-gu, Seoul, Republic of Korea  통신판매신고번호 : 제 2020-서울서초-4008호