모바일 앱 시네마틱 비디오은(는) 무엇을 하나요?
실제 앱 워크플로우를 포함된 Three.js, Playwright, FFmpeg 및 Python 프로덕션 템플릿을 사용하여 감독된 3D 필름으로 전환합니다. 이는 After Effects 프로젝트가 아닌, 편집 가능한 코드 기반 비디오 워크플로우입니다.
앱과 기존 방향에서 시작
- 제작 전에 기존 내보내기, 프로젝트 소스, 현재 사용자 피드백, 실제 런타임 테마 및 사용 가능한 앱 데이터를 검사합니다. 승인된 선택을 유지합니다. 새 프로젝트의 경우 시연할 기능, 대상 청중, 형식 및 사용 가능한 캡처를 설정합니다.
- 가상 픽스처 또는 권한 있는 녹화를 사용하여 실제 앱 컴포넌트를 캡처합니다. 실제 탭 대상, 스크롤 오프셋 및 하이라이트 경계를 측정합니다. 실제 기능 동작을 발명된 화면으로 대체하고 이를 실제라고 주장하지 마십시오. 스테이징된 네이티브 전용 시각화는 제공 출처에 표시합니다.
- 런타임 색상을 일치시킵니다. 포함된 샘플 팔레트는 기본값일 뿐이며 다른 앱의 브랜드가 아닙니다. 다크 모드 전체, 최소한의 편집 텍스트, 폰 종료/브랜드 공개는 원래 프로젝트의 선호 사항이며, 사용자가 달리 요청하면 구성 가능합니다.
프로덕션 시퀀스
제작 방법과 세부적인 타이밍/지오메트리 정보는 references/workflow.md를 참조하세요. 화면 캡처를 만들거나 업데이트할 때는 references/capture.md를 참조하세요. 액션, 카메라 포즈, 스크롤 또는 텍스트를 작성할 때는 references/timeline.md를 참조하세요.
- 새 프로젝트의 경우 이 스킬 폴더에서
python3 scripts/scaffold.py /absolute/new/project를 실행합니다. 이는assets/template을 복사하고 명확하게 레이블이 지정된 합성 데모 화면을 생성합니다. 실제 결과물을 제공하기 전에 해당 화면을 교체하십시오. 기존 필름의 경우 다시 스캐폴딩하지 않고 프로젝트를 직접 편집합니다. - 생성된 프로젝트에서 저장소 README에 문서화된 대로 Node/Python 종속성과 Chromium을 설치합니다. 실제 앱 테마, 선택적 소유 폰트 및 브랜드 이미지/크롭에 따라
project.json을 설정합니다. 현재 렌더러는 1080×1920, 30fps, DPR 3에서 430×860 CSS 앱 캡처를 대상으로 합니다. 종횡비를 변경하려면 조정된 지오메트리와 좌표 변경이 필요합니다. - 워크플로우를 캡처하고
source/films.json을 작성합니다. 한 번에 하나의 기본 카메라 액션, 빠른 촉각 피드백, 명확한 설정 → 액션 → 결과 비트를 사용합니다. 내레이션된 기능이 말할 때 보이도록 유지합니다. 강조를 위해 짧은 추가 텍스트를 사용합니다. 사이드카 캡션은 별도 결과물입니다. source/narration.json을 작성하고, 음성 생성이 승인된 경우에만python3 source/narrate.py로 누락된 내레이션을 생성합니다. 프로세스 환경을 통해ELEVENLABS_API_KEY와ELEVENLABS_VOICE_ID를 제공합니다. MP3/정렬 쌍을 캐시합니다. 소스, 스크린샷, 로그 또는 ZIP에 비밀을 절대 넣지 마십시오. 실패한 유료 요청은 자동 재시도 없이 중단됩니다. 반복 작업에는 캐시된 오디오를 사용합니다.- 반환된 문자 타임스탬프와 0.65초 믹스 오프셋을 사용하여 하이라이트, 탭, 카메라 초점, 텍스트 및 종료를 지시합니다. 미리보기 프레임을 렌더링하고 검사한 후 필름을 렌더링합니다. 템플릿은
--preview,--only INDEX및--manifest PATH를 지원합니다. mix/verify/package는source/films.json을 사용합니다. python3 source/mix.py를 실행합니다.assets/audio/sfx의 권한 있는 사운드 라이브러리 샘플을 선호합니다. 샘플이 없으면 원래 절차적 대체를 사용합니다. 음성 아래에서 효과를 이해할 수 있게 유지합니다. 템플릿은 과도 피크를 액션에 정렬하고 내레이션 아래에서 효과를 덕킹합니다.python3 source/verify.py를 실행하고, 중요한 전환 및 내레이션된 순간을 시각적으로 검사하고 최종 믹스를 듣습니다. 자동화된 어두운 프레임/음량 검사는 올바른 기능이 표시되는지 확인하지 않습니다. 자막과 약속된 모든 텍스트를 검토합니다.- 내보내기가 통과한 후
python3 source/package.py를 실행합니다. 공유하기 전에 아카이브의 명시적 내용과 미디어 권한을 검사합니다. MP4, 선택적 SRT/VTT, 미리보기, 편집 가능한 소스 및 출처를 제공합니다. 게시, 배포 및 게시는 사용자가 요청한 범위 내에서 이루어집니다.
이러한 불변 속성 유지
- 앱 텍스처는 sRGB와
toneMapped:false를 사용합니다. 장면 조명이 앱을 다시 색칠해서는 안 됩니다. - 하이라이트 및 스크롤 픽셀은 동일한 측정된 스크롤 보간법을 사용합니다. 스크롤이 끝난 후에도 아틀라스는 활성 상태를 유지합니다. 그렇지 않으면 짧은 스크롤 지속 시간으로 인해 빈 영역이 노출될 수 있습니다.
- 카메라 초점은 종료 변환 전에 계산되므로 카메라가 떠나는 폰을 따라가지 않습니다. 종료 내레이션 중에 브랜드 공개를 신속히 시작합니다. 정적 홀드를 남기지 마십시오.
- 월드 공간 파티클은 깊이 테스트와 원근 크기 조정이 있습니다. 앱 콘텐츠에 종속되도록 유지합니다.
- macOS에서 GPU를 명시적으로 사용하고(
--enable-gpu --use-angle=metal), 결정적 시간frame / 30을 렌더링하고 백프레셔로 프레임을 FFmpeg에 파이프합니다. - 자격 증명 파일, 독점 애플리케이션 소스, 라이선스 없는 폰트/SFX 또는 고객 데이터를 재사용 가능한 스킬이나 공개 저장소에 복사하지 마십시오.
선택적 scripts/demo_audio.py는 오프라인 파이프라인 스모크 테스트를 위한 합성 톤을 생성합니다. 이는 명시적으로 내레이션이 아니며 완성된 내레이션으로 전달해서는 안 됩니다.