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 · 未声明许可