Communitygithub.com

레이어드 모션 (컴포지션)

After Effects 스타일로 레이어와 키프레임이 있는 모션 그래픽 컴포지션을 만듭니다. 하단 1/3 자막, 애니메이션 타이틀, 키네틱 타이포그래피, 통계 표시, 로고 스팅, 콜아웃 등 사용자가 직접 타임라인에서 재편집할 수 있는 그래픽에 적합합니다.

레이어드 모션 (컴포지션)란 무엇인가요?

이 스킬은 레이어 기반의 모션 그래픽 컴포지션을 제작하여, 최종 사용자가 편집 패널에서 각 레이어의 속성과 키프레임을 자유롭게 수정할 수 있도록 합니다. 주로 하단 1/3 자막(lower third), 애니메이션 타이틀, 키네틱 타이포그래피, 통계 표시, 로고 스팅, 콜아웃 등 재사용 및 재편집이 필요한 그래픽에 사용됩니다. 단순히 한 번 쓰고 버리는 그래픽이라면 일반 모션 컴포넌트나 HTML 요소로 충분하지만, 이후 편집 가능성이 있다면 `convertToComposition` 명령어를 통해 TSX 컴포넌트나 모션 컴포넌트를 레이어 컴포지션으로 변환할 수 있습니다. 지원하는 플랫폼은 MCP 기반의 AI 에이전트(예: Claude Code, Codex)이며, `addComposition`, `editComposition`, `setLayer`, `setAnimator` 등 다양한 명령어를 제공합니다. 작업 흐름은 먼저 카탈로그에서 컴포지션 관련 명령어를 검색하고, 작은 단위로 레이어를 추가한 후 각 속성에 키프레임을 적용하여 애니메이션을 줍니다. 마지막으로 `get_project`로 현재 상태를 읽어 다음 편집의 기초로 삼고, 입장, 홀드, 퇴장 구간을 프레임 단위로 점검합니다. 자연스러운 모션을 위해 키프레임 이징(easeOutCubic, easeInCubic)을 적절히 사용하고, 반복적인 움직임은 표현식(expression)을 활용하여 효율적으로 제어하는 것이 권장됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vidmoat/skills/tree/HEAD/skills/vidmoat/layered-motion

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

레이어드 모션 (컴포지션)은(는) 무엇을 하나요?

컴포지션은 여러 레이어로 구성된 모션 그래픽으로, 각 속성이 개별적으로 키프레임되어 사용자가 컴포지션 패널에서 열어 수정할 수 있습니다. 그래픽이 편집될 가능성이 있을 때(예: 이름이 바뀌는 하단 1/3 자막, 사용자가 다시 타이밍을 조정할 타이틀) 이 스킬을 사용하세요. 한 번 쓰고 편집이 예상되지 않는 그래픽은 모션 컴포넌트나 HTML 요소로 충분합니다. convertToComposition 명령어는 모션 컴포넌트나 TSX 컴포넌트를 나중에 레이어로 변환해 줍니다.

작업 흐름

  1. 검색: 역량(capabilities)에서 workflows 종류, compositions ID로 컨트랙트를 찾고, get_command_schema (MCP) 또는 searchCatalogue에서 commands 종류, editComposition ID로 모든 명령어를 확인합니다.
  2. 작게 시작: 필요한 레이어만 addComposition으로 추가하되, 컴포지션 픽셀 단위로 작업합니다. 모든 레이어에 의미 있는 이름을 붙이세요(예: "Name", "Role", "Bar"). 사용자는 패널에서 이 이름을 읽고, 표현식도 이 이름으로 레이어를 찾습니다.
  3. 한 번에 하나의 속성을 키프레임으로 애니메이션합니다. 키프레임의 이징(easing)은 그 키프레임 으로 들어오는 움직임을 결정합니다. 진입은 easeOutCubic으로, 퇴장은 easeInCubic으로 이징하고, 진입 시간은 0.4~0.6초로 유지합니다.
  4. 읽어오기 ( get_project: clips[].composition )를 다음 편집 전에 수행하여, 명령어들이 실제 레이어 이름, 애니메이터, 경로, 효과 ID를 사용하도록 합니다.
  5. 완료했다고 말하기 전에 진입, 홀드, 퇴장 구간의 프레임을 확인합니다.

