ai21.net
語言

《The First Spark》程序化手繪動畫短片

示範影片

《The First Spark》程序化手繪動畫短片 — 1

提示詞

PROJECT: THE FIRST SPARK — Procedural Animated Short Film

You are a senior creative coder, generative artist, animation director, and JavaScript graphics engineer.

Your task is to create a visually stunning, fully animated short film using procedural JavaScript drawing.

I have attached a reference image showing a minimalist black-ink animation on an off-white background.

Use the reference to understand the visual language, but create an original animation with its own story, composition, and movement.

Do not create a slideshow, static illustration, or simple particle demo. Build a genuine animated short film with evolving scenes, expressive character animation, cinematic transitions, and continuous visual storytelling.

1. Technical requirements

Build the project using:

JavaScript
HTML5 Canvas 2D
requestAnimationFrame for real-time playback
Procedural geometry and vector-based drawing
Bezier curves, paths, particles, and custom brush strokes
Deterministic animation based on a master timeline

All visual elements must be generated through JavaScript code.

Do not use:

AI image-generation APIs
AI video-generation APIs
External images or pre-rendered video
Stock footage
CSS-only animation
Static illustrations disguised as animation

The animation must be genuinely generated by code.

You may use lightweight JavaScript libraries if they meaningfully improve the animation, but prioritize Canvas 2D.

2. Visual direction

Create a hand-drawn, minimalist, experimental animation.

Visual characteristics:

Warm off-white paper background
Deep black ink illustrations
Slightly imperfect hand-drawn outlines
Organic brush strokes
Variable line thickness
Ink splashes and subtle paper grain
Expressive silhouette-based character design
Fluid, organic movement
Occasional dramatic camera movements
Cinematic composition

The visual result should feel like a professional independent animated short film.

Avoid generic geometric motion graphics, repetitive particle effects, and simple bouncing shapes.

Every scene should have a clear visual purpose.

3. Story: THE FIRST SPARK

Create an original 60-second animated short film.

The story follows a tiny character that emerges from a drop of black ink and gradually discovers how to create a world.

SCENE 1 — THE BEGINNING (0–8 seconds)

An empty off-white canvas.

A tiny black ink droplet appears in the center.

The droplet begins trembling.

Small irregular brush strokes emerge from it.

The ink slowly transforms into a tiny living character.

The character opens its eyes and looks around.

The camera gradually moves closer.

SCENE 2 — DISCOVERY (8–18 seconds)

The character begins walking across the empty world.

Its movement must feel alive, with animated limbs, body deformation, and subtle secondary motion.

Every step leaves behind small ink marks.

The character notices one of these marks and touches it.

The mark begins growing into an organic structure.

SCENE 3 — CREATION (18–32 seconds)

The character discovers that its movements can create new objects.

It draws a line through the air.

The line becomes a tree.

More brush strokes emerge and transform into hills, plants, and abstract structures.

The camera follows the character as the world expands.

Objects must visibly grow and transform through procedural drawing rather than suddenly appearing.

SCENE 4 — CHAOS (32–44 seconds)

The character loses control of its creation.

Black ink spreads rapidly.

The landscape becomes distorted.

Trees twist into abstract shapes.

Ink splashes fill the screen.

The camera shakes subtly as the character runs.

The animation becomes faster and more intense.

Use fluid transitions between all visual elements.

SCENE 5 — THE FIRST SPARK (44–55 seconds)

The character stops running.

Everything becomes still.

A small glowing point appears in its hand.

This is the only moment where a subtle warm accent color may be used.

The character releases the light.

The light expands into a circular wave.

The chaotic ink reorganizes into a beautiful, balanced landscape.

The camera pulls back to reveal the completed world.

SCENE 6 — ENDING (55–60 seconds)

The character stands on a small hill and looks toward the horizon.

The camera slowly moves backward.

The entire landscape gradually transforms into a single small ink drawing on the original empty canvas.

Fade to off-white.

End.

4. Animation quality requirements

This is the most important part of the project.

Every scene must contain actual animation.

The character must have:

Procedurally animated walking and running
Expressive body language
Head and body rotation
Squash and stretch
Anticipation and follow-through
Smooth transitions between poses

Environmental elements must have:

Organic growth animations
Continuous subtle movement
Non-repetitive procedural variation
Smooth transformations between shapes

Implement a virtual camera with:

Position
Zoom
Rotation
Smooth tracking
Cinematic easing

Use layered depth and camera movement to create visual richness.

Do not rely on random movement alone.

The animation should be deliberately choreographed around the story.

5. Timeline and rendering architecture

Create a centralized animation timeline.

Every visual state must be determined by the current timeline position.

Implement a function similar to:

renderFrame(time)

The function must render the correct animation frame for any requested timestamp.

