Awesome Motion Graphics
여러 출처에서 모은 효과 레시피 라이브러리입니다. effects/ 안의 각 레시피는 스펙(모양, 필요한 것, 사용자가 채울 내용, 정확한 레이아웃 및 타이밍)을 정의합니다.
워크플로우
- 이름이 주어지지 않았나요?
effects/안의 모든 파일을 frontmatter의 한 줄summary와 함께tags별로 그룹화하여 나열합니다. 중단합니다. - 프로젝트에서 처음 실행하나요?
setup/house-style.md를 실행한 다음, 효과의needs에mask또는head-track가 포함되어 있으면setup/mask-and-head-track.md를 실행합니다. 이미 존재하는 것(HOUSE_STYLE.md,public/mask/,public/head-track.json)은 건너뜁니다. - 일치하는
effects/<name>.md를 읽습니다. 모든[INPUT]을 사용자의 말로 채웁니다. 여전히 누락된 항목(특히 실제 숫자)은 물어보세요. 통계, 조회수 또는 로고를 절대 지어내지 마세요. "단어 X에서"와 같이 타이밍이 주어지면: 클립을 단어 타임스탬프와 함께 전사하고 그대로 사용합니다. - HOUSE_STYLE.md를 따라 효과 이름을 딴 자체 컴포지션으로 빌드합니다.
out/<name>.mp4로 렌더링하고, 경로를 보고한 후 4개의 스틸 이미지(시작, 중간 두 개, 끝)를 보여줍니다.
extras/에는 효과가 아닌 레시피(채팅 스타일 인트로/엔딩 chat-render.md)와 여러 편집을 하나의 릴로 조합하는 방법(full-reel.md)이 들어 있습니다.
모든 레시피의 기본값
- 1080×1920, 30fps, 소스 클립은
public/talking.mp4(복사본 사용, 원본은 절대 편집하지 않음). - 읽을 수 있는 모든 것의 안전 영역: x 120–960, y 260–1700. 얼굴을 절대 가리지 마세요.
- "Linear light"란: 리니어로 변환하고, 블러/틴트/라이트를 적용한 후 sRGB로 다시 변환합니다.
- "마지막 프레임에서도 움직임이 계속됨"이란 카메라 푸시가 완전히 멈추지 않음을 의미합니다.
뭔가 이상해 보일 때
| 증상 | 해결 방법 |
|---|---|
| 컷아웃 깜빡임 / 헤어 헤일로 | 시간에 따라 마스크를 더 부드럽게; 페더링 전에 1px 축소 |
| 너무 빠름 | 4초로 늘리고 모든 움직임을 그에 맞게 조정 |
| 휴대폰에서 텍스트 읽기 어려움 | 모든 텍스트에 +20%, 휴대폰 크기에서 확인 |
| 그래픽이 얼굴에 닿음 | 얼굴 영역 밖으로 더 아래로 이동 |
| 움직임이 로봇처럼 느껴짐 | HOUSE_STYLE.md에서 이징 + 모션 블러 다시 적용 |
| 느린 머신 | 먼저 절반 크기 프리뷰로 렌더링하고, 승인되면 전체 품질로 |
레시피 추가하기
effects/에 새 파일을 만들고, 다음 frontmatter와 본문(Inputs, Build, Timing 형식)을 포함합니다:
name: kebab-name
summary: 시청자가 보게 될 내용을 한 줄로
source: README의 source-id
needs: [mask, head-track, behind-me, reels, music] # 하위 집합
Duration: 3s
tags: [3d, glass, text, camera, data, layout]