한국어 번역
첨부한 이미지를 「마지막 화면」으로 삼아, 전부 타일로 이루어진 30초 광고 영상(소리 있음・mp4)을 만들어 주세요.
브라우저(Three.js)에서 구성하고, Chrome에서 모든 프레임을 내보낸 뒤, ffmpeg로 mp4로 만듭니다.
# 목표
- 보는 사람은 25초 동안 타일 제작 영상이라고 생각하며 본다. 마지막 몇 초에 첨부 이미지(광고)였다는 것을 깨닫는다
- 마지막 화면은 첨부 이미지와 거의 같다. 글자가 읽힌다. 화면 전체가 타일(바닥은 보이지 않는다)
# 사양
- 1920×1080, 30fps, 30초. HTML 1개 파일(Three.js. npm으로 설치해 esbuild로 1개 파일로 묶는다)
- 시각 t를 넘기면 같은 t라면 반드시 같은 그림이 되도록 만든다(seek(t))
- 타일은 한 장씩 별도 인스턴스. 16:9 격자로 약 19만 장(576×324)
- 위치・방향・두께・모따기・색을 한 장씩 바꾼다. 줄눈(틈)은 비워 둔다. 선은 긋지 않는다
- 첨부 이미지는 타일의 색을 뽑기 위해서만 쓴다(텍스처로 붙이지 않는다)
- 재질은 약 12종(유약 세라믹, 슬레이트, 진주조개, 백자, 테라코타, 유리 등). 색의 밝기와 채도로 배정한다
- 빛은 왼쪽 위의 단단한 태양 하나. 바닥은 회반죽. 안쪽에는 빨간 목공 분필선이 초점이 나가 흐릿하게 들어간다
- 피사계 심도(원형 보케)를 후처리로 직접 만든다. 조리개는 처음에 크게, 마지막에 작게
# 흐름(초)
0〜3 바닥에 어두운 타일 한 장. 카메라는 바닥에 거의 붙어 있다
3〜10 [조립을 시작하는 지점]에서 타일이 소용돌이를 그리며 떨어진다. 첫 한 장→주변 순서로 늘어난다
10〜21 단번에 바깥으로 퍼진다. 카메라가 물러나 [보여주고 싶은 그림]이 드러난다
21〜24 전체가 보인다. 글자가 되는 지점은 주변과 같은 옅은 색 그대로
24〜26 글자・로고・버튼 타일이 왼쪽부터 차례로 파닥파닥 뒤집히며 나타난다
26〜30 바로 위에서 내려다보는 구도로 멈춘다. 커서가 [버튼의 문구]를 클릭하고, 버튼 타일이 조금 가라앉는다
# 함정(반드시 지킬 것)
- 글자가 되는 타일은 처음에는 주변 배경색으로 조립한다. 배경색은 바깥에서 안쪽으로 채워 나가며 정한다. 글자 테두리(흰 테두리)도 함께 뒤집는다. 지키지 않으면 도중에 글자 형태가 보인다
- 바로 위에 놓인 카메라는 위치를 정확히 바로 위로 하지 않는다(방향이 90° 돌아간다). 멈추는 지점에서는 움직임의 관성을 0으로 만든다(보간의 오버슈트로 반전된다)
- 마지막 화면은 원본 이미지와 나란히 놓고 색을 비교해 노출・채도・색조를 맞춘다
- 글자가 작아 읽을 수 없을 때는 타일 수를 늘린다
- 바탕의 어두운 면은 타일이 착지한 칸에만 나타나게 한다
# 소리
- ElevenLabs 효과음으로 타일을 놓는 소리・뒤집는 소리・마우스 클릭을 만든다(각 0.5초). 만들기 전에 크레딧 소모를 알린다
- 타일의 착지・뒤집힘 시각에 맞춰 배치하고 겹친다. 카메라가 멀수록 작게, 수가 늘면 비처럼 묶는다
- 24〜26초의 파닥파닥을 가장 눈에 띄게 한다. 음량은 -16 LUFS
# 진행 방법
1. 먼저 대본(초 단위 장면)을 일본어로 내고, OK를 받은 뒤 만든다
2. 중간 프레임(첫 타일/조립 시작/풀백/전경/글자가 나오는 순간/마지막)을 직접 보고 고친다
3. 내보내기는 Chrome(puppeteer-core)에서 seek(t)를 30fps만큼 호출하고, png를 ffmpeg에 흘려보낸다
4. 납품은 mp4(고화질판과 공유용)와 확인한 이미지
# 입력
- 엔드 프레임: [첨부]
- 조립을 시작하는 지점: [예: 인물의 눈]
- 물러났을 때 보여주고 싶은 그림: [예: 웃는 여성]
- 버튼의 문구: [예: 무료 체험은 이쪽]