Use seeded randomness so that rendering the same timestamp always produces the same image.

Do not make the animation dependent on the number of previous frames rendered.

This is essential for deterministic video export.

Target specifications:

Resolution: 1920 × 1080

Aspect ratio: 16:9

Frame rate: 30 FPS

Duration: 60 seconds

Provide an option to switch to 1080 × 1920 vertical format for social media.

6. Preview and controls

Create a local web interface that allows me to:

Play and pause the animation
Restart the animation
Scrub through the timeline
Jump between scenes
Adjust playback speed
Switch between horizontal and vertical formats
Preview the animation in real time

Display the current timestamp and scene name.

7. Video export

Implement a reliable video export workflow.

The final animation must be exportable as a high-quality MP4 file.

Use deterministic frame-by-frame rendering to avoid dropped frames or inconsistent timing.

You may use a suitable browser rendering pipeline, a frame-sequence exporter, or FFmpeg.

Do not assume that recording the browser window in real time is sufficient for production-quality export.

Provide a simple export command or interface.

8. Development process

Do not attempt to create the entire film as one enormous, untested code block.

Work in stages.

First:

Create the project architecture.
Implement the Canvas rendering engine.
Implement the deterministic timeline.
Create the character animation system.
Build Scene 1 as a fully functional visual prototype.
Run the project and inspect the visual result.

After the first scene works, continue implementing the remaining scenes.

Test the animation at multiple timestamps.

Check for rendering errors, broken transitions, inconsistent character proportions, and performance problems.

If a scene looks too simplistic, improve its procedural drawing and choreography.

9. Deliverables

Provide:

Complete JavaScript source code
Working local animation preview
Editable scene definitions
Reusable character animation system
Reusable procedural drawing functions
Video export functionality
Instructions for running the project

The final result must be a functioning animation, not just a technical demonstration.

Start by implementing the first scene and the core animation engine. Once the prototype is functional, continue with the remaining scenes.

中文翻譯

項目:THE FIRST SPARK —— 程序化手繪動畫短片

你是一位資深創意程序員、生成藝術家、動畫導演,同時也是一名 JavaScript 圖形工程師。

你的任務是使用程序化 JavaScript 繪製,創作一部視覺驚豔、完整動畫的短片。

我附上了一張參考圖,展示的是米白背景上的極簡黑墨動畫。

請藉助這張參考圖理解其視覺語言,但要創作一部擁有自己的故事、構圖與運動的原創動畫。

不要製作幻燈片、靜態插畫或簡單的粒子演示。請打造一部真正的動畫短片,具備不斷演進的場景、富有表現力的角色動畫、電影化的轉場,以及持續的視覺敘事。

1. 技術要求

使用以下技術構建項目:

JavaScript
HTML5 Canvas 2D
requestAnimationFrame 用於實時播放
程序化幾何與基於矢量的繪製
Bezier 曲線、路徑、粒子與自定義筆刷
基於主時間軸的確定性動畫

所有視覺元素都必須通過 JavaScript 代碼生成。

不要使用:

AI 圖像生成 API
AI 視頻生成 API
外部圖片或預渲染視頻
素材庫影像
純 CSS 動畫
僞裝成動畫的靜態插畫

動畫必須真正由代碼生成。

如果輕量級 JavaScript 庫能切實改善動畫,你可以使用它們,但請優先採用 Canvas 2D。

2. 視覺方向

創作一部手繪、極簡、實驗性的動畫。

視覺特徵:

溫暖的米白紙張背景
深黑的墨色插畫
略不完美的手繪輪廓
有機的筆刷
變化的線條粗細
墨點飛濺與細微的紙張顆粒
基於剪影、富有表現力的角色設計
流暢、有機的運動
偶爾出現的戲劇性鏡頭運動
電影化構圖

視覺呈現應當讓人覺得像一部專業的獨立動畫短片。

避免通用的幾何動態圖形、重複的粒子效果,以及簡單的彈跳形狀。

每個場景都應有明確的視覺目的。

3. 故事:THE FIRST SPARK

創作一部原創的 60 秒動畫短片。

故事跟隨一個微小的角色:它從一滴黑墨中誕生,並逐漸發現如何創造一個世界。

場景 1 —— 開端(0–8 秒)

一張空白的米白色畫布。

畫面中央出現一小滴黑色墨滴。

墨滴開始顫抖。

細碎而不規則的筆觸從它身上浮現。

墨跡緩慢地變成一個微小、有生命的角色。

角色睜開眼睛,環顧四周。

鏡頭逐漸拉近。

場景 2 —— 發現(8–18 秒)

角色開始在這片空無的世界中行走。

它的動作必須顯得鮮活,具備動畫化的四肢、身體形變,以及細微的次級運動。

每一步都會留下小小的墨跡。

角色注意到其中一處墨跡,並觸碰了它。

