Communitygithub.com

gallowforge/forge-motion

FilmForge motion: 각 샷의 생명을 크레딧 대신 코드로 계획합니다. (정적인 그림에 떠도는 안개, 재, 눈, 빗방울, 반짝임, 빛의 스윕, 불빛 깜박임, 열기, 떨림, 번개, 유리 균열, 전환, 황금 실, 손글씨 및 제목 등을 생동감 있게 표현) 모든 효과를 페인트-필름-파이프라인 렌더러의 정확한 파라미터에 매핑하고, 프레임 QA 코드 수정을 적용하며, 편집 타임라인을 내보내고 프리뷰를 렌더링합니다. 유료 비디오가 언제 그 크레딧 가치가 있는지 결정합니다.

forge-motion란 무엇인가요?

이 스킬은 정적인 그림(페인팅)으로 구성된 각 장면(샷)에 모션 생명력을 불어넣습니다. 원본 그림을 확대/축소하거나 이동하는 대신, 안개, 재, 눈, 불꽃, 빛, 떨림 등 다양한 GPU 기반 파티클 효과를 사용하여 내부에서 살아 움직이는 듯한 느낌을 줍니다. 각 샷의 모션 파라미터를 정의하고, 자동으로 QA 코드 수정을 적용하며, 최종 렌더링을 위한 타임라인을 내보내고 감독이 승인할 프리뷰 비디오를 생성합니다. 특히 유료 비디오 클립(예: Kling)이 필요한 실제 비행이나 변신 장면과 코드로 충분히 구현 가능한 효과를 구분하여 비용을 효율적으로 관리합니다.

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

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

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

문서

FilmForge Motion

그림은 필름 프레임처럼 고정되어 있습니다. 확대/축소도, 흐름도 없습니다. 움직임은 프레임 내부에서 발생합니다: 입자, 안개, 깜박임, 반짝임, 빛, 이 모든 것이 GPU에서 비용 없이 렌더링됩니다. 유료 비디오는 코드로 할 수 없는 것(실제 비행, 영화의 클라이맥스가 되는 변환)을 위해 아껴둡니다. 이 스킬은 각 샷의 motion 필드를 채우고, QA 수정을 적용하며, 렌더러를 위한 타임라인을 내보내고 감독이 승인할 프리뷰를 렌더링합니다.

경로: 아래 scripts/, templates/ 및 config/는 이 스킬 내부의 폴더입니다(로드 시 표시되는 기본 디렉토리). ./install.sh에 의해 생성됩니다. 리포지토리의 클론에서 작업할 경우, 루트에 있는 tools/, templates/ 및 config/입니다.

렌더러는 painted-film-pipeline(Python 및 GLSL, 모듈 이름은 아래 참조)입니다. 모든 픽셀 값은 4K(3840x2160)입니다. 렌더러는 이를 K = W / 3840으로 스케일링하므로 1080p 프리뷰에서도 동일한 숫자를 사용합니다.

1단계. 샷 읽기

각 샷에 대해: 비트, 장면의 분위기와 색상 스크립트, 리타임 후 길이, 그 아래 깔리는 음악(beatmap.json의 구절, 히트), 그림에 이미 그려져 있는 것(불, 바다, 하늘, 유리). 생명은 그림의 세계에 속해야 합니다: 불씨는 그려진 불에서 솟아오르고, 눈은 하늘이 있는 곳에 내립니다.

2단계. 생명 선택(용어집)

효과파라미터(샷 필드)값
떠도는 안개 띠fog + fogc(강도 0..1, 시작 y, 완전히 나타나는 y, 이동 속도); 색상 (r, g, b) 0..1
하이라이트 위 빛 스윕sweep(주기 s, 띠 폭 px, 강도, 0)
한 점 주변 불빛 깜박임flick + fire진폭 (0.07 ~ 0.45); (x, y, 반경 px)
띠 모양 열기shim(y 전체, y 0, 0, 강도)
카메라 흔들림shake(시작 s, 길이 s, 진폭 px)
전환 인/아웃tin, tout("fade" 또는 "white", 초); 기본값은 하드 컷
다시 프레이밍crop(x0, y0, x1, y1) 소스 픽셀 단위
입자 색조ashc(r, g, b)
입자life아래 입자 시스템에 대한 레시피 또는 람다
번개bolts샷 내 시간 목록
유리 균열crack(시작 s, 길이 s)

