Communitygithub.com

모션 디자인 코드

Node, canvas, ffmpeg를 사용하여 코드로 모션 디자인 애니메이션(릴, 로고 인트로, 브랜드 영상)을 생성하고 편집 가능한 클립으로 제공합니다.

모션 디자인 코드란 무엇인가요?

이 스킬은 사용자의 요청(예: "애니메이션 만들어줘", "움직이는 릴", "브랜드 모션 그래픽", "로고 애니메이션", "애프터 이펙트 없이 영상")에 따라 코드 기반 모션 디자인을 생성합니다. Node.js, `@napi-rs/canvas`, ffmpeg를 엔진으로 사용하며, 각 프레임은 시간에 대한 순수 함수(`draw(ctx, t)`)로 설계되어 병렬 렌더링과 재현성을 보장합니다. 스프링 이징, 모션 블러, 부드러운 트랜지션을 지원하며, 편집을 위해 ProRes 422 HQ(MOV) 또는 H.264(MP4)로 내보냅니다. 또한 contact sheet 프리뷰, 모션 분석 스크립트, ffprobe를 통한 최종 파일 검증 기능을 제공합니다. 이 스킬은 Claude Code, Cursor 등 Node.js 기반 환경에서 동작합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Radwtsm/claude-crew/tree/main/plugins/motion-design-codice/skills/motion-design-codice

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

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

문서

코드로 하는 모션 디자인

먼저 물어볼 것

  • 형식과 지속 시간 (예: 릴 9:16 1080×1920 30fps), 게시 위치.
  • 브랜드의 색상, 폰트, 로고 및 수정할 수 없는 사항 (로고는 그대로 사용).
  • 참고 스타일 (동영상 또는 이미지) 및 텍스트 포함 여부.
  • 최종 편집을 사용자가 하는 경우 (Premiere/After Effects): 단일 비디오가 아닌 클립을 전달.

엔진

  • Node + @napi-rs/canvas로 그리기, ffmpeg로 인코딩.
  • 각 프레임은 시간의 순수 함수 draw(ctx, t): 프레임 간 상태 없음. 따라서 어떤 순간이든 재생성, 확인 또는 병렬 렌더링 가능.
  • 라이브러리(팔레트, 폰트, 이징, 스프링), 시퀀스, 배경, 렌더, 컨택 시트, 분석 등 별도 파일.
  • Windows에서 Python은 py로 호출.

움직임

  • 스프링 (감쇠 스프링의 폐쇄 응답)으로 진입 및 이동: 강한 시작, 부드러운 도착, 거의 느껴지지 않는 오버슈트. 3~4개의 프리셋 유지 (표준, 빠른 이탈, 큰 이동용 느림, 부드러움) 대신 분산된 값 사용.
  • 부드러운 ease-in-out으로 형태 변형 및 선 그리기.
  • 모션 블러: 180° 셔터에서 4개의 서브 프레임을 평균. 렌더링 속도 저하: 미리보기용 블러 없는 옵션 제공.
  • 연속 요소 간 0.05~0.15초 지연.
  • 우아한 스타일의 경우 만화 같은 바운스 금지; 여유로운 리듬, 동작 간 공간 확보.

연속성

  • "하나의 형태가 변형되는" 스타일: 각 장면은 이전 장면의 지오메트리에서 생성되며, 급격한 컷 없음.
  • 변형 중에는 요소가 사라졌다가 다시 나타나지 않음: 원본이 그려지지 않는 동시에 후속 요소가 같은 위치, 크기, 색상으로 생성됨.
  • 두 형태가 교환될 때 교환 순간에 회전, 크기, 색상을 공유; 페이드는 겹침 (빈 프레임이나 중복 프레임 없음).
  • 큰 흰색 채움: 중앙에서 채워서 성장, 페이드 인 하지 않음 (페이드 인 하면 회색으로 보임).
  • 스타일이 요구하면 정지 상태 금지: 호흡, 느린 회전, 부유, 약간의 카메라 푸시인.

제어

  • 전체 렌더 전 프레임 컨택 시트.
  • 분석 스크립트: 0.5초마다 이미지 변화량 측정, 정체 구간 및 급격한 변화 탐지.
  • 최종 파일의 지속 시간, 해상도, fps를 ffprobe로 확인.

내보내기

  • 미리보기/소셜: MP4 H.264 -crf 14 -pix_fmt yuv420p.
  • 편집용: MOV ProRes 422 HQ 10비트.
  • 오디오 추가:
ffmpeg -i video.mp4 -i audio.wav -map 0:v -map 1:a -c:v copy -c:a aac -b:a 256k -shortest 최종.mp4

인스타그램 릴

  • 그래픽 중심 (540, 960); 유효 영역 너비 최대 약 900px.
  • 프로필 그리드가 중심을 4:5(1080×1350) 및 3:4로 자름: 핵심 콘텐츠는 y ~420에서 ~1500 사이.
  • 아래와 오른쪽에는 앱의 캡션과 버튼이 있음: 비워둠.
  • 다른 내보내기 규격은 grafica 플러그인 참조.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