墨跡開始生長成一種有機結構。

場景 3 —— 創造(18–32 秒)

角色發現自己可以用動作創造新的物體。

它在空中畫出一條線。

這條線變成一棵樹。

更多筆觸浮現,並轉化爲山丘、植物與抽象結構。

隨着世界擴張,鏡頭跟隨着角色。

物體必須通過程序化繪製明顯地生長與變形,而不是突然出現。

場景 4 —— 混亂(32–44 秒)

角色失去了對自身造物的控制。

黑墨迅速蔓延。

地貌開始扭曲。

樹木扭結成抽象的形狀。

墨點飛濺充滿畫面。

角色奔跑時,鏡頭微微震動。

動畫變得更快、更激烈。

所有視覺元素之間採用流暢的轉場。

場景 5 —— THE FIRST SPARK(44–55 秒)

角色停止奔跑。

一切都靜止下來。

它的手中出現一個微小的發光點。

這是全片唯一可以使用微妙暖色點綴的瞬間。

角色釋放出這道光。

光擴張成一道環形波動。

混亂的墨跡重組爲美麗而平衡的風景。

鏡頭向後拉遠,展現出已經完成的這個世界。

場景 6 —— 結尾(55–60 秒)

角色站在一座小山上,望向地平線。

鏡頭緩緩向後移動。

整片風景逐漸變回原先那張空白畫布上的一幅小小墨畫。

淡出至米白色。

結束。

4. 動畫質量要求

這是本項目最重要的部分。

每個場景都必須包含真正的動畫。

角色必須具備:

程序化動畫的行走與奔跑
富有表現力的肢體語言
頭部與身體的旋轉
擠壓與拉伸
預備動作與跟隨動作
姿勢之間的平滑過渡

環境元素必須具備:

有機的生長動畫
持續細微的運動
不重複的程序化變化
形狀之間的平滑變換

實現一臺虛擬攝影機,具備:

位置
縮放
旋轉
平滑跟隨
電影化的緩動

使用分層景深與鏡頭運動來營造視覺豐富度。

不要只依賴隨機運動。

動畫應圍繞故事進行有意的編排。

5. 時間軸與渲染架構

創建一條集中式動畫時間軸。

每個視覺狀態都必須由當前時間軸位置決定。

實現一個類似下面的函數:

renderFrame(time)

對於任意請求的時間戳,該函數都必須渲染出正確的動畫幀。

使用帶種子的隨機性,使得渲染同一時間戳時總是產生相同的圖像。

不要使動畫依賴於此前已渲染的幀數。

這對確定性的視頻導出至關重要。

目標規格:

分辨率:1920 × 1080

寬高比:16:9

幀率:30 FPS

時長:60 秒

提供切換到 1080 × 1920 豎版格式(用於社交媒體)的選項。

6. 預覽與控制

創建一個本地網頁界面,讓我可以:

播放和暫停動畫
重啓動畫
在時間軸上拖動
在場景之間跳轉
調整播放速度
在橫版與豎版格式之間切換
實時預覽動畫

顯示當前時間戳與場景名稱。

7. 視頻導出

實現一套可靠的視頻導出流程。

最終動畫必須能夠導出爲高質量 MP4 文件。

使用確定性的逐幀渲染,以避免掉幀或時間不一致。

你可以使用合適的瀏覽器渲染管線、幀序列導出器,或 FFmpeg。

不要認爲實時錄製瀏覽器窗口就足以達到生產級質量的導出。

提供簡單的導出命令或界面。

8. 開發流程

不要試圖把整部影片當作一個巨大且未經測試的代碼塊一次性完成。

分階段推進。

首先:

創建項目架構。
實現 Canvas 渲染引擎。
實現確定性時間軸。
創建角色動畫系統。
把場景 1 構建爲功能完整的視覺原型。
運行項目並檢查視覺結果。

第一個場景跑通後,再繼續實現其餘場景。

在多個時間戳測試動畫。

檢查渲染錯誤、斷裂的轉場、不一致的角色比例,以及性能問題。

如果某個場景看起來過於簡陋,就改進它的程序化繪製與編排。

9. 交付物

提供:

完整的 JavaScript 源代碼
可運行的本地動畫預覽
可編輯的場景定義
可複用的角色動畫系統
可複用的程序化繪製函數
視頻導出功能
項目運行說明

最終結果必須是一部能正常運行的動畫,而不只是一個技術演示。

從實現第一個場景與核心動畫引擎開始。原型可用之後,再繼續處理剩餘場景。

溯源

原作者
morpheusdv
發佈日期
2026-09-23(由推文 ID 反解)
原始出處
查看原帖 ↗
收錄來源
zhuyansen/awesome-opus-5.5-video · 2102910531560731063 · 未聲明授權