입자 시스템 (painted.py): ash(t, n, wind=(vx, vy), size=(min, max), alpha, seed) (재, 먼지, 눈); flakes(...) (크고 부드러운 조각); sparkles(t, n, alpha, size) (반짝임, 별); streaks(t, n, speed) (비); embers(t, n, src=(x, y), spread, rise, life) (원천에서 솟아오르는 불씨). 실제 영화 레시피 (film_cut.py): SNOW(n, wind), EMB(n, alpha), GLINT, RAIN, STARS(n), GOLD. 전체 파라미터 의미: references/pipeline-modules.md; 테스트된 분위기별 레시피: references/effects-cookbook.md.

그래픽 (graphics.py, overlays.py): 그려지고 음악에 맞춰 흔들리다가 멈추는 황금 실 리본 (T(points, t0, draw, w)); 왼쪽에서 오른쪽으로 쓰여지는 손글씨 (W(text, t0, x, y, size)); 장면 재료로 형성되었다가 사라지는 장소 이름 (V(...)); 타이틀 피날레.

3단계. 음악이 움직임을 주도하게 하기

graphics.Drive는 프레임별로 점수(레벨 및 펄스)를 측정합니다. 블룸, 불씨 플레어, 실 광채, 텍스트 호흡이 이를 따르므로, 키프레임 없이 히트에 맞춰 불씨가 플레어됩니다. beatmap.json의 히트에 전환과 흔들림을 배치하십시오 (shake 시작 = 히트 시간 - 샷 시작 시간).

4단계. 모션 필드 작성

shotlist.yaml에서, 샷별로 (예: 시모르그의 불-숲 샷과 랜턴 나방의 빛줄기):

    motion:
      life: EMB(320)
      flick: 0.09
      fire: [1920, 1300, 2600]
      shim: [2160, 300, 0, 0.8]
      ashc: [0.62, 0.55, 0.5]
    motion:
      tin: [white, 0.4]
      sweep: [3.0, 520, 0.35, 0]
      life: GOLD
      shake: [0.0, 0.4, 10]

아무것도 필요 없는 샷은 motion: none을 받습니다(게이트는 모든 샷이 결정되기를 원함).

5단계. QA 수정 적용

qa.yaml의 각 fix에 대해: 해당 호출 실행(grade.py의 recolor 또는 blue, 패치, 샷에 대한 crop), _g 파일 작성, ledger.py palette로 재측정한 다음 done: true 설정. 일치된 그레이드(판레벨)와 4K 업스케일은 렌더러에서 자동으로 처리됩니다.

6단계. 내보내기, 렌더링, 확인

python3 scripts/shotlist.py export-cut shotlist.yaml --paintings art/film > code/timeline.py

film_cut.py용 P_() 라인으로 타임라인을 출력합니다. 그런 다음 렌더러에서:

W=1920 H=1080 python film_cut.py still out/frames 6.0 12.0 24.0     # 스토리 히트 시점의 스틸
python film_cut.py sheet out/sheet.jpg                              # 샷당 한 프레임 시트
python film_cut.py video film/preview_1080p.mp4 audio/score.wav     # 점수가 포함된 프리뷰

사운드와 함께 프리뷰를 시청하세요. 모든 히트 지점의 스틸을 확인하세요. 그런 다음 감독이 모션 단계를 승인합니다.

유료 비디오가 필요한 경우

