把 AI 视频分镜玩成拍电影:ArtCraft 3D 舞台的摆姿与场景调度入门
把 AI 视频分镜玩成拍电影ArtCraft 3D 舞台的摆姿与场景调度入门【免费下载链接】artcraftArtCraft is an intentional crafting engine for artists, designers, and filmmakers项目地址: https://gitcode.com/GitHub_Trending/ar/artcraft用 AI 生成视频最让人上头的不是生成本身而是失控你写下少女在樱花树下转身回眸模型给了你十版构图各异的抽卡结果机位、走位、动作全靠运气。ArtCraft 给出的解法是把生成拆成两段——先用一个真正的 3D 舞台把场景、角色、机位、动作全部摆出来再让视频模型照着这份确定性的分镜去执行。这篇文章基于 ArtCraft 仓库frontend/libs/components/pagescene的源码带你走完从角色摆姿、镜头调度到输出成片的完整链路理解这套像导演一样工作的 3D 分镜工作流到底是怎么实现的。为什么需要一块 3D 舞台ArtCraft 对 3D 编辑器的定位写得很直白它叫pagescene代码里也常被写作 Stage3D——一个名副其实的舞台。整个模块的单向数据流是Three.js 引擎 → 类型化事件总线 → EngineStoreBridge → Zustand 状态 → React → actions → 引擎方法见 AGENTS.md也就是说引擎只负责渲染与计算所有 UI 状态由单一 Zustand Store 承载任何操作都通过 action 回流到引擎保证了你在舞台上看到的就是最终要拍到的。更关键的设计原则写在同一份文档里3D 编辑器不再生成它只负责编排compose生成交给 2D 和视频体验。这解释了为什么 3D 舞台在 ArtCraft 里不是又一个抽卡入口而是一块分镜板——它把 AI 视频里最不可控的三个变量场景布局、角色动作、机位运动变成你可以亲手摆弄的确定性对象最后再交给视频模型去演。舞台上的素材来源也足够宽ArtCraft 的模型目录把 62 个主流模型收进同一个 Catalog其中 3D 网格生成由混元 3D、Meshy、Rodin 等提供。仓库内frontend/libs/model-list/src/lib/lists/Object3DModels.ts记录了 Tencent 系的两款hunyuan_3d_3Highest quality 3D mesh generation约 2 分钟与hunyuan_3d_2_0Faster, lower fidelity约 45 秒——这是把一张图变成可摆姿 3D 角色/道具的直接通道。摆姿让角色先演起来进入 3D 舞台后顶栏中央的工具栏Controls3D.tsx承担了搭台的入口号弹窗提供 ArtCraft Presets、Animations、My Library、Upload 3D Model、Upload Image、Upload Splat 六种加资产方式旁边还有一支魔法棒按钮直达Create 3D model from imageImage-to-3D。舞台上的对象分三类——object | character | shape见 PageSceneStore.ts角色character是唯一可以演的对象因为它有骨骼。摆姿的开关在 PoseModeSelector.tsx选中一个角色后顶部会出现 Enter Pose Mode快捷键 K点击后mouse_controls.toggleFKMode()进入FK正向运动学摆姿模式拖拽骨骼关节即可调整角色的站姿、视线、手部位置摆完点 Done 退出。旁边紧挨着 Add Animation 按钮打开动画素材库。动画库值得一提AnimationsModal的 Animations 标签页由服务器精选engine_categoryanimation的 GLB/GLTFAPI 不可用时回退到内置的 37 个精选演示片段。动画片段可以点选添加也可以直接拖到 3D 舞台的角色上——拖拽过程中DndAsset会预加载片段的骨骼轨道节点名依赖mixamorig:*命名约定与角色骨骼实时比对不兼容的骨骼直接亮红牌拒绝避免动作穿模式的尴尬。时间轴上的空隙里角色自动回到静止姿态rest pose而不是停在动画最后一帧细节处理相当到位AGENTS.md。仓库自带的角色资源如frontend/apps/artcraft/app/public/resources/characters/roko.png就是这类可导入舞台的 3D 角色素材的预览形态——把静态角色放到舞台上摆姿、挂动画它才开始活。场景调度镜头语言是摆出来的真正把 3D 舞台和拍电影联系起来的是它双相机的镜头模型。PageSceneStore.ts里内置了两台默认相机mainMain View视口相机默认停在(-4.5, 4, 6)看向(0, 0.5, 0.6)焦距 17——一个 Blender 风格的拉远抬高 3/4 视角方便你俯瞰全局cam2Camera 2渲染相机默认在(0, 0.6, 1.5)看向原点焦距 10。关键的设计是渲染相机不是藏在设置里的数字而是一个看得见、摸得着的场景对象。引擎会在场景里创建名为::CAM::的线框平截头体frustum占位对象放在 layer 1仅编辑器可见、不参与渲染选中它就能用 Move/Rotate 工具像挪机位一样挪镜头。双击舞台上的平截头体或点击 Outliner 里相机行的从相机视角查看按钮就进入CAMERA_VIEW 状态——视口相机被移动到渲染相机的位置你看到的画面就是将来输出的画面。进入相机视角后编辑器会叠加一套真正的取景辅助渲染画幅的宽高比边框、三分法构图参考线画幅外区域变暗不会被拍到左上角显示当前焦距如 35mm并可调整。宽高比由CameraAspectRatio枚举控制SceneContainer/Letterbox.tsx负责绘制上下黑边遮罩确保取景框和输出比例严格一致。这些能力与 AGENTS.md 中相机视图章节描述的规则逐条对应。有了机位还要有机位运动。相机的变换和场景对象一样可以被关键帧记录在时间轴上为::CAM::打关键帧就能做出推拉摇移——镜头语言从此不是 prompt 里的一句缓慢推近而是时间轴上一串精确到秒、到坐标的关键帧。时间轴把分镜变成镜头3D 舞台的时间轴数据模型在 types.ts 里定义得非常工程化interface Keyframe { id: string; time: number; // 秒从时间轴起点算 transform: TransformSnap; // 该时刻的完整变换位置/旋转/缩放 easing: EasingSpec; // 进入下一个关键帧的缓动曲线 }每个对象一条轨道TimelineTrack每个关键帧存的是完整变换快照播放时用左侧关键帧的EasingSpecCSS cubic-bezier 语义的贝塞尔控制点插值到下一帧。内置四档缓动预设linear / easeIn / easeOut / easeInOut默认easeInOut选中关键帧会弹出 MotionPopover可以直接拖贝塞尔手柄定制运动节奏——这是动画师熟悉的打关键帧调曲线工作流。细节上还有两个贴心机制一是自动关键帧——对一个已有过关键帧的对象继续做 gizmo 拖动或属性修改TimelineController.autoKeyIfTracked(uuid)会在当前播放头位置自动补一帧不用每次手动点加号二是片段过渡——相邻两段动画剪辑之间的空隙可以开启transitionEasing用 0.3 秒的默认过渡窗把前一段的出口姿态与后一段的入口姿态做权重交叉淡入evaluateAt中(1−w, w)权重 lerp走、停、转身之间的衔接因此平滑。角色的动画片段在同一行内不允许重叠系统会自动吸附到最近的空隙从机制上杜绝了动作打架。从舞台到成片一次完整的 AI 视频流程把上面所有能力串起来一条完整的产出路径是这样的搭台用 Presets / 上传 GLB / Image-to-3D 把角色和道具摆上 3D 舞台用 MoveT/ RotateR/ ScaleG与 World/Local 变换空间X 切换完成构图摆姿与表演选中角色进入 Pose Mode 摆关键姿态或从 Animations 库拖入 Mixamo 动画剪辑在时间轴上铺排走位动作调度镜头选中::CAM::平截头体调整机位双击进入相机视角看取景框必要时为相机打运动关键帧切换 Record 模式点击顶部 Build/Record 模式胶囊进入只读回放一切编辑工具隐藏视口锁定在渲染相机上只保留播放/进度条Capture 或 RecordRecordControls.tsx 提供两个输出按钮——Capture 导出当前帧静帧Record 把整条时间轴渲染成视频。视频编码的实现相当硬核见 TimelineRecorder.ts它不用实时 MediaRecorder其 webm 时长头不可靠而是用mediabunnyWebCodecs做逐帧确定性编码——seekTo(i/fps) → renderScene() → CanvasSource.add()默认 30fps可输出 MP4avc/ WebMvp9编码前先冻结实时渲染循环、隐藏网格、切到渲染相机的目标分辨率finally块里全部还原。编码过程支持中途取消encodeCancelSignal配合 Escape 快捷键。产出物ProducedArtifact区分image | video先以 object URL 形式在本地 CompletionModal 预览随后走 recordOutput.ts 的适配器接口上传入库sceneOutputAdapter.ts 用MediaUploadApi的UploadNewVideo/UploadImage上传标记为非中间文件成功后openMediaLightbox打开应用内 Lightbox 供预览与二创。最后一步正是那个3D 只编排、不生成原则的落地静帧可以一键送到 2D 画布继续精修applyEditOnCanvasFromImage视频产物则作为**参考视频reference video**注入create-video流程交给 Veo、Sora 2、Kling、Seedance 这类视频模型做最终生成——你辛苦调好的机位、动作、节奏此时全部变成视频模型照着演的确定性分镜。这就是 ArtCraft 3D 舞台的全部意义把 AI 视频从抽卡变成拍电影而导演你只需要站在舞台上。如果你想继续深入建议从这几个文件入手入口组件 Stage3D.tsx宿主注入 adapter 的挂载点、PageSceneStore.ts全部 UI 状态与默认相机、engine/editor.ts引擎主类与渲染路径以及 AGENTS.md整个 3D 舞台的架构契约与设计决策记录。【免费下载链接】artcraftArtCraft is an intentional crafting engine for artists, designers, and filmmakers项目地址: https://gitcode.com/GitHub_Trending/ar/artcraft创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

