今天在 GitHub Trending 上看到一个有意思的项目:scroll-world,一个 Agent 技能工具,能让你通过简单的对话,自动生成类似 Apple 产品页那种滚动驱动的沉浸式「飞行穿越世界」着陆页——滚动即驱动摄像机飞行,场景间无缝衔接,一镜到底。
一、项目概述
scroll-world 是一个面向 Claude Code、Codex 等 Agent 的技能(Skill),它利用 Higgsfield 平台的 AI 生成能力,自动创建沉浸式的滚动驱动着陆页。核心特性包括:
- 滚动驱动的摄像机飞行:用户滚动页面时,摄像机从场景外部飞入内部,再无缝流转到下一个场景
- 无缝衔接的连接片段:相邻场景之间的过渡视频由实际渲染帧生成,确保帧级无缝
- 框架无关:生成的滚动引擎是纯 JavaScript,可嵌入 HTML、Next.js、Vue 或 Python 服务页面
- 自动化工作流:从访谈需求、生成素材、到组装页面,全程由 Agent 驱动
这个项目适合需要打造品牌着陆页、产品展示页的场景,尤其适合想要复刻 Emons 物流站或 Apple 滚动动画效果的团队。
二、技术原理
架构设计
scroll-world 的核心架构分为三层:
- 访谈层:收集用户需求(行业/品牌、艺术风格、场景顺序)
- 素材生成层:调用 Higgsfield API 生成静态图像和动态视频
- 组装层:配置驱动的滚动引擎,将视频链串联为可交互页面
核心技术栈
| 组件 | 技术 | 用途 |
|---|---|---|
| 图像生成 | GPT Image 2 (via Higgsfield) | 生成等轴测立体场景静态图 |
| 视频生成 | Seedance (via Higgsfield) | 生成摄像机飞入和场景连接视频 |
| 帧处理 | ffmpeg / ffprobe | 视频帧提取与编码 |
| 滚动引擎 | Vanilla JS | Blob-seek、懒加载、场景过渡淡入淡出 |
关键设计:无缝连接片段
传统方案中,场景切换需要剪辑,会打断沉浸感。scroll-world 的创新在于:
# 连接片段生成逻辑(简化示意)
# 从相邻场景的实际渲染帧生成过渡视频
# 确保首帧与前一场景末帧一致,末帧与后一场景首帧一致
def generate_connector_clip(prev_scene_last_frame, next_scene_first_frame):
"""
基于相邻场景的实际渲染帧生成连接片段
Higgsfield Seedance 模型会确保帧级连续性
"""
# 将两帧作为起始和结束参考
# 生成平滑的摄像机过渡路径
# 输出:无缝连接视频片段
pass
这种「帧级连续」设计,使得整个体验像一个长镜头,没有剪辑痕迹。
滚动驱动原理
// 滚动引擎核心:Blob-seek + 懒加载
class ScrollEngine {
constructor(config) {
this.videos = config.scenes; // 视频片段列表
this.currentIndex = 0; // 当前播放索引
this.scrollProgress = 0; // 滚动进度 (0-1)
}
onScroll(scrollY) {
// 将滚动位置映射到视频时间线
this.scrollProgress = this.mapScrollToProgress(scrollY);
// 更新当前视频播放位置
const videoIndex = this.getVideoIndex(this.scrollProgress);
const localTime = this.getLocalTime(this.scrollProgress, videoIndex);
this.videos[videoIndex].currentTime = localTime;
// 处理场景切换时的淡入淡出
if (videoIndex !== this.currentIndex) {
this.crossfade(this.currentIndex, videoIndex);
this.currentIndex = videoIndex;
}
}
}
用户滚动时,引擎实时计算当前应该播放哪个视频的哪一帧,并在场景切换时应用淡入淡出效果。
三、安装与快速开始
环境要求
- Higgsfield CLI:用于 AI 素材生成
npm install -g @higgsfield/cli higgsfield auth login - ffmpeg / ffprobe:用于视频帧处理
# macOS brew install ffmpeg # Ubuntu/Debian sudo apt install ffmpeg - Python 3 + Pillow(可选):用于透明场景背景剔除
安装方式
Claude Code(推荐)
/plugin marketplace add oso95/scroll-world
/plugin install scroll-world@scroll-world
安装后,直接向 Claude Code 请求:「帮我生成一个滚动驱动的着陆页」或调用 /scroll-world。
Codex 及其他 Agent
使用 Vercel 的 skills CLI:
npx skills add oso95/scroll-world
在 Codex 中通过 $scroll-world 调用,或直接描述需求。
手动安装
git clone https://github.com/oso95/scroll-world
cp -R scroll-world/skills/scroll-world ~/.claude/skills/ # Claude Code
cp -R scroll-world/skills/scroll-world ~/.codex/skills/ # Codex
最简运行示例
在 Claude Code 中输入:
帮我生成一个咖啡品牌的滚动着陆页, 风格:温馨、复古, 场景:咖啡豆农场 → 烘焙工坊 → 咖啡馆scroll-world 会自动:
- 访谈确认品牌调性
- 调用 Higgsfield 生成 3 个场景图 + 3 个飞入视频 + 2 个连接视频
- 生成包含滚动引擎的 HTML 页面
打开生成的
index.html,滚动体验沉浸式飞行效果。
四、使用方法与实战
基础用法:单场景着陆页
最简单的场景,只需要一个核心展示空间:
帮我做一个科技产品着陆页,
场景:未来城市俯瞰 → 镜头飞入产品展厅
Agent 会生成 2 个场景的视频链,滚动驱动从城市到展厅的飞行。
进阶用法:多场景品牌旅程
对于品牌叙事,可以设计 4-6 个场景的旅程:
帮我为「绿野有机农场」设计一个滚动着陆页:
场景顺序:
1. 日出时的农场全景
2. 有机蔬菜大棚
3. 农夫采摘场景
4. 配送中心
5. 消费者餐桌
风格:自然、温暖、纪录片质感
实际项目示例
假设你要为一个 SaaS 产品「DataFlow」创建着陆页:
需求描述:
产品:DataFlow 数据分析平台
目标用户:企业数据分析师
场景设计:
1. 数据中心(服务器机房)
2. 数据流可视化界面
3. 团队协作会议室
4. 移动端查看报表
风格:科技、专业、深色主题
品牌色:蓝色 #0066CC
执行步骤:
- scroll-world 访谈确认细节
- 后台生成约 11 个素材(4 个静态图 + 7 个视频)
- 输出可部署的 HTML 文件
成本估算:
- Higgsfield credits:约 4 次图像生成 + 7 次视频生成
- 生成时间:约 15-30 分钟(并行生成)
五、常见问题与解决方案
安装失败
问题:higgsfield: command not found
解决:确保全局安装并配置 PATH:
npm install -g @higgsfield/cli
# 验证
higgsfield --version
问题:ffmpeg not found
解决:
# macOS
brew install ffmpeg
# 添加到 PATH(如果未自动添加)
export PATH="/opt/homebrew/bin:$PATH"
运行时错误
问题:Higgsfield API 返回 401 Unauthorized
解决:重新登录认证:
higgsfield auth login
# 按提示完成 OAuth 流程
问题:视频生成超时
解决:
- Higgsfield 视频生成耗时较长(30-90 秒/视频)
- scroll-world 会自动轮询状态,无需手动干预
- 若长时间无响应,检查网络和 Higgsfield 服务状态
性能问题
问题:页面滚动卡顿
解决:
- 视频懒加载:scroll-world 默认启用,确保只加载当前和下一个视频
- 视频格式优化:使用 WebP 或压缩的 MP4
- 减少 FPS:对于长视频,可降低到 24fps
问题:移动端体验不佳
解决:
- 减少场景数量:移动端建议不超过 4 个场景
- 降低视频分辨率:Higgsfield 支持指定分辨率
兼容性
问题:Safari 视频无法播放
解决:
- 确保视频格式为 MP4 (H.264)
- scroll-world 默认生成兼容格式,若问题仍存在,手动转码:
ffmpeg -i input.webm -c:v libx264 -c:a aac output.mp4
问题:嵌入 Next.js 后滚动不工作
解决:
- 确保在
useEffect中初始化滚动引擎 - 示例:
useEffect(() => { const engine = new ScrollEngine(config); return () => engine.destroy(); }, []);
六、总结
scroll-world 是一个极具创意的 Agent 技能,它将复杂的滚动驱动动画制作流程自动化,让普通用户也能通过自然语言描述,生成专业级的沉浸式着陆页。核心亮点包括:
- 无缝体验:通过帧级连续的视频片段,实现一镜到底的飞行效果
- 自动化流程:从访谈到素材生成到页面组装,全程 Agent 驱动
- 框架无关:生成的滚动引擎可嵌入任意前端框架
对于需要打造品牌叙事、产品展示着陆页的团队,scroll-world 提供了一个高效的解决方案,尤其适合想要复刻 Apple 风格滚动动画但缺乏专业动画团队的公司。需要注意的是,项目依赖 Higgsfield 平台的付费 API,生成一个完整着陆页的成本大约在 $5-20 之间(取决于场景数量)。