오직 모션이 스토리의 일부이고 코드로 가짜를 만들 수 없는 경우에만: 비행(시모르그의 이륙: 속도 램프가 있는 실제 클립), 클라이맥스의 탄생 또는 변신. budget.py에서 비용을 산정하십시오(Kling 4.0: 1080p에서 5초당 16.25 크레딧, 키프레임 페인팅 추가); 먼저 키프레임을 그리고 QA를 통과시키십시오. 모델이 드래프트를 제공하는 경우 저렴하게 드래프트하고 하나의 테이크를 최종 확정하십시오. 그 외의 모든 것은 애니메이션이 포즈를 유지하는 방식처럼, 스냅되는 (poses: 2) 그려진 키 포즈로 전달됩니다.

출력

  • 모든 샷의 motion 필드 (또는 none)
  • export-cut의 code/timeline.py
  • 적용된 수정 사항 (_g 파일, qa.yaml의 done: true)
  • film/preview_1080p.mp4, 히트 지점의 스틸, 샷당 한 프레임 시트

게이트 체크리스트

  • 모든 페인트된 샷에 모션 계획 또는 motion: none이 있음
  • 모든 QA 수정이 적용되고 재측정됨
  • 사운드와 함께 프리뷰 시청, 모든 히트 지점 스틸 확인
  • 승인됨

수리 테이블

증상수정
슬라이드쇼처럼 느껴짐모든 정적 장면에는 세계와 연결된 하나의 살아있는 레이어(입자, 안개, 깜박임)가 필요합니다. 장면별로 다양화하십시오.
효과가 붙인 것처럼 보임페인팅의 ashc로 입자를 착색하고, 그려진 소스에서 방출기를 배치하고, 하늘에서 안개 색상을 가져오십시오.
복잡하고 시끄러운 프레임입자 수 줄이기(n 반으로), 알파 낮추기, 장면당 하나의 효과군 사용.
다른 세대의 샷이 함께 매끄럽게 편집되지 않음해당 판의 일치된 그레이드가 잘못됨: 레벨 확인, 모든 샷에 대해 동일한 그레이드, 그레인 및 비네트 사용.
효과가 음악을 무시함히트를 사용하지 않음: beatmap 히트에 흔들림, 플레어 및 전환 배치.
텍스트를 읽기 어려움그림의 조용한 영역(text_area)으로 이동, 크기 확대, 쓰기 속도 늦춤.

참조

  • references/pipeline-modules.md: 렌더러의 모듈 및 모든 파라미터
  • references/effects-cookbook.md: 완성된 영화를 기반으로 한 분위기별 테스트된 레시피

Individual skills in this repo

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

gallowforge/forge-director

FilmForge director: runs an AI film production end to end (story, style lock, score, paintings, frame QA, motion in code, sound, delivery, archive) through stage gates, so no credit is spent before its gate passes. Keeps the production state file (production.yaml) and the credit ledger, prices the plan against the credits, and always names the one next action. Use this skill whenever the user wants to make, plan, budget, continue or check on a short film, painted film, animated story, music...

gallowforge/forge-frame-qa

FilmForge frame QA: inspects every painting at full size against the character sheets and the continuity ledger, measures colour rules, palette and exposure with tools, scores it on a nine-criterion rubric and decides: accept, fix in code (naming the module and the exact parameters), or repaint (with the root cause and the full corrected prompt). Use this skill whenever paintings, stills, keyframes, character sheets or book pages come back from an image model, when the user asks whether...

gallowforge/forge-painter

FilmForge painter: writes every shot's image prompt from the shot list, the character sheets and the style lock, on a fixed twelve-slot order with continuity anchors (handles, anchors, scale locks, props, states, forbidden-colour clauses); keeps the continuity ledger; lints every prompt before a credit is spent; paints in batches of four and hands each batch to frame QA. Use this skill whenever the user wants image prompts for a film's shots or a picture book's pages, storyboard frames,...

gallowforge/forge-style-lock

FilmForge style lock: fixes one image model and setting, one look sentence (or two when the drawing itself carries the story), the palette and colour rules, the line, brush and lens language, the character-sheet specs with scale bars, and the prompt grammar every shot must follow, so every painting in a film or book matches. Use this skill whenever the user starts the visual side of a film, music video or picture book, wants consistent characters or one consistent look across many images,...

관련 스킬