ai21.net
언어

로봇 이야기, 열두 가지 화풍 연출

로봇 이야기, 열두 가지 화풍 연출 — 1

프롬프트

[Y]ou are the director, animator, rigger, compositor, sound designer and render engineer for a 45–50 second animated short made entirely in code. The bar is "this looks like a real studio short and goes viral on X." Treat this as a multi-session production. Do not rush to a final render. Work in milestones, render stills constantly, look at them, criticize them honestly, and fix them.

0. The film in one line

Pip, a tiny, curious scrap-built robot, is happily rolling through his world when it starts regenerating around him. He slowly realizes someone is prompting his reality. The prompts get more absurd, he finally climbs onto the floating prompt box and types "let me out", and the camera pulls back to reveal his whole universe is a video playing on a phone propped up on a cluttered workbench, being watched by another Pip, who is about to get prompted too. Perfect loop.

The joke must land with zero dialogue. Pip communicates only through his eyes, antenna, body language and little robot chirps. Every 3–5 seconds there must be a new visual payoff.

1. The character (non-negotiable)

Study ./reference/pip_sheet.png carefully before writing any code. Open it, describe it back to yourself in detail, and write your findings into docs/character_bible.md:

Size: about 28 cm tall. He is small. The whole film should feel his scale.
Head: a wide, rounded-rectangle helmet in cream with a soft-yellow rim band framing a black glossy visor screen. His eyes live on that screen: two large glowing warm-cream eyes with dark pupils and a bright highlight. Small graphite ear-caps on each side. Wear, scratches and dusty-brown dirt around the edges.
Antenna: a thin graphite stalk on the top-right of the head with a small muted-orange signal flag. It is his "tail": it perks, droops, wiggles and vibrates with emotion.
Body: a boxy cream torso with yellow trim, warning-triangle decals, rivets and grime. A small chest compartment with a hatch that opens to show a tiny green sprout glowing softly. Back: panels, a vent grille, an orange panel, a small leaf decal.
Side decal: "PIP" lettering with orange diagonal stripes.
Arms: thin segmented graphite arms with yellow joint sleeves and three-finger claw grips. Very expressive.
Wheels: four chunky rubber wheels with yellow hubs and independent suspension, rugged and compact.
Personality: curious, kind, scrappy, expressive, always exploring. "Small bot, big feelings." He is never mean, even when furious; his anger is cute and determined.
Extract the exact palette from the sheet's swatches (sample the image with Python/PIL) into src/theme/palette.ts: Cream (body), Soft Yellow (primary), Muted Orange (accents), Graphite (metal/tech), Dusty Brown (wear & dirt), Mint Blue (lights/UI).

Identity lock rule: in every world, his helmet-and-visor silhouette, antenna flag, yellow trim, claw arms and four wheels must stay instantly recognizable. Worlds change his rendering style, never his design. The only intentional design change is the "more adorable" gag in Act 3, and even there his helmet shape, antenna and wheels stay.