微服务架构中领域事件落地实战:事件驱动、最终一致性与幂等设计

微服务架构中领域事件落地实战:事件驱动、最终一致性与幂等设计

1. 为什么我在微服务架构里开始认真对待领域事件先说个背景。我负责的一套系统,早期是典型的大单体,后来业务膨胀,订单、库存、支付、积分几个模块各自拆成了独立服务。拆完之后最明显的痛感不是服务变多了,而是"跨服务的数据…

2026/10/11 21:52:41 阅读更多 →
使用光流检测手掌运动方向:AI-For-Beginners 课程 OpenCV 实验指南

使用光流检测手掌运动方向:AI-For-Beginners 课程 OpenCV 实验指南

教程人工智能机器学习深度学习 【免费下载链接】AI-For-Beginners 12 Weeks, 24 Lessons, AI for All! 项目地址: https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners 点击查看 免费下载 导读 本篇文章围绕 AI-For-Beginners 课程第 06 课《计算机视觉入门…

2026/10/11 21:52:41 阅读更多 →
MySQL建库报Access denied?root@%与root@localhost权限差异全解析

MySQL建库报Access denied?root@%与root@localhost权限差异全解析

简介:这份PDF文档面向MySQL数据库开发与运维人员,尤其是刚接触权限管理、在创建数据库后遭遇连接报错的初学者,针对「Access denied for user root% to database xxx」这一高频错误提供完整排查与解决思路。资源包共1个PDF文件,大…

2026/10/11 21:52:41 阅读更多 →

最新新闻

拆解Amical的whisper.cpp封装:如何构建带Metal/CUDA/CPU自动回退的C++原生模块

拆解Amical的whisper.cpp封装:如何构建带Metal/CUDA/CPU自动回退的C++原生模块

【免费下载链接】amical 🎙️ AI Dictation App - Open Source and Local-first ⚡ Type 3x faster, no keyboard needed. 🆓 Powered by open source models, works offline, fast and accurate. 项目地址: https://gitcode.com/gh_mirrors/…

2026/10/12 0:27:12 阅读更多 →
基于YOLO的管道缺陷检测:980张图像训练实战与避坑指南

基于YOLO的管道缺陷检测:980张图像训练实战与避坑指南

简介:本资源为面向YOLO系列目标检测算法的下水管道缺陷检测数据集,适用于从事管道巡检、市政设施维护与工业视觉检测的开发者及研究人员,可解决缺陷样本稀缺、标注格式不统一等问题。压缩包共2000个文件,约33.89MB,包含…

2026/10/12 0:27:12 阅读更多 →
物联网模组柔性FPC天线方案全解析:选型、布局与调试

物联网模组柔性FPC天线方案全解析:选型、布局与调试

1. 项目背景与选型思路做物联网产品硬件设计的朋友,十有八九都遇到过同一个问题:模组选好了、主板画完了、结构堆叠也敲定了,结果天线没地方放。尤其是这两年,NB-IoT、Cat.1、BLE、LoRa 这些模组方案层出不穷,模组本身…

2026/10/12 0:27:12 阅读更多 →
用Tauri构建桌面天气应用:从技术选型到打包发布的完整实践

用Tauri构建桌面天气应用:从技术选型到打包发布的完整实践

桌面天气应用这个需求,看起来挺简单,但真做起来会发现它横跨了数据接口、桌面端集成、界面设计、异常处理好几个层面的问题。我前后用了两个周末把一套完整方案跑通,过程中踩了不少坑,这里把从选型到发布的完整链路梳理出来&#…

2026/10/12 0:27:12 阅读更多 →
UML四层建模实战:从用例图到部署图构建教务管理系统

UML四层建模实战:从用例图到部署图构建教务管理系统

简介:本资源是南京邮电大学软件工程课程设计的完整实验报告,面向高校计算机类专业本科生及软件工程初学者,聚焦教务管理系统的面向对象分析与UML建模实践。报告系统呈现了从需求分析到UML建模的全流程:涵盖用例图(管理…

2026/10/12 0:26:12 阅读更多 →
UML用例图与顺序图建模核心:抓准动作主体与交互时序

UML用例图与顺序图建模核心:抓准动作主体与交互时序

简介:本资源是一份面向软件工程专业学生、UML初学者及备考人员的系统性试题汇编,聚焦用例图、顺序图与协作图等核心交互建模技能,帮助读者深入理解UML动态建模原理与实际应用差异。资料以1个62KB的Word文档形式呈现,内容涵盖7大知…

2026/10/12 0:26:12 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →