voxel-walk: 한 사람, 끊임없는 걸음, 모든 역할
키트가 있는 곳: 이 스킬의 모든 명령은
reels-maker폴더(github.com/thativanng/reels-maker 의 클론으로,template/과tools/를 포함)에서 실행하세요. 프로젝트에 이 폴더가 없으면 해당 저장소의 SETUP.md에 따라 먼저 설정하세요.
template/film.html + template/career.json에서 시작하세요. 템플릿은 가상 인물을 위한 완전한 3챕터 영화(카페, 창고, AI 친구와 함께하는 야간 데스크)입니다. 챕터를 실제 인물의 것으로 교체하고 시스템은 유지하세요.
1 · 먼저 인터뷰 (reel-intake, 그다음 references/intake.md)
reel-intake가 인터뷰를 실행합니다: 목적, 형식, 여정 블록(모든 역할과 모자, 이름/설명/숨김, 주장), 룩 레퍼런스, 가드레일. 이 스킬의 references/intake.md는 복셀 스타일에 필요한 내용만 추가합니다. 템플릿은 4:5 전용입니다(카메라가 그에 맞게 설정됨): 9:16 브리프의 경우 카메라를 재설정하고 모든 게이트를 다시 실행하거나 다른 룩을 선택하세요. 단 하나의 블록도 배치하기 전에, 실제 인물로부터 그들의 언어로 다음을 확보하세요:
- 각 역할: 연도, 회사, 직책, 그리고 그 역할이 가르쳐주거나 증명한 한 가지(해자).
- 직무가 아니라 작업을 보여주는 장면. 플래너는 책상에 앉은 사람이 아니라, 적절한 창고로 향하는 부두의 트럭입니다. 바리스타는 카운터 너머로 건네지는 컵입니다.
- 각 챕터의 복장, 실제로 입었던 것.
- 절대 등장하면 안 되는 것: 공개할 수 없는 숫자, 이름을 밝히고 싶지 않은 고용주, 현재 동료가 의문을 제기할 주장.
- 엔드 카드: 이름, 태그라인, 세 가지 강점, 마무리 한 줄.
그들의 말이 당신의 말보다 우선합니다. 그들의 대사를 교정(문법, 흐름)할 수는 있지만 의미를 다시 쓸 수는 없습니다.
2 · 하우스 룰 (references/house-rules.md에 이유가 있습니다)
- 끊임없는 걸음. 주인공은 절대 사라지지 않습니다. 장면에서 장면으로 걸어가며, 중간에 가벼운 고리가 머리에서 발끝으로 휩쓸며 복장이 바뀝니다.
- 장면은 떠오르고 가라앉습니다. 다음 챕터가 주인공 앞 바닥에서 솟아오르고 이전 챕터는 뒤에서 가라앉아, 챕터 간 이동이 2~4초가 걸리지 20초가 걸리지 않습니다. 움직이는 물체는 건물 뒤에 떠오르고 건물보다 먼저 떠납니다.
- 그림이 이야기를 전하고, 자막이 의미를 전달합니다. 물체에 레이블을 붙이지 마세요(지게차에 'FORKLIFT' 태그가 필요하지 않습니다). 그림으로 전달할 수 없는 개념에만 레이블을 붙이세요. 자막은 박자당 한 줄의 이야기이며, 배너를 반복하지 않습니다.
- 화면 시간은 중요도를 따르며 실제 크기를 따르지 않습니다. 주인공의 순간은 홀드되고, 차량은 빠르게 조연으로 등장합니다.
- 색상: 따뜻한 회색 바닥, 흰색 물체, 어두운 지붕과 도로, UI와 핵심 소품에 하나의 악센트 색상. 강한 키 라이트와 앰비언트 오클루전. 흰색 위 흰색은 밋밋합니다.
- 배너는 장면이 화면에 보일 때 변경되며, 코드가 시작될 때가 아닙니다.
- 현재 고용주 앞에서 변호할 수 없는 숫자는 넣지 마세요. 배너의 연도는 괜찮지만 KPI는 일반적으로 괜찮지 않습니다.
- 모든 프레임은 film-audit을 통과해야 합니다.
3 · 템플릿 구성 방식 (film.html에서 이 섹션들을 찾으세요)
- CHARACTERS: 캐릭터는 rects
[x, y, w, h, colour, part, frontOffset, depth]의 리스트로, 상자로 돌출되어 피벗이 있는 파트(다리, 몸통, 팔, 머리, 머리카락)로 그룹화됩니다.career.json → looks가 챕터당 하나의 복장을 제공합니다.makeMini()가 출연진을 만들고buddyVox()가 로봇을 만듭니다. - 복장 전환: 각 복장은 움직이는 평면에 의해 클리핑된 별도의 복셀 바디입니다.
WIPES = [[t, from, to]]. - WALK:
IK = [[t, x, z, ryWhenStopped]]웨이포인트, 사다리꼴 속도, 거리에 따른 다리 위상.SITS = [[from, to]]데스크용. - ZONES:
zoneG(tIn, tOut)는 떠오르고 가라앉는 챕터를 만듭니다. 움직이는 것은wrap(zone)안에 넣습니다. - CAMERA:
CK = [[t, A(...) | F(...)]]. - OVERLAYS: 모든 텍스트는
career.json에서 가져옵니다. - AUDIT:
AUD_S(고체),AUD_M(움직이는 물체),HELD(의도된 접촉),window._dbg(프로브가 측정할 수 있는 것).
4 · 챕터 추가하기
- 마지막 챕터 옆 길가의 한 구역(x 범위)을 선택하세요. 걷는 차선은 z ≈ 2.6–3.4, 소품은 그 뒤(z < 0)에 서고, 데스크는 앞(z ≈ 5.4)에 의자와 함께 놓입니다.
zoneG(tIn, tOut)안에 세트를 구축하세요. 움직이는 물체는wrap(zone)안에 넣으세요.- 걸어 들어오고 멈추는 IK 웨이포인트, 복장 전환을 위한
WIPES항목, 그리고CK키(걷는 동안 따라가고, 박자에 절대 홀드)를 추가하세요. - 세트가 올라오고 복장이 적용되는 순간에
career.json에 시대를 추가하세요. 자막도 추가하세요. - 모든 고체를 AUD_S에, 모든 움직이는 물체를 AUD_M에 등록하세요.
template/audio.py에 오디오 큐를 추가하세요. - 게이트를 실행하세요(스틸 시트 →
node tools/collide.mjs→ 프로브), 그런 다음 독립 감사관에게 넘기세요.
5 · 이 스타일의 일반적인 함정
- 머리 뒤의 소품(선반, 스크린, 생산 라인의 캡)은 모자나 후광처럼 보입니다. 프로브로 확인하세요. 카메라 높이, 옆걸음, 또는 나중 이동으로 수정하세요.
- 한 줄로 서 있는 두 사람은 두 머리 달린 형상으로 합쳐집니다. x축으로 한 몸 너비만큼 간격을 두세요.
- 사람 간에 주고받는 물체는 가슴 높이를 유지하고 얼굴을 가로지르지 않아야 합니다. 방을 가로지르는 경우 주인공의 데스크를 경유하도록 경로를 지정하세요.
- 주인공이 옆으로 걸을 때 어깨가 길 옆에 있는 물체를 쓸어버립니다. 1.3 유닛의 여유 공간을 유지하세요.