PARKING COPILOT / PRODUCTION NOTES
从一个停车 idea,
到两分钟短片。
一连串制作选择,让故事一步步成为画面。
一个停车 idea 怎样成为故事,又怎样拆成能做出来的镜头?这份笔记沿着 Parking Copilot 的制作过程,展开几个具体选择:人物为什么这样设定,一场戏怎样写,素材怎样制作,以及剪起来以后为什么还要改。你可以独立阅读,也可以在看过 slide 后,回到这里细看其中的方法。
先看成片,再看过程:在 slide 中播放 · 单独打开两分钟完整成片
关于这份笔记
为方便阅读,下面把制作过程组织为四步。实际制作中,剪辑和回看常常会带来新的发现,需要回到剧本、镜头或素材继续调整。
01 · 找到故事
从系统能力,转向一个人的日常
最初的 idea 是通过历史停车数据,借助 AI 预测、优化车位使用,提升整体使用率。从管理员视角讲,很容易成为面向高层的效率介绍。为了让以员工为主的观众更有代入感,构思从 Capability 转向 User Experience:她在停车时遇到什么困难,又需要怎样的答案?
第一辆车,是故事的情感起点
主角是一名毕业不久、靠自己的努力买下第一辆车的职场新人。工牌与钥匙、车边纪念照,让“买车”成为努力换来的新生活,而不只是一次功能演示的开场。她以为从此能自由出发,停车中的未知却一次次打断这份期待。
四次帮助,串成一段经历
等待资格、进入陌生车库、寻找充电位、下班找车,都围绕“不知道下一步怎么办”展开。同一个人物经历四次帮助,安心与信任便能逐渐积累。开头的自由是拥有一辆车,结尾的自由则是能够计划、知道方向、从容抵达。
回看 slide:视角的转变 · 四个体验触点 · 人物的情绪变化
02 · 做出镜头
先读一场戏,再看它为什么这样写
剧本里,这位新人叫 Lexie。刚买下第一辆车的她,向公司申请地下停车资格,却迟迟等不到进展。下面摘录这一场的画面、旁白、界面与转场,先看看故事在纸上是什么样子。
这是中文剧本节选,不是最终成片的逐镜复述。停车排队名次与预计等待区间为演示设定,不是服务承诺。
中文剧本 · 场景二节选
第一次及时出现——等待有了答案
画面
- 到公司后,Lexie 用手机提交地下停车申请,点击“提交”。
- 页面跳转后只留下一个冷冰冰的状态:“等待中”。
- 午休时,她一边吃饭一边刷新页面,结果没有变化。
- 第二天,她再次打开同一页面,屏幕依然停在“等待中”。可以复用同一构图,只改变桌面物品或窗外光线,让观众一眼看懂时间过去了。
- 她尝试询问进度,得到的仍然只是“还没有排到”。不必安排同事出镜,一条简短旧系统回复即可。
- 她抬头看向窗外,其他车辆正驶入公司地下车库;随后切到她把导航目的地改成外部停车场。
- 就在她准备出发时,Teams 出现 Parking Copilot 消息。
- 她读到“第 27 名”和“10–12 周”,神情不是惊喜,而是终于心里有数。
- 她停止刷新,把预计时间加入日历,收起手机。
旁白
可公司的停车资格需要排队。对我来说,真正令人焦虑的,不是等待,而是不知道还要等多久。
Parking Copilot 把“还没有”,变成了一个我可以计划的答案。
屏幕信息
Teams 卡片
Parking Copilot
当前排队:第 27 名
预计等待:10–12 周
预计时间发生变化时,我会通知你。
次级入口
查看外部停车场步行路线 ›
转场
Teams 卡片边缘出现青蓝色脉冲,延展为时间线。日历快速推进,但不使用夸张的时钟飞转。
回到这场戏,三个选择值得留下
- 三次打开同一页面,让焦虑有了形状。变化的是时间,不变的是“等待中”。不必再安排一段抱怨,反复查看的动作已经让观众理解她的处境。
- 没有立刻排到,也能得到有用的帮助。名次与预计区间让她心里有数,而不是制造突然获得车位的惊喜。这里遵循的是“产品 UI 永远不能早于问题出现。”先有困境,界面上的答案才有分量。
- 收起手机,让变化落到行为上。这场戏从反复刷新走向能够安排日程;产品带来的改变由人物动作完成,而不是只靠旁白宣布。
旁白补充感受,不重复界面
画面已经交代反复查看,界面已经给出数字,第一人称旁白便专注于“我”的感受。英文把上面的焦虑收成两句,保留意思,调整口播节奏:
The hardest part wasn't waiting. It was not knowing how long.
其他场景,也只保留必要的因果
充电协调保留请求、时间经过和车位空出的结果,省去长聊天与完整移车;下班找车则让她停下核对方向、问一句,再沿路线找到车。前者不必增加第二位演员,后者也不把人物写成“记性差”。
再往下,才是实现这些画面:人物状态用生成静帧表现,准确的数字和按钮交给网页界面,前后动作由剪辑连接。剧本里的连续动作还要拆成可制作的节点,不能让一张图同时完成打开、刷新和收起手机。
回看 slide:七幕故事总览 · 导演分镜预演
分镜让故事变成一批明确的任务
分镜曾以55个逻辑镜段、120秒、24fps进行规划。每镜有时长和信息职责;这是一份制作标尺,不是最终剪辑时间线的逐镜清单。
1-05:读到Work → 按下开始 → 导航已启动
不在开场提前推荐停车位
4-10:原来该停这里 → 空格、边线、218
4-11:已经停好了 → 主车在同一目标格、Parked卡
用结果剪接,不要求完整倒车动画
第一幕先跑通六镜:工牌钥匙、车边纪念照、手部、侧脸、导航、通勤。五个36帧片段加最后60帧,组成原独立10秒第一幕;后来增加片头,不能再把早期0秒起点照搬进全片。
4-10与4-11的分工在后续返工时进一步明确,具体过程见回看精修。
把工作分给不同工具
生成画面负责什么
人物情绪、衣装、车辆与环境氛围。先建立身份母版,再逐镜生成,不让模型同时承担准确UI文字与空间导航。
确定性实现负责什么
排名、预计区间、目标车位、路线、按钮反馈和品牌文字,由网页、Three.js、录屏和本地排字控制。
人物一致性的一个教训是换裤子:局部遮罩修改没有自然解决边缘,继续贴补只会继承缺陷。回到米白造型母版后再生成正文镜头,才有共同参照。母版固定身份;场景和车型参考负责不同约束,不是“放一张参考就全锁住”。
项目使用 gpt-image-2 生成静帧。生成前先明确参考图各自负责什么,再编写镜头描述与画面约束;生成后检查人物、构图与细节,再决定是否采用。静帧、界面视频与剪辑各自承担不同的制作任务。
Demo 网站也是制作工具
React/TypeScript承载产品界面,Three.js负责楼层与路径;共同的演示夹具管理数字、文案和目标ID。clean移除页面外壳,autoplay重放动作,state直接进入指定状态;独立Film页再提供frame或seek接口,把讨论落到同一画面。
例如先在4-06展示四层、聚焦B2和218,再用4-07揭示路径,而不是在一个画面里同时解释推荐、空间和行驶。充电完成、请求发出、车位可用也区分状态,不让一个“绿色”代表所有事实。
可选现场示范(主动打开,需验证码):排队Demo · 4-06空间 · 4-07路线。
这些是真正运行的演示界面,不是实时企业系统接入。车位、ETA与路线含演示设定;真实图外观不证明实际可达性、精确距离或车辆净空。
1-05 的1.5秒,怎样做出来
- 先让Work页面实际运行,固定24fps采样时钟;不是实时录屏碰运气,也不是两张图片淡化。
- 采36帧:前24帧停留读Work,25–30帧Starting,31–36帧进入导航状态。
- 将UI逐帧映射进车内画面的屏幕四边形,保留无损合成序列。
- 输出UI原片和车内合成两条无声MP4,剪映选择车内版;不要把两个版本叠播。
- 导出后检查36帧是否完整、时间戳是否连续、有无黑帧,再观看画面是否自然。技术检查与观看判断缺一不可。
无损序列的屏幕外区域能和原底图逐像素核对;编码MP4有损,不能继承这个保证。片段无声是刻意交付,点击声与旁白在剪映里放入。
现场看1-05,暂停并拖动后12帧 ↗(需验证码)
03 · 连成影片
素材包与剪映接手
每幕整理成一份素材包,用镜号和用途区分画面、声音、可选层、参考预览和备份。另配素材清单,记录镜号、素材来源与时长;清单不等于可直接打开的剪映工程。
第一幕指南的实际操作顺序是三遍:先将六镜排通,导航保持36帧原速;再给适合的静帧做轻推、保护人脸与文字;最后按职责接旁白、动作声、环境和BGM。先排节奏,是为了不要用过长转场挤掉UI读屏,或者反过来给导航变速凑时长。
第0幕提供了直观的分层例子:V1人车底图、V2透明车场装饰、V3完整标题,三层同时显示。参考MP4已含标题,不能再叠一份;如果三PNG已经摆好,替换底图也不等于要把整个片头重装。
2秒片头动效参考 ↗(需验证码;不是最终片头抽段)
这里讲解素材装配的方法。示例中的时码、缩放与音量属于相应制作阶段,使用时需要结合当前工程和画面重新确认。
声音与字幕,留出呼吸
正式Ava旁白为八段,源音频合计61.512秒,包含原生停顿;120秒工作版其余部分是外加留白,让UI、空间和音乐有余地。工作版与独立段二选一,不重复叠放,也不与Samantha等旧临时声音混用。
字幕采用中上英下的18条双语工作包。片尾补句“One less worry. A little more freedom.”是一段独立的2.904秒音频,另轨配合片尾画面,不作为第三段视频追加;WAV与MP3内容相同,二选一,具体落点结合时间线确认。
声音实操的关键是看实际动作:例如导航点击要对齐Starting触发,而不是只凭脚本大致秒数。先听旁白,再加环境、动作声和BGM;分轨便于分别调整音量、时序与淡入淡出。
Ava 是神经 TTS 声线,不是真人录音或声音克隆。选用音乐与音效时,还需确认适用的使用许可。
让四个体验触点,在片尾重新汇合
第七幕旧方案中尝试过七镜时间线、车模匹配与无车模叠化,后来改为10秒连续四服务回顾,再接7秒从总览直接进入品牌。它们是替代旧收尾的素材,不是在已完成片尾后再加17秒;17秒连看文件只作参考。
04 · 回看精修
第四幕返工:空车库与“两个地方”
第二轮首先发现叙事问题:既然剧情在讲停车的不确定,过于空旷的车库就缺少支撑。因此先试4-03,再扩展相关六镜补车,而不是把所有素材推倒重做。
接着是空间问题。修柱车穿插、邻车车型、车头方向时,新的候选又带出轮挡、比例和纹理问题。单张局部看似通过,不等于4-10与4-11能接成同一个停车区;继续从坏候选上修下一张,反而叠加了约束冲突。
真正的转折是停止补丁链,重新定义两镜职责:4-10给出空格目标,4-11展示停妥与记位。以同一个三格停车区建立Three.js布局,两机位共享尺度、车格与轮挡,再从干净输入生成。
共同布局改善了几何,但两次生成仍换了邻车款式,因此后来又增加车型对照修正。之后在4-10中去掉黑色车牌,叠加218与车位高亮框、调整蓝框左上角;4-11补上Parked卡。最后备份旧素材,再替换对应镜头。
这个案例不是“写一个更长Prompt就能成功”。空间参考、车型参考和文字合成各管一件事;技术检查、专项review与人的整体观看都不能互相替代。