어떤 효과에 어떤 도구를 쓸까

  • 글자가 나타나는 효과: 여러 텍스트 레이어에 키프레임을 주지 말고 텍스트 애니메이터를 사용하세요. 코드나 따라 읽는 자막은 textPreset typewriter, 강력한 훅은 wordPop, 차분한 타이틀은 lineRise, 우아한 등장은 fadeByChar를 사용합니다. 어느 것도 맞지 않으면 setAnimator로 직접 만드세요(unit, shape, range).
  • 도형이 와이프되거나 나타나는 효과: 마스크의 너비나 포인트를 키프레임하거나, 다른 레이어의 모양을 따라 나타나게 하려면 트랙 매트(track matte)를 사용하세요.
  • 스스로 그려지는 선 (밑줄, 단어를 감싸는 원, 화살표): 스트로크와 트림 패스(trim paths)가 있는 쉐이프 레이어, trimEnd를 0에서 100까지 키프레임합니다. 둥근 끝(round caps)은 그려지는 느낌, 각진 끝(butt caps)은 잘라내는 느낌을 줍니다.
  • 한 도형이 다른 도형으로 변하는 효과: 패스의 포인트를 키프레임하세요. 모든 키프레임은 동일한 수의 포인트를 가져야 합니다.
  • 계속 움직이는 효과 (부드럽게 떠다니기, 맥박): 수십 개의 키프레임 대신 표현식( value + wiggle(1, 6), 또는 loopOut("pingpong") )을 사용하세요. wiggle은 작게 유지하세요: 몇 픽셀은 생동감, 수십 픽셀은 고장 난 느낌입니다.
  • 한 레이어가 다른 레이어를 따라가는 효과: 표현식으로 상위 레이어를 읽도록 하세요( layer("Bar").x ). 그러면 나중에 상위 레이어를 수정하면 하위 레이어도 함께 움직입니다.
  • 깊이감과 마감: 이펙트 스택(드롭 섀도우, 글로우, 스트로크, 색상/그라디언트 채우기, 블러)을 활용하세요. 그래픽당 섀도우 하나, 부드럽고 낮게; 글로우는 밝은 배경의 어두운 텍스트에만 사용합니다.
  • 반복되거나 재사용되는 블록 (세 번 사용되는 이름 태그): 프리컴포즈(precompose)하고 프리컴을 세 번 배치하되, 각각 다른 시간 오프셋을 줍니다.

하단 1/3 자막 예시 (레이어 구성)

  1. 막대(사각형, 브랜드 색상) – 사각형 마스크로 너비를 0에서 100%까지 0.5초에 걸쳐 키프레임, easeOutCubic.
  2. 이름(굵은 텍스트) – 막대 위에 textPreset lineRise로 0.15초 후 시작; 직함(더 가볍고 작은 텍스트)은 fadeByChar로 그보다 0.1초 후.
  3. 최소 2.5초 동안 홀드; 퇴장은 그룹의 불투명도를 키프레임하거나 막대 마스크를 다시 0으로 키프레임, 0.3초 easeInCubic.
  4. 화면 하단 안전 영역에 배치, 자막과 겹치지 않도록.

주의사항 (Gotchas)

  • 키프레임된 속성에 setProps를 사용할 때는 time이 필요합니다: 해당 시간에 키프레임을 설정합니다. time 없이 호출하면 거부됩니다(기본값으로는 표시되지 않기 때문).
  • 잠긴 레이어는 setLayer { locked: false }를 호출하기 전까지 모든 편집을 거부합니다.
  • 트랙 매트는 바로 위에 있는 레이어를 사용합니다. 레이어 순서를 바꾸면 짝이 깨집니다.
  • 표현식은 작은 언어입니다: time, value, index, duration 및 나열된 함수만 인식합니다. 이 외의 것은 거부되고 허용된 목록이 반환됩니다.
  • 트림과 스트로크는 쉐이프의 스트로크에 적용되며, 채우기에는 적용되지 않습니다.

관련 스킬: motion-graphics, titles, text-led-video. 전문가: motion-designer.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