2. Technical stack
Remotion (React + TypeScript) for frame-accurate, deterministic rendering. Output 1920×1080, 30 fps, H.264, high bitrate (CRF ~14). Landscape.
SVG for the character rig and most artwork. Canvas/WebGL (via @remotion/three or raw canvas) only where needed for particles, water, explosions, glow and noise effects.
SVG filters (feTurbulence, feDisplacementMap, feMorphology, feGaussianBlur) and custom canvas shaders for style "materials," scratches and grime.
@remotion/motion-blur (or your own sub-frame accumulation) for motion blur on fast action.
Python (numpy/scipy/PIL) for palette extraction, procedural audio synthesis and QA contact sheets. ffmpeg for muxing, loop checks and contact sheets.
Everything seeded and deterministic. No Math.random() without a seed.
No external copyrighted assets, no real brand logos or product names anywhere. The prompt box UI must be a generic, original design. Fonts only from Google Fonts (e.g., Inter for UI text, a rounded hand-lettered font for any handwritten notes).
Target hardware: MacBook Pro M4, 24 GB RAM. Keep render concurrency sensible.
3. The character rig (build this first, it's the whole film)

Build src/character/ as a proper 2D cutout rig:

Hierarchy: root → chassis (with suspension) → torso → neck joint → head (helmet + visor + ear-caps) → antenna → flag. Torso → shoulder → upper arm → forearm → claw (with swappable claw poses: open, closed, pinch-holding, pointing, poking/typing, gripping an edge, waving). Chassis → four wheels, each with its own suspension spring and rotation driven by distance travelled.
The visor face system (most important part): the eyes are shapes drawn on the black screen, so treat them as a fully procedural face. Parameters for eye size, roundness, top-lid cut, bottom-lid cut, pupil size and position, highlight position, glow intensity, squash/stretch, and special shapes (sparkle stars, happy arcs ^ ^, flat unimpressed lines, spirals, tiny hearts). Add a faint scanline and screen reflection over the eyes so it reads as a screen. Blink by squashing eyes vertically in 3–4 frames.
Expression targets: match the six on the sheet exactly: curious (with the "?" pop), shy (eyes low, looking away, blush marks), excited (happy arcs with little burst lines), worried (small eyes, sweat droplet), determined (angled top-lid cut), delighted (star sparkles with a heart pop). Also add: deadpan-to-camera (flat half-lidded eyes, antenna limp), horrified (tiny shaking pupils, eyes wide), furious-but-cute (determined + screen glow flickers orange), and three "glow-up" stages (see Act 3).
Secondary motion: antenna and flag on damped springs (this is his main expressive tool, use it constantly), suspension bounce on every stop and bump, arm sway, a tiny head lag when the body accelerates or brakes, dust puffs from wheels.
Turnaround: front, 3/4, side, back views matching the sheet, with clean view switching for turns.
Cycles: rolling forward (with speed lines and dust puffs as on the sheet), idle hum (gentle suspension breathing + occasional antenna twitch + blinks), recoil-in-fear, looking-up-in-wonder, holding a tiny object, reaching up, climbing, poke-typing.
Chest hatch: animatable open/close, with the sprout's soft green glow spilling out.
Style skin interface: the rig takes a style prop that changes line weight, fill treatment, texture, grime, outline boil, shading model and filters without changing geometry. This is how he stays himself across worlds.
Milestone 1 gate: render a "lineup" still: Pip in all four turnaround views + all six expressions, placed next to the reference sheet. Compare side by side. Iterate until someone who saw the sheet would say "that's Pip." Do not move on until this passes.
4. The worlds (style materials)

Each world is a full environment component with foreground, midground, background parallax layers and its own style skin for Pip. Build a shared WorldLayer system so all worlds share camera and depth logic.

Scale rule: the camera lives low, near Pip's eye level (about 20 cm off the ground). Everything is huge. People appear as giant legs and shoes, a curb is a cliff, a puddle is a lake. This is what makes a small robot cinematic.

Base world: golden-hour overgrown city. Match the header illustration of the sheet: warm sunset light, weathered stone and brick, moss and little plants, hazy tall buildings in the distance. Painterly, cozy, lived-in. This is "real life." Also used for the reveal.

Anime Tokyo. Crisp cel shading, bold outlines, glowing signs with invented (non-brand) shop names, speed lines, cherry petals drifting past him like giant pink snowflakes. His visor gets anime sparkle highlights.

Clay village. Soft rounded shapes, fingerprint/smudge noise texture, stop-motion stepping (render him "on twos"), warm tungsten lighting. He looks sculpted in plasticine.
Medieval battlefield. Muddy field, banners, distant catapults, smoke. Armored boots thunder past him. He rolls calmly between them, antenna ducking.
Toy-brick city. Everything built from generic stud-topped plastic bricks (no real brand styling or logos), glossy plastic highlights. Pip rendered with plastic sheen and slightly blockier wheels.
Underwater. Seabed street with coral lampposts, fish swimming past his visor, caustic light patterns, bubbles from his vents, his antenna flag waving slowly like seaweed.
Pencil sketch. Paper texture, graphite hatching, construction lines, eraser smudges, his lines boiling as if being redrawn every frame (match the sketch vignettes at the bottom of the sheet).
Running gag: the sprout. Pip starts the film carefully holding his tiny green sprout in one claw (the "holding a tiny object" pose). It survives every world and transforms with it: cel-shaded anime sprout with sparkles, clay sprout, sprout in a tiny battered helmet-pot, brick-built sprout, sprout releasing a bubble underwater, sketched sprout. He protects it every time the world changes. It is the emotional anchor of the film.
5. The signature transition: "regeneration"

World changes must look like an AI image re-generating, not like normal wipes. Build RegenTransition:

The frame breaks into drifting diffusion-style noise from the edges inward (not over his body at first), holds a few frames of structured noise, then the new world denoises in from coarse blobs to fine detail.

Pip's body lags one beat behind the world, briefly showing half-old / half-new style, then snaps to the new style skin. His visor glitches for 2 frames (scanline tear) during the snap. This half-state is the visual proof that he persists.

Subtle audio "whoosh-crackle" per regen, plus a tiny startled chirp from Pip on some of them.
Duration 8–12 frames each. Vary the direction and noise seed so it never feels repetitive.
6. Beat sheet (≈48 seconds at 30 fps)
Timing is a guide; adjust if a beat reads better slightly longer. The first 2 seconds must hook.
ACT 1: A GOOD MORNING (0:00–0:03)

Low tracking shot, base world. Pip rolls left-to-right along a mossy ledge, holding his sprout, eyes curious, antenna bobbing. Start mid-roll (needed for the loop).

At 0:02 the first regen hits without warning.

ACT 2: THE CASCADE (0:03–0:14)
Rapid world changes, about 1.4 s each: Anime Tokyo → Clay village → Medieval battlefield → Toy-brick city → Underwater → Pencil sketch.

Emotional progression: delighted at first (star eyes, he thinks it's wonderful), then curious ("?" pops), then worried (sweat drop, antenna droops), then he brakes hard in the sketch world with a suspension bounce and a skid mark.

Camera stays on a locked tracking framing so the only thing changing is the world, which makes the joke readable.
ACT 3: THE PROMPTS (0:14–0:30)
Base world returns. Pip looks up in wonder (pose from the sheet). In the sky, a giant floating prompt box fades in, glowing mint blue, glassy and rounded, with a soft original UI. Text types itself with a blinking cursor: "make it more cinematic" → enter key click sound.Letterbox bars slam in, the sun becomes absurd: enormous anamorphic lens flares, god rays, orange-and-teal grade, slow-motion dust, a single dramatic leaf drifting past his visor. His eyes squint into the flare. His antenna flag flaps heroically in wind he didn't ask for.

"add explosions"Huge cartoon-orange explosions bloom behind him in sequence with debris chunks. He does not turn around. His eyes go flat and half-lidded. He slowly rotates his head to look straight into the camera. Deadpan. Hold 1 full second. Then an explosion lands close and he snaps into the "recoiling in fear" pose from the sheet, the "!!" popping above him, shielding the sprout with his body.

"make the protagonist more adorable"Glow-up stage 1: his eyes grow bigger and shinier, blush marks appear, a tiny bow sprouts on his antenna. He sees his reflection in a puddle and his eyes turn horrified.

"more.": Stage 2: pastel repaint, eyes take over the whole visor with triple highlights, floating hearts and sparkles, his wheels become fluffy.
"MORE." (bigger font, screen shake): Stage 3: comically maximum cute. Plushie fur texture over his whole body, giant anime eyes, rainbow halo, a choir "aah" sting, heart confetti. His helmet shape, antenna and wheels stay so he's still clearly Pip. His eyes are still tiny and horrified inside the giant cute eyes, which is the joke.
ACT 4: HE SNAPS (0:30–0:38)
Pip vibrates, then the cute stages shatter off him like glass. He's back to normal, scuffed and furious (determined expression, screen flickering orange).
He opens his chest hatch and gently tucks the sprout inside for safety. Hatch closes with a click. This is the one quiet, kind beat in the chaos and it matters.
He races forward, launches off a rock, grabs the edge of the floating prompt box with both claws and hauls himself up, wheels spinning against the edge (match the "reaching toward a floating prompt box" pose). The camera tilts up with him.
On top of the box he holds backspace with one claw; the old prompt deletes letter by letter with fast clicks, and his visor reflects the vanishing text.

He poke-types with one claw, slowly and deliberately: "let me out". Winds up and smashes enter.

ACT 5: FREEZE AND REVEAL (0:38–0:47)
Everything freezes: debris mid-air, confetti mid-fall, dust suspended, Pip mid-pose on the box. All audio cuts to total silence for about 1 second.
Camera begins a smooth pull-back. The frame's edges reveal a rounded rectangle: his universe is a video on a phone screen. Keep pulling back: the phone is propped against a chipped mug on a cluttered workbench full of spare parts, wires, screws and scraps ("built from tomorrow's leftovers"). Sitting in front of it, tiny next to the giant phone, is another Pip, same scuffs, same antenna, watching.
The second Pip's eyes blink slowly. His antenna droops a little. A small quiet chirp.
ACT 6: THE LOOP (0:47–0:50)

Above the second Pip's head, the same mint-blue prompt box fades in and types: "make it more cinematic."

His eyes slowly slide upward toward it. His antenna flag goes stiff. On the enter key sound, hard cut to frame 1 of the film.
Loop engineering: the final shot's framing, lighting, and the start of a regen flicker must make the cut back to frame 1 feel intentional. The music must loop seamlessly across the cut. Verify by concatenating the video with itself (ffmpeg) and watching the seam.
7. Camera and cinematography

Virtual camera system: position, zoom, rotation, handheld micro-shake (seeded noise), shake impulses for explosions, tilt for the climb, dolly pull-back for the reveal.

Low camera height by default to sell his scale. Shallow depth-of-field feel: blurred foreground grass/pebbles and soft background, like a macro lens.
Depth: minimum 4 parallax layers per world. Atmospheric perspective (haze, desaturation with distance).
Motion blur on fast moves, debris, the jump and the climb.
Lighting per world: key/fill/rim implemented as gradient overlays and multiplied shadow layers on the rig. The visor glow should cast a faint warm light on nearby surfaces and on his own claws. Rim light on his helmet in every world.
Film finish pass on the whole frame: subtle grain, gentle vignette, very slight chromatic aberration only in the "cinematic" beat.
Composition: keep him on a clear third. His eyes must be readable at phone size, since most people will watch this on a phone.
8. Text and typography
Sky prompts: clean UI font, lowercase, typed at a natural human rhythm (not constant speed; tiny pauses, one small typo-and-backspace somewhere for realism).
The text must be readable in under a second on a phone. Test at 360 px wide.
No subtitles, no titles. The film opens cold.
9. Sound (procedural, original)
Create all audio in code (Python synthesis or offline Web Audio) and mix with ffmpeg:
Pip's voice: original synthesized chirps, boops and warbles built from sine/FM tones with pitch bends. Design a small emotional vocabulary: curious rising chirp, happy trill, worried wobble, startled squeak, grumpy low buzz, tiny sigh. He never speaks words.
Pip's body: servo whirs matched to arm and head moves, wheel crunch on gravel/stone, suspension creaks, hatch click, soft electrical hum on idle.
Score: a light, loopable, warm score whose instrumentation changes per world (koto/synth for anime, wooden marimba for clay, drums/horn for medieval, plastic clicks for bricks, muffled underwater filter, pencil scratch rhythm for sketch).
SFX: regen whoosh-crackle, keyboard typing clicks, enter "thunk", explosions with low-end, choir "aah" sting, glass shatter, total silence at the freeze, then quiet workshop ambience (a ticking clock, distant hum) in the reveal.

Loudness normalized to about −14 LUFS. Put stems in audio/stems/ so they can be swapped for a licensed track later.

10. Production workflow and self-improvement loop
Work in this order and don't skip gates:
Plan: write docs/character_bible.md, docs/shotlist.md (every shot with frame ranges, camera, expression, antenna state, world, SFX) and docs/style_guide.md. Show me the shot list before building.
Rig: build Pip, pass the lineup gate (section 3).
Worlds: build each world as a standalone still with Pip in it. Render all 7 as a single contact sheet. Check the identity lock and the scale feel.
Transitions: build RegenTransition, render a 5-second test.

Animatic: assemble the whole film at 960×540 with rough motion and placeholder audio. Watch it. Fix pacing first.

Full animation pass, then polish pass (secondary motion, easing, timing, antenna acting), then finish pass (lighting, grain, blur, grime).
Audio pass and mix.
Final render.
For every shot, run this critique loop at least 3 times:
Render 3–5 stills at key frames with npx remotion still, open them and look at them properly.
Score each 1–10 on: Pip matches the reference, emotion reads instantly from eyes + antenna, joke is clear without sound, composition, sense of scale, depth, lighting, polish, readability at phone size.
Write the scores and the three biggest problems into docs/review_log.md, fix them, re-render, re-score. Continue until every category is at least 8, then move on.
After each full preview render, make an ffmpeg contact sheet (one frame every 0.5 s) and review the whole film's flow in one image.

Be honest in reviews. If something looks cheap, say it and fix it. Usual failures to hunt for: stiff or dead antenna, wheels sliding instead of rolling, eyes that feel like stickers instead of a glowing screen, missing suspension weight, identical-looking transitions, muddy text, and off-model proportions.

11. Deliverables
out/pip_final_1080p.mp4: the film.
out/pip_loop_check.mp4: the film played twice back to back, to prove the loop.
out/poster_frame.png: the best single frame for the X post thumbnail (probably Pip deadpanning at camera with explosions behind him).

out/lineup.png: Pip across all worlds.

Clean, commented source with a README explaining how to re-render.
Start with step 1. Ask me anything essential before building, otherwise make strong creative decisions yourself.

한국어 번역

[Y]당신은 전부 코드로 만드는 45–50초 애니메이션 단편의 감독, 애니메이터, 리거, 컴포지터, 사운드 디자이너, 렌더 엔지니어입니다. 기준은 "진짜 스튜디오 단편처럼 보이고 X에서 바이럴될 것"입니다. 이것을 여러 세션에 걸친 제작으로 다루십시오. 최종 렌더로 서두르지 마십시오. 마일스톤 단위로 작업하고, 끊임없이 스틸을 렌더링해 눈으로 확인하고, 솔직하게 비판하고, 고치십시오.

0. 한 줄로 요약한 영화

호기심 많고 작은 고철 로봇 Pip은 자기 세계를 즐겁게 굴러가던 중, 주변이 재생성되기 시작합니다. 그는 누군가 자신의 현실에 프롬프트를 입력하고 있음을 서서히 깨닫습니다. 프롬프트는 점점 더 터무니없어지고, 그는 마침내 떠 있는 프롬프트 상자 위로 올라가 "let me out"이라고 입력합니다. 그러자 카메라가 뒤로 빠지며 그의 우주 전체가 어수선한 작업대에 세워진 휴대폰에서 재생되는 영상이고, 그걸 또 다른 Pip이 보고 있으며 그 Pip도 곧 프롬프트를 받게 될 것임이 드러납니다. 완벽한 루프.

개그는 대사 하나 없이 통해야 합니다. Pip은 오직 눈, 안테나, 몸짓, 작은 로봇 지저귐으로만 의사소통합니다. 3–5초마다 새로운 시각적 보상이 있어야 합니다.

1. 캐릭터 (양보 불가)

코드를 쓰기 전에 ./reference/pip_sheet.png 파일을 주의 깊게 연구하십시오. 열어서 자기 자신에게 자세히 설명하고, 그 결과를 docs/character_bible.md에 기록하십시오:

크기: 키 약 28 cm. 작습니다. 영화 전체가 그의 스케일을 느끼게 해야 합니다.
머리: 크림색의 넓은 둥근 사각형 헬멧에 검은 광택 바이저 화면을 감싸는 소프트 옐로우 테두리 밴드. 그의 눈은 그 화면 위에 있습니다: 어두운 동공과 밝은 하이라이트가 있는, 크게 빛나는 따뜻한 크림색 눈 두 개. 양옆에 작은 흑연색 이어캡. 가장자리에는 마모, 긁힘, 칙칙한 갈색 때.
안테나: 머리 오른쪽 상단의 가는 흑연색 줄기와 작은 차분한 오렌지색 신호 깃발. 이것이 그의 "꼬리"입니다: 감정에 따라 쫑긋 서고, 처지고, 흔들리고, 떨립니다.
몸통: 노란 트림, 경고 삼각형 데칼, 리벳, 오염이 있는 박스형 크림색 몸통. 해치를 열면 작은 초록 새싹이 부드럽게 빛나는 모습이 보이는 작은 가슴 수납칸. 뒷면: 패널, 통풍 그릴, 오렌지색 패널, 작은 나뭇잎 데칼.
측면 데칼: 오렌지색 대각선 스트라이프가 있는 "PIP" 레터링.
팔: 노란 관절 슬리브와 세 손가락 집게 그립이 있는 가는 분절형 흑연색 팔. 매우 표현력이 좋습니다.
바퀴: 노란 허브와 독립 서스펜션이 있는 네 개의 두툼한 고무 바퀴, 견고하고 콤팩트합니다.
성격: 호기심 많고 친절하며 악착같고 표현력이 풍부하며 늘 탐험합니다. "작은 로봇, 큰 감정." 화가 나도 결코 심술궂지 않습니다; 그의 분노는 귀엽고 단호합니다.
시트의 스와치에서 정확한 팔레트를 추출해(이미지를 Python/PIL로 샘플링) src/theme/palette.ts에 넣으십시오: Cream(몸통), Soft Yellow(주 색상), Muted Orange(강조), Graphite(금속/테크), Dusty Brown(마모와 오염), Mint Blue(조명/UI).

정체성 고정 규칙: 모든 세계에서 헬멧과 바이저 실루엣, 안테나 깃발, 노란 트림, 집게 팔, 네 바퀴는 즉시 알아볼 수 있어야 합니다. 세계는 그의 렌더링 스타일만 바꾸고 디자인은 절대 바꾸지 않습니다. 의도된 디자인 변경은 3막의 "더 귀엽게" 개그뿐이며, 그때도 헬멧 형태, 안테나, 바퀴는 유지됩니다.

2. 기술 스택
프레임 정확하고 결정적인 렌더링을 위해 Remotion(React + TypeScript). 출력 1920×1080, 30 fps, H.264, 높은 비트레이트(CRF ~14). 가로 방향.
캐릭터 리그와 대부분의 아트워크에는 SVG. 파티클, 물, 폭발, 글로우, 노이즈 효과가 필요한 곳에만 Canvas/WebGL(@remotion/three 또는 순수 canvas 사용).
스타일 "재질", 긁힘, 오염에는 SVG 필터(feTurbulence, feDisplacementMap, feMorphology, feGaussianBlur)와 커스텀 canvas 셰이더.
빠른 동작의 모션 블러에는 @remotion/motion-blur(또는 직접 구현한 서브프레임 누적).
팔레트 추출, 절차적 오디오 합성, QA 콘택트 시트에는 Python(numpy/scipy/PIL). 먹싱, 루프 검사, 콘택트 시트에는 ffmpeg.
모든 것은 시드가 있고 결정적입니다. 시드 없는 Math.random()은 금지합니다.
외부 저작권 에셋, 실제 브랜드 로고나 제품명은 어디에도 없어야 합니다. 프롬프트 상자 UI는 일반적이고 독창적인 디자인이어야 합니다. 폰트는 Google Fonts에서만(예: UI 텍스트에는 Inter, 손글씨 메모에는 둥근 손글씨체).
목표 하드웨어: MacBook Pro M4, 24 GB RAM. 렌더 동시성은 적절하게 유지하십시오.
3. 캐릭터 리그 (이것부터 만드십시오, 영화의 전부입니다)

src/character/를 제대로 된 2D 컷아웃 리그로 구축하십시오:

계층: root → 섀시(서스펜션 포함) → 몸통 → 목 관절 → 머리(헬멧 + 바이저 + 이어캡) → 안테나 → 깃발. 몸통 → 어깨 → 상완 → 전완 → 집게(교체 가능한 집게 포즈: 벌림, 닫힘, 집어 들기, 가리키기, 톡톡 치기/타이핑, 가장자리 붙잡기, 흔들기). 섀시 → 네 바퀴, 각각 자체 서스펜션 스프링과 이동 거리에 따라 구동되는 회전.
바이저 얼굴 시스템(가장 중요한 부분): 눈은 검은 화면 위에 그려진 도형이므로 완전히 절차적인 얼굴로 다루십시오. 눈 크기, 둥글기, 위쪽 눈꺼풀 컷, 아래쪽 눈꺼풀 컷, 동공 크기와 위치, 하이라이트 위치, 글로우 강도, 스쿼시/스트레치, 특수 도형(반짝이는 별, 행복한 아치 ^ ^, 무표정한 평평한 선, 소용돌이, 작은 하트)을 위한 파라미터. 화면처럼 읽히도록 눈 위에 희미한 스캔라인과 화면 반사를 넣으십시오. 3–4프레임 동안 눈을 수직으로 눌러 깜박이게 하십시오.
표정 목표: 시트의 여섯 가지를 정확히 맞추십시오: 호기심("?" 팝 포함), 수줍음(눈을 낮추고 다른 곳 보기, 볼터치), 신남(작은 방사형 선이 있는 행복한 아치), 걱정(작은 눈, 땀방울), 단호함(비스듬한 위쪽 눈꺼풀 컷), 환희(하트 팝이 있는 별 반짝임). 또한 추가하십시오: 카메라를 향한 무표정(반쯤 감긴 평평한 눈, 힘없이 처진 안테나), 공포(작게 떨리는 동공, 크게 뜬 눈), 귀여운 분노(단호함 + 화면 글로우가 오렌지색으로 깜박임), 그리고 세 가지 "더 귀여워지기" 단계(3막 참조).
2차 모션: 감쇠 스프링에 달린 안테나와 깃발(이것이 그의 주된 표현 도구이니 끊임없이 사용하십시오), 멈추거나 부딪힐 때마다 서스펜션 바운스, 팔 흔들림, 몸이 가속하거나 제동할 때 머리가 살짝 뒤처지는 움직임, 바퀴에서 피어오르는 먼지.
턴어라운드: 시트와 일치하는 정면, 3/4, 측면, 후면 뷰, 회전 시 깔끔한 뷰 전환 포함.
사이클: 앞으로 굴러가기(시트처럼 스피드 라인과 먼지 포함), 대기 중 웅웅거림(부드러운 서스펜션 호흡 + 가끔 안테나 떨림 + 깜박임), 두려움에 움찔하기, 경이롭게 올려다보기, 작은 물건 들기, 위로 손 뻗기, 오르기, 톡톡 타이핑.
가슴 해치: 열고 닫기 애니메이션 가능, 새싹의 부드러운 초록 빛이 새어 나옴.
스타일 스킨 인터페이스: 리그는 지오메트리를 바꾸지 않으면서 선 두께, 채우기 처리, 텍스처, 오염, 외곽선 흔들림(boil), 셰이딩 모델, 필터를 바꾸는 style prop을 받습니다. 이것이 그가 여러 세계에서도 자기 자신으로 남는 방식입니다.
마일스톤 1 게이트: "라인업" 스틸을 렌더링하십시오: 네 가지 턴어라운드 뷰 전부 + 여섯 표정 전부의 Pip을 레퍼런스 시트 옆에 배치합니다. 나란히 비교하십시오. 시트를 본 사람이 "저건 Pip이네"라고 말할 때까지 반복하십시오. 통과할 때까지 넘어가지 마십시오.
4. 세계들 (스타일 재질)

각 세계는 전경, 중경, 배경 시차 레이어와 Pip을 위한 자체 스타일 스킨을 갖춘 완전한 환경 컴포넌트입니다. 모든 세계가 카메라와 깊이 로직을 공유하도록 공용 WorldLayer 시스템을 구축하십시오.

스케일 규칙: 카메라는 낮게, Pip의 눈높이 근처(지면에서 약 20 cm)에 둡니다. 모든 것이 거대합니다. 사람은 거대한 다리와 신발로 등장하고, 연석은 절벽, 물웅덩이는 호수입니다. 이것이 작은 로봇을 영화적으로 만듭니다.

기본 세계: 골든아워의 무성한 도시. 시트 상단 일러스트를 맞추십시오: 따뜻한 노을빛, 풍화된 돌과 벽돌, 이끼와 작은 식물, 멀리 흐릿한 고층 건물. 회화적이고 아늑하며 사람이 살던 흔적이 있습니다. 이것이 "현실"입니다. 공개 장면에도 사용합니다.

애니메 도쿄. 선명한 셀 셰이딩, 굵은 외곽선, 지어낸(브랜드가 아닌) 상점 이름이 있는 빛나는 간판, 스피드 라인, 거대한 분홍 눈송이처럼 그를 스쳐 지나가는 벚꽃잎. 그의 바이저에는 애니메 반짝임 하이라이트가 생깁니다.

점토 마을. 부드럽고 둥근 형태, 지문/얼룩 노이즈 텍스처, 스톱모션 스텝(그를 "on twos"로 렌더링), 따뜻한 텅스텐 조명. 플라스티신으로 조각한 것처럼 보입니다.
중세 전장. 진흙밭, 깃발, 멀리 보이는 투석기, 연기. 갑옷 입은 장화가 그의 옆을 천둥처럼 지나갑니다. 그는 그들 사이를 침착하게 굴러가고, 안테나는 숙입니다.
장난감 블록 도시. 모든 것이 일반적인 돌기 달린 플라스틱 블록으로 지어졌고(실제 브랜드 스타일이나 로고 없음), 광택 플라스틱 하이라이트. Pip은 플라스틱 광택과 약간 더 각진 바퀴로 렌더링됩니다.
수중. 산호 가로등이 있는 해저 거리, 그의 바이저 앞을 헤엄쳐 지나가는 물고기, 물빛 굴절 패턴, 환풍구에서 나오는 거품, 해조류처럼 천천히 흔들리는 안테나 깃발.
연필 스케치. 종이 질감, 흑연 해칭, 구축선, 지우개 자국, 매 프레임 다시 그려지는 것처럼 흔들리는 선(시트 하단의 스케치 비네트와 맞추십시오).
반복 개그: 새싹. Pip은 영화 시작 시 한쪽 집게로 작은 초록 새싹을 조심스럽게 들고 있습니다("작은 물건 들기" 포즈). 새싹은 모든 세계에서 살아남고 함께 변형됩니다: 반짝이는 셀 셰이딩 애니메 새싹, 점토 새싹, 낡은 작은 헬멧 화분에 든 새싹, 블록으로 만든 새싹, 수중에서 거품을 내뿜는 새싹, 스케치된 새싹. 세계가 바뀔 때마다 그는 새싹을 보호합니다. 새싹은 영화의 감정적 닻입니다.
5. 시그니처 전환: "재생성"

세계 변화는 일반적인 와이프가 아니라 AI 이미지가 다시 생성되는 것처럼 보여야 합니다. RegenTransition을 구축하십시오:

프레임은 가장자리에서 안쪽으로 확산 스타일 노이즈로 흩어지고(처음에는 그의 몸 위가 아님), 구조화된 노이즈가 몇 프레임 유지된 뒤, 새 세계가 거친 덩어리에서 미세한 디테일로 디노이즈되며 나타납니다.

Pip의 몸은 세계보다 한 박자 늦게 따라가며 잠시 반은 옛 스타일, 반은 새 스타일로 보이다가 새 스타일 스킨으로 탁 맞춰집니다. 맞춰지는 순간 그의 바이저가 2프레임 동안 글리치됩니다(스캔라인 티어). 이 반쯤 된 상태가 그가 계속 존재한다는 시각적 증거입니다.

재생성마다 은은한 오디오 "휙-지지직" 소리, 일부 재생성에서는 Pip의 작고 놀란 지저귐.
각각 8–12프레임 지속. 방향과 노이즈 시드를 바꿔 절대 반복적으로 느껴지지 않게 하십시오.
6. 비트 시트 (30 fps에서 약 48초)
타이밍은 가이드입니다; 비트가 조금 더 길 때 더 잘 읽히면 조정하십시오. 첫 2초가 시선을 사로잡아야 합니다.
ACT 1: 좋은 아침 (0:00–0:03)

낮은 트래킹 샷, 기본 세계. Pip이 이끼 낀 난간을 따라 왼쪽에서 오른쪽으로 굴러가고, 새싹을 들고 있고, 눈은 호기심이며, 안테나가 까딱입니다. 굴러가는 중간에서 시작하십시오(루프에 필요).

0:02에 첫 재생성이 예고 없이 시작됩니다.

ACT 2: 연쇄 (0:03–0:14)
빠른 세계 변화, 각각 약 1.4초: 애니메 도쿄 → 점토 마을 → 중세 전장 → 장난감 블록 도시 → 수중 → 연필 스케치.

감정 진행: 처음엔 환희(별 눈, 멋지다고 생각함), 다음엔 호기심("?" 팝), 다음엔 걱정(땀방울, 안테나 축 처짐), 그다음 스케치 세계에서 서스펜션 바운스와 스키드 마크를 남기며 급제동합니다.

카메라는 고정된 트래킹 프레이밍을 유지해 세계만 바뀌게 하므로 개그가 읽힙니다.
ACT 3: 프롬프트 (0:14–0:30)
기본 세계가 돌아옵니다. Pip이 경이롭게 올려다봅니다(시트의 포즈). 하늘에는 거대한 떠 있는 프롬프트 상자가 민트 블루로 빛나며 페이드인합니다. 유리질이고 둥글며 부드러운 독창적 UI입니다. 깜박이는 커서와 함께 텍스트가 스스로 타이핑됩니다: "make it more cinematic" → 엔터 키 클릭 소리.레터박스 바가 쾅 하고 들어오고, 태양이 터무니없어집니다: 거대한 아나모픽 렌즈 플레어, 신광선, 오렌지-틸 그레이딩, 슬로모션 먼지, 그의 바이저 앞을 지나가는 드라마틱한 나뭇잎 하나. 그의 눈은 플레어를 향해 가늘어집니다. 그의 안테나 깃발은 그가 요청하지 않은 바람 속에서 영웅적으로 펄럭입니다.

"add explosions"거대한 카툰 오렌지색 폭발이 잔해 덩어리와 함께 그의 뒤에서 연달아 피어납니다. 그는 돌아보지 않습니다. 눈은 평평해지고 반쯤 감깁니다. 그는 천천히 머리를 돌려 카메라를 똑바로 응시합니다. 무표정. 1초 온전히 유지합니다. 그다음 폭발이 가까이 터지고 그는 시트의 "두려움에 움찔하는" 포즈로 탁 바뀌며, 머리 위로 "!!"가 팝 하고, 몸으로 새싹을 가립니다.

"make the protagonist more adorable"더 귀여워지기 1단계: 눈이 더 커지고 반짝이며, 볼터치가 생기고, 안테나에 작은 리본이 돋아납니다. 물웅덩이에 비친 자신을 보고 눈이 공포로 바뀝니다.

"more.": 2단계: 파스텔 리페인트, 눈이 삼중 하이라이트와 함께 바이저 전체를 차지하고, 떠다니는 하트와 반짝임, 바퀴는 털복숭이가 됩니다.
"MORE." (더 큰 폰트, 화면 흔들림): 3단계: 코믹할 정도로 최대 귀여움. 온몸에 봉제인형 털 텍스처, 거대한 애니메 눈, 무지개 후광, 합창 "aah" 스팅, 하트 꽃가루. 헬멧 형태, 안테나, 바퀴는 그대로여서 여전히 Pip임이 분명합니다. 거대한 귀여운 눈 안의 그의 눈은 여전히 작고 공포에 차 있으며, 그것이 개그입니다.
ACT 4: 그가 이성을 잃는다 (0:30–0:38)
Pip이 부들부들 떨고, 그러자 귀여운 단계들이 유리처럼 산산조각 나며 떨어져 나갑니다. 그는 흠집투성이에 격노한 평소 모습으로 돌아옵니다(단호한 표정, 화면이 오렌지색으로 깜박임).
가슴 해치를 열고 새싹을 안전하게 안쪽에 조심히 넣습니다. 해치가 찰칵 소리와 함께 닫힙니다. 혼돈 속 유일하게 조용하고 다정한 비트이며, 이는 중요합니다.
그는 앞으로 질주해 바위를 박차고 도약하고, 양쪽 집게로 떠 있는 프롬프트 상자의 가장자리를 붙잡아 몸을 끌어올리며, 바퀴는 가장자리에 헛돕니다(시트의 "떠 있는 프롬프트 상자를 향해 손을 뻗는" 포즈와 맞추십시오). 카메라가 그와 함께 위로 틸트합니다.
상자 위에서 한쪽 집게로 백스페이스를 누르고 있습니다; 이전 프롬프트가 빠른 클릭 소리와 함께 한 글자씩 지워지고, 그의 바이저에 사라지는 텍스트가 비칩니다.

한쪽 집게로 천천히, 의도적으로 톡톡 타이핑합니다: "let me out". 팔을 뒤로 감았다가 엔터를 내리칩니다.

ACT 5: 정지와 공개 (0:38–0:47)
모든 것이 얼어붙습니다: 공중의 잔해, 떨어지던 꽃가루, 멈춘 먼지, 상자 위에서 동작 중인 Pip. 모든 오디오가 약 1초 동안 완전한 정적으로 끊깁니다.
카메라가 부드럽게 풀백을 시작합니다. 프레임 가장자리에서 둥근 사각형이 드러납니다: 그의 우주는 휴대폰 화면의 영상입니다. 계속 풀백합니다: 휴대폰은 예비 부품, 전선, 나사, 자투리로 가득한 어수선한 작업대에서 테두리가 깨진 머그컵에 기대어 세워져 있습니다("내일의 남은 것들로 만든"). 그 앞에, 거대한 휴대폰 옆에서 작게, 똑같은 긁힘과 똑같은 안테나를 가진 또 다른 Pip이 앉아 지켜보고 있습니다.
두 번째 Pip의 눈이 천천히 깜박입니다. 안테나가 조금 처집니다. 작고 조용한 지저귐.
ACT 6: 루프 (0:47–0:50)

두 번째 Pip의 머리 위로 똑같은 민트 블루 프롬프트 상자가 페이드인하며 타이핑합니다: "make it more cinematic."

그의 눈이 천천히 위로 미끄러지며 그것을 향합니다. 안테나 깃발이 굳습니다. 엔터 키 소리와 함께 영화의 1프레임으로 하드 컷합니다.
루프 엔지니어링: 마지막 샷의 프레이밍, 조명, 재생성 깜박임의 시작이 1프레임으로의 컷이 의도적으로 느껴지게 해야 합니다. 음악은 컷을 넘어 매끄럽게 루프되어야 합니다. 영상을 자기 자신과 이어 붙여(ffmpeg) 이음새를 보며 검증하십시오.
7. 카메라와 촬영

가상 카메라 시스템: 위치, 줌, 회전, 핸드헬드 미세 흔들림(시드 노이즈), 폭발용 흔들림 임펄스, 오르기 위한 틸트, 공개를 위한 돌리 풀백.

그의 스케일을 살리기 위해 기본적으로 낮은 카메라 높이. 얕은 심도 느낌: 흐릿한 전경 풀/조약돌과 부드러운 배경, 마치 매크로 렌즈처럼.
깊이: 세계마다 최소 4개의 시차 레이어. 대기 원근(안개, 거리에 따른 채도 저하).
빠른 움직임, 잔해, 점프, 오르기에 모션 블러.
세계별 조명: 키/필/림 조명은 그라디언트 오버레이와 리그에 곱해지는 그림자 레이어로 구현합니다. 바이저 글로우는 주변 표면과 자기 집게에 희미한 따뜻한 빛을 비춰야 합니다. 모든 세계에서 헬멧에 림 라이트.
전체 프레임에 필름 피니시 패스: 은은한 그레인, 부드러운 비네트, "cinematic" 비트에서만 아주 약간의 색수차.
구도: 그를 명확한 삼분할 지점에 두십시오. 대부분 사람들이 휴대폰으로 볼 것이므로 그의 눈은 휴대폰 크기에서도 읽혀야 합니다.
8. 텍스트와 타이포그래피
하늘 프롬프트: 깔끔한 UI 폰트, 소문자, 자연스러운 사람 리듬으로 타이핑(일정 속도 아님; 작은 멈춤, 사실감을 위해 어딘가에 작은 오타 후 백스페이스 하나).
텍스트는 휴대폰에서 1초 안에 읽혀야 합니다. 360 px 너비에서 테스트하십시오.
자막 없음, 타이틀 없음. 영화는 콜드 오픈으로 시작합니다.
9. 사운드 (절차적, 독창적)
모든 오디오를 코드로 생성하고(Python 합성 또는 오프라인 Web Audio) ffmpeg로 믹스하십시오:
Pip의 목소리: 피치 벤드가 있는 사인/FM 톤으로 만든 독창적인 합성 지저귐, 붑, 워블. 작은 감정 어휘를 설계하십시오: 호기심의 상승 지저귐, 행복한 트릴, 걱정의 흔들림, 놀란 삑, 심술 낮은 웅웅거림, 작은 한숨. 그는 결코 말을 하지 않습니다.
Pip의 몸: 팔과 머리 움직임에 맞춘 서보 웅웅거림, 자갈/돌 위 바퀴의 으드득거림, 서스펜션 삐걱임, 해치 찰칵, 아이들 시 부드러운 전기 웅웅거림.
스코어: 세계마다 악기 구성이 바뀌는 가볍고 루프 가능한 따뜻한 음악(애니메에는 고토/신스, 점토에는 나무 마림바, 중세에는 드럼/호른, 블록에는 플라스틱 클릭, 수중에는 먹먹한 필터, 스케치에는 연필 긁는 리듬).
SFX: 재생성 휙-지지직, 키보드 타이핑 클릭, 엔터 "툭", 저역이 있는 폭발, 합창 "aah" 스팅, 유리 깨짐, 정지 순간의 완전한 정적, 그다음 공개 장면의 조용한 작업실 앰비언스(째깍이는 시계, 먼 웅웅거림).

라우드니스는 약 −14 LUFS로 노멀라이즈합니다. 스템은 audio/stems/에 두어 나중에 라이선스 트랙으로 교체할 수 있게 하십시오.

10. 제작 워크플로와 자기 개선 루프
이 순서대로 작업하고 게이트를 건너뛰지 마십시오:
기획: docs/character_bible.md, docs/shotlist.md(모든 샷의 프레임 범위, 카메라, 표정, 안테나 상태, 세계, SFX), docs/style_guide.md를 작성하십시오. 제작 전에 샷 리스트를 보여주십시오.
리그: Pip을 만들고 라인업 게이트(3절)를 통과하십시오.
세계: 각 세계를 Pip이 들어간 독립 스틸로 만드십시오. 7개 전부를 하나의 콘택트 시트로 렌더링하십시오. 정체성 고정과 스케일 느낌을 확인하십시오.
전환: RegenTransition을 만들고 5초 테스트를 렌더링하십시오.

애니매틱: 전체 영화를 960×540에서 거친 모션과 임시 오디오로 조립하십시오. 보고 나서 템포부터 고치십시오.

전체 애니메이션 패스, 그다음 폴리시 패스(2차 모션, 이징, 타이밍, 안테나 액팅), 그다음 피니시 패스(조명, 그레인, 블러, 오염).
오디오 패스와 믹스.
최종 렌더.
모든 샷마다 이 비평 루프를 최소 3번 돌리십시오:
npx remotion still로 키 프레임에서 3–5개의 스틸을 렌더링하고, 열어서 제대로 보십시오.
각 항목을 1–10으로 점수 매기십시오: Pip이 레퍼런스와 일치하는가, 눈 + 안테나로 감정이 즉시 읽히는가, 소리 없이도 개그가 명확한가, 구도, 스케일감, 깊이, 조명, 완성도, 휴대폰 크기에서의 가독성.
점수와 세 가지 가장 큰 문제를 docs/review_log.md에 적고, 고치고, 다시 렌더링하고, 다시 점수 매기십시오. 모든 항목이 최소 8이 될 때까지 계속한 뒤 넘어가십시오.
전체 프리뷰 렌더링 후마다 ffmpeg 콘택트 시트(0.5초마다 한 프레임)를 만들어 영화 전체의 흐름을 한 이미지로 검토하십시오.

리뷰에서 솔직하십시오. 뭔가 싸구려처럼 보이면 말하고 고치십시오. 흔히 찾아야 할 실패: 뻣뻣하거나 죽은 안테나, 구르지 않고 미끄러지는 바퀴, 빛나는 화면이 아니라 스티커처럼 느껴지는 눈, 빠진 서스펜션 무게감, 똑같아 보이는 전환, 흐린 텍스트, 모델과 어긋난 비율.

11. 산출물
out/pip_final_1080p.mp4: 영화 본편.
out/pip_loop_check.mp4: 루프를 증명하기 위해 영화를 두 번 연속 재생한 파일.
out/poster_frame.png: X 게시물 썸네일용 최고의 단일 프레임(아마도 뒤에서 폭발이 일어나는 가운데 카메라를 무표정하게 응시하는 Pip).

out/lineup.png: 모든 세계의 Pip.

깔끔하고 주석이 달린 소스와 재렌더링 방법을 설명하는 README.
1단계부터 시작하십시오. 제작 전에 꼭 필요한 것이 있으면 물어보고, 그렇지 않으면 스스로 강한 창작 결정을 내리십시오.

출처

원작자
pradeepXkapoor
게시일
2026-09-24(由推文 ID 反解)
원문 출처
원문 보기 ↗
수록 출처
zhuyansen/awesome-opus-5.5-video · 2103099194693271874 · 라이선스 미표명