브랜드 루프 (매끄러운 액체 배경)
scripts/scene.py가 Blender에서 전체 스튜디오를 구성하고 렌더링합니다:
- 블롭: 서로 같은 패밀리끼리만 합쳐지는 메타볼. 광택이 있고 액체처럼 보이며, 각 블롭의 납작함에 따라 두 가지 색조가 적용됩니다.
- 배경: 중앙에서 바깥으로 퍼지는 파문 고리(루프당 2개)가 있는 따뜻한 오프화이트 벽.
- 조명: 부드러운 그림자를 만드는 타원형 키 라이트와 액체 광택을 위한 반사 전용 소프트박스.
- 카메라: f/2의 50mm 렌즈로 얕은 피사계 심도 제공.
모든 움직임은 루프당 완전한 주기의 사인파이므로 프레임 N이 프레임 0과 정확히 같습니다. 프레임 중앙은 로고나 제목을 위한 공간으로 비워집니다. 영상에는 텍스트와 소리가 없습니다.
요구 사항: Blender 4.2+ (EEVEE, Apple Silicon GPU에서 5.2로 테스트됨), libx264 및 libx265를 지원하는 ffmpeg.
작업流程
1. 색상
쿨 패밀리는 큰 블롭을 위해 어두운 색부터 밝은 색까지 5가지 음영을 사용합니다. 웜 패밀리는 악센트 블롭을 위해 3가지 음영을 사용합니다. 두 가지 방법으로 색상을 얻을 수 있습니다:
- 로고에서:
python3 scripts/palette.py logo.png를 실행하면 주요 색상과 제안된--cool/--warm쌍이 출력됩니다.loop.sh에--logo logo.png를 직접 전달할 수도 있습니다. - 브랜드 16진수 값에서: 색상이 보간되므로 음영이 적어도 괜찮습니다.
두 패밀리는 파란색과 주황색, 청록색과 산호색처럼 명확히 달라야 합니다. 섞이면 블롭이 합쳐질 때 회색이 되므로 분리되어야 합니다. --paper "#fcfbf8,#f2eae0"는 배경의 중앙과 모서리 색상을 설정합니다.
2. 미리보기 (약 1분)
<skill>/scripts/loop.sh --name acme --cool "#0b3d91,#1565c0,#1e88e5,#42a5f5,#80d8ff" --warm "#ff6f00,#ffa000,#ffca28" --preview
<name>/<name>-preview.png 를 읽습니다. 이 파일은 루프 전반에 걸친 여섯 순간을 보여줍니다. 다음을 확인하세요:
- 색상이 브랜드 색상으로 읽히는지.
- 배경이 회색이 아닌지.
- 두 패밀리가 서로 침범하지 않는지.
3. 렌더링 (오래 걸림: 백그라운드에서 실행)
<skill>/scripts/loop.sh --name acme --cool ... --warm ... # 4K 60fps, 10초
<skill>/scripts/loop.sh --name acme --res 1920x1080 ... # 1080p, 약 4배 빠름
M1 Pro에서 10초 4K60 루프는 약 95분(600프레임, 2개의 Blender 프로세스로 각각 약 9.5초)이 소요되며, 1080p는 약 25분이 소요됩니다. 중단된 경우 중단된 지점부터 렌더링이 재개됩니다. --keep-frames를 전달하지 않으면 프레임은 인코딩 후 삭제됩니다.
<name>/ 디렉토리의 출력:
<name>-4k60-loop.mp4: H.264, 어디서나 재생 가능.-loop-hevc10.mp4: 10비트, 가장 부드러운 그라데이션, 편집자용.-1080p60-loop.mp4: 웹용.-still.png및-keyframes.png.
4. 확인
- 스크립트는 매끄러움 확인(seam check) 을 출력합니다. 마지막 프레임에서 첫 프레임으로의 PSNR이 일반 프레임 간 PSNR과 비슷해야 합니다. 훨씬 낮으면 주기성에 문제가 있는 것입니다.
-keyframes.png를 읽습니다.- 사용자에게 눈에 띄는 이음새 없이 매끄럽게 반복된다고 알리고, 플레이어나 편집기에서 반복 재생을 켜도록 상기시킵니다.
조정 파라미터
다음 파라미터를 scene.py에 직접 전달할 수 있습니다. loop.sh의 LOOK 배열을 편집하거나 Blender를 직접 실행하여 설정하세요:
--key,--fill및--wash: 조명 수준.--emit및--world: 배경 밝기.--ringamt및--ringbump: 파문의 강도.--fstop: 흐림 정도(값이 낮을수록 더 흐림).--glow: 블롭의 선명도.--dur: 루프 길이. 모든 길이에서 모션은 주기성을 유지합니다.
블롭의 레이아웃, 크기 및 경로는 scene.py의 BLOBS 목록에 있습니다. 위치는 미터 단위이며, 초점면의 프레임 크기는 0.864 × 0.486m입니다. 블롭을 이동한 후에는 두 패밀리가 서로의 크기 합보다 가까워지지 않는지 확인하세요.