如果你手里攒下了一场 COC(Call of Cthulhu,克苏鲁的呼唤)跑团实录,想把它做成一部能让路人也能看懂、能代入的完结向 Replay,却又不知道从哪一步开始,这篇文章就是为你准备的。本文以“哀歌弥赛亚”这一典型的一发完结 Replay 为示例,完整拆解从跑团记录清洗、剧本化改写、分镜脚本、画面素材、配音配乐,到剪辑字幕导出的全流程,并给出可直接复用的脚本、模板和排错清单。
无论你是想给自己跑过的团留一份纪念,还是准备做成系列视频长期更新,这套方法论都能帮你少绕很多弯路。
1. 背景与核心概念
1.1 什么是 COC 跑团与 Replay
COC 跑团,全称是 Call of Cthulhu TRPG(桌面上扮演角色扮演游戏),玩家扮演调查员,在守秘人(Keeper)的引导下探索未知、对抗神秘事件。跑团过程中会产生大量对话、行动判定、骰点结果和剧情描述,通常被记录为文字 Log。
Replay 则是指把这场跑团过程用视频、图文或动画的形式重新呈现出来的作品。好的 Replay 不是把 Log 原样朗读一遍,而是通过剪辑、配音、字幕和视觉风格,把桌面上冗长的协商过程,压缩成一条节奏流畅、观感清晰的故事线。
“哀歌弥赛亚”这类标题通常暗示一场带有强烈叙事倾向、结局明确且一次性讲完的跑团故事。它和长期连载的多人团不同,往往只有一个主线、一组调查员、一晚或几晚跑完,更适合作为 Replay 制作的第一部试水作品。
1.2 为什么值得为跑团制作 Replay
从制作者角度看,Replay 有几种实际价值:
- 纪录价值:跑团过程天然是即兴创作的,很多精彩台词和骰子剧情过了就没了,Replay 是唯一成体系的还原方式。
- 分享价值:桌游桌上只有几个人能参与,Replay 可以分享给更大范围的同好。
- 创作价值:跑团 Log 本质是“半成品剧本”,Replay 制作者可以在此基础上做二次创作,形成风格化作品。
- 技术练手价值:Replay 涵盖了文本处理、脚本自动化、音视频剪辑、字幕制作等多个环节,是很好的综合项目素材。
需要注意的是,Replay 的意义不是“复刻跑团现场”,而是“保留故事体验”。所以制作核心,是把口语化的跑团语言转换成更适合观众阅读和收听的剧本语言。
1.3 一发已完结的叙事特点
“一发已完结”指的是单篇 Replay 在有限时长内把故事完整讲完。它和“连载中”相比,对信息密度要求更高,观众必须在没有前情提示的情况下理解人物和事件。
因此,制作这类 Replay 时,通常需要遵循三个原则:
- 人设前置:开篇要用最短篇幅把调查员的职业、性格、核心目标交代清楚。
- 冲突集中:删掉大量无意义的日常闲聊,围绕调查、线索、危机推进。
- 结尾完整:即使跑团过程有烂尾或戛然而止,也要在 Replay 里补一个清晰的叙事出口。
这也是为什么许多入门制作者会选择先做“一发已完结”的短篇,因为素材量可控、结构容易把握,适合建立完整的制作流程。
2. 制作前准备:工具、素材与目录规划
2.1 跑团记录采集方式
制作 Replay 的第一步,是拿到一份完整、可处理的跑团记录。常见来源有三个:
- 文字 Log:文字团或语音团转写后的文字记录,是 Replay 最基础的素材。
- 语音录音:语音团全程录音后,通过语音转文字工具生成初稿。
- 笔记提纲:守秘人自己记录的剧情节点、重要骰点、关键台词。
推荐以文字 Log 为主线素材。如果只有语音录音,建议先用剪映、Aegisub 或讯飞转写工具生成文字稿,再进入清洗环节。注意,语音转文字会产生大量口误、语气词、打断和重复,必须经过清洗才能使用。
2.2 工具清单
制作 Replay 不一定需要专业软件,根据环节选择即可:
| 环节 | 推荐工具 | 用途 |
|---|---|---|
| Log 清洗 | VSCode、Python、Excel | 去掉噪音、标注发言者、提取骰点 |
| 剧本文案 | Typora、Notion、Word | 把 Log 改写成剧本格式 |
| 分镜规划 | Excel、飞书表格 | 管理场景、画面、台词 |
| 画面素材 | AI 绘图、网图素材、PPT | 生成人物立绘、场景背景 |
| 配音 | 本地录音、AI 配音 | 录制或生成读白 |
| 音频处理 | Audacity、剪映 | 降噪、均衡、对齐 |
| 剪辑 | 剪映、PR、达芬奇 | 合成画面、字幕、BGM |
| 字幕 | 剪映、Aegisub、Arctime | 生成与校对字幕 |
具体版本不写死,因为各软件迭代很快,重点是流程相通。本文示例以剪映和 Python 为主,方便零基础读者复现。
2.3 项目目录与命名规范
Replay 制作涉及大量中间文件,建议按项目建目录,命名统一。
推荐目录结构:
aireiq-messiah-replay/ ├── 00_source/ # 原始素材,如 Log、录音 ├── 01_script/ # 清洗后的剧本、分镜脚本 ├── 02_image/ # 立绘、背景、道具图 ├── 03_audio/ # 配音、BGM、音效 ├── 04_subtitle/ # 字幕文件 ├── 05_video/ # 剪辑工程和导出成品 └── tools/ # Python 清洗脚本等文件命名建议统一为“编号_场景_内容”,例如:
01_开场_调查员介绍.png 02_现场_教堂外景.png A01_旁白_开场白.wav A02_KP_描述场景.wav S01_场景BGM.mp3这样做的原因是 Replay 后期修改频繁,没有规范命名的话,素材一多很容易找不到对应文件,也会导致剪辑工程无法自动关联素材。
3. 核心流程拆解:从 Log 到成片的五个阶段
3.1 阶段一:Log 清洗与结构化
原始 Log 往往长这样:
KP: 你们听到教堂深处传来歌声。 KP: 那歌声像是什么人在唱一首哀歌。 PC1 安歌: 我决定先观察一下大门有没有锁。 KP: 请过一个侦察检定。 PC1 安歌: 侦察 60,骰点 42,成功。 PC2 米迦勒: 我站在安歌后面,警惕周围。这里有个关键问题:Log 是流水账式的,无法直接当剧本用。因为它包含太多“KP 说”和“请过一个检定”等桌面语言,会把非跑团观众挡在门外。
清洗步骤一般是:
- 去重和删噪音:去掉重复发言、跑团日常吐槽、长时间冷场。
- 标注发言者:把每一次有效发言对应到角色名。
- 合并短句:把零散的对话合并成完整的台词段落。
- 标记关键节点:骰点、战斗、重大发现单独标记,方便后续做特效强调。
- 统一人称和视角:Replay 通常以调查员或旁白视角讲述,需要把“KP 说”统一成“旁白”或“守秘人”。
清洗后的文本示例:
【旁白】 教堂深处传来若隐若现的歌声,那是一种像是悼念某人的哀歌。 【安歌】 我决定先观察一下大门有没有锁。 (侦察检定:成功) 【米迦勒】 我站在安歌身后,戒备地扫视四周。这一步决定了 Replay 的底子,清洗越细致,后面剧本化就越省力。
3.2 阶段二:剧本化改写与分镜脚本
清洗后的文本还只是“整理了格式”,要变成 Replay 的叙事线,需要做剧本化改写。
剧本化的核心是:把“跑团记录”改成“故事脚本”,也就是告诉观众发生了什么事,而不是告诉观众当时大家怎么玩。
改写时有几个技巧:
- 补全场景描述:原文可能只有一句“你们进入教堂”,改写时补充环境氛围。
- 精简骰点表达:不要把每个判定都写出来,只在关键时刻说明“成功 / 失败”的含义。
- 突出角色性格:把调查员的行动转换成符合人设的描述。
- 制造节奏起伏:在调查、危机、真相揭露之间安排情绪切换。
分镜脚本写作时,推荐用表格把“画面”“台词”“音效”对应起来。例如:
| 分镜编号 | 画面 | 台词 / 旁白 | 音效 / BGM | 预估时长 |
|---|---|---|---|---|
| SC-01 | 教堂远景,月光 | 旁白:夜深了,教堂里传来歌声 | 夜晚环境音,低鸣 BGM | 8s |
| SC-02 | 调查员三人立绘 | 安歌:我看看大门有没有锁 | 单击音效 | 5s |
分镜脚本不需要画得多精美,它的作用是让剪辑时知道每一段画面应该放什么,方便估算时长,也方便后续配音时逐句对口型。
3.3 阶段三:画面素材制作
画面素材是 Replay 最花时间的部分之一。对个人制作者来说,不需要真的逐帧绘制动画,而是用“动态静态图 + 镜头移动”的方式做出叙事感。
常用方案:
- 人物立绘:用一张角色立绘,通过裁剪、放大、位移模拟镜头变化。
- 场景背景:一张背景图,用缓慢缩放或横移制造氛围。
- 关键动作:用醒目的特效文字或漫画式速度线强调重要骰点。
如果我们给“哀歌弥赛亚”做素材,可以规划如下:
人物: 安歌(女调查员,冷静敏锐) 米迦勒(男调查员,忠诚护卫) 艾琳(教堂修女,关键 NPC) 场景: 教堂外景、教堂大厅、地下墓穴、祭坛房间需要注意的是,AI 绘图或网图素材都要注意版权和授权问题,尤其是用于公开招募和商业平台时,建议优先使用可商用素材库,或使用自己绘制的素材。
3.4 阶段四:配音、音效与 BGM
Replay 的观看体验很大程度上由音频决定,画面可以简约,但声音不能敷衍。
配音方式有三种:
- 自然录音:自己或朋友配音,情感最真实,适合有录音条件的制作者。
- AI 配音:适合旁白和 NPC,效率高,但不同角色要注意音色区分。
- 原声还原:如果原始团是语音团,可以直接剪辑原声片段,但通常清晰度和节奏不如配音。
录好配音后,要按分镜编号命名音频文件,这样剪辑时能快速对齐画面。
音效和 BGM 是容易忽略但很重要的部分。建议为每个场景单独建一个音轨:
- 环境音:雨声、风声、教堂钟声。
- 紧张音效:心跳声、刺耳的音符、低鸣。
- 转场音效:短暂的 swoosh 或白噪声。
推荐在 Audacity 里先做降噪和响度统一,再导入剪辑工程。
3.5 阶段五:剪辑、字幕与导出
剪辑阶段是把所有素材组装成片的环节。建议顺序:
- 先铺旁白 / 人声音轨,确定整体时间轴。
- 按分镜脚本放置画面素材,逐段对齐人声。
- 再叠加 BGM 和环境音。
- 添加字幕、转场、特效文字。
- 最后调色和导出。
字幕建议有两种:
- 对话字幕:跟随台词逐句出现,用于还原剧情。
- 补充字幕:用于标注检定成功、失败,或补充画面中看不到的信息。
导出时的参数也值得关注。面向 B 站或短视频平台,推荐 H.264 编码、1080p、30fps 左右,音频为 AAC。更高质量可以输出 4K,但要注意剪辑软件的渲染时间和文件体积。
4. 完整实战案例:制作一部“哀歌弥赛亚”风格的一发完结 Replay
下面以一个虚构的“哀歌弥赛亚”团为例,演示从零到成片的关键操作。
4.1 搭建项目目录
在命令行执行:
mkdir -p aireiq-messiah-replay/{00_source,01_script,02_image,03_audio,04_subtitle,05_video,tools} cd aireiq-messiah-replay这样项目目录就建好了,后面所有素材都按分类放进去。
4.2 使用 Python 脚本完成 Log 初清洗
假设原始 Log 保存为raw_log.txt,每行以“角色: 内容”格式保存。我们可以写一个简单的 Python 脚本,把有效发言提取出来,并去掉明显的口癖和无效行。
# 文件路径:tools/clean_log.py import re INPUT_FILE = "../00_source/raw_log.txt" OUTPUT_FILE = "../01_script/cleaned_log.txt" # 需要过滤的无效内容关键词 NOISE_KEYWORDS = [ "等等", "卡了", "刚才那句不算", "哈哈哈哈", "我去倒杯水", "刚回来", "听不到", "你再说一遍" ] def is_noise(line: str) -> bool: """判断一行是否属于跑团现场噪音""" for kw in NOISE_KEYWORDS: if kw in line: return True return False def clean_line(line: str) -> str: """清理单行中的重复标点和语气词""" line = re.sub(r"[..。]{2,}", "。", line) line = line.strip() return line def main(): with open(INPUT_FILE, "r", encoding="utf-8") as f: lines = f.readlines() result = [] for raw in lines: line = raw.strip() if not line: continue # 只处理包含“角色: 内容”格式的行 match = re.match(r"^(.+?):\s*(.*)$", line) if not match: continue speaker, content = match.group(1), match.group(2) if is_noise(content): continue content = clean_line(content) if not content: continue result.append(f"{speaker}: {content}") with open(OUTPUT_FILE, "w", encoding="utf-8") as f: f.write("\n".join(result)) print(f"清洗完成,共保留 {len(result)} 行有效内容。") if __name__ == "__main__": main()运行:
cd tools python clean_log.py这个脚本只是初清洗,重点是把现场噪音过滤掉,并统一格式。更复杂的工作,比如合并短句和提取关键骰点,还是需要人工判断。
4.3 从 Log 到分镜脚本的结构化表格
清洗后的文本需要转成剧本。这里用飞书或 Excel 维护分镜表格,字段如下:
| 分镜 | 场景 | 画面描述 | 台词 | 音效 | BGM | 时长 | 素材文件 |
|---|---|---|---|---|---|---|---|
| SC-01 | 教堂外 | 远景教堂,月光,薄雾 | 旁白:这座教堂平时很少有人来 | 风声,远处钟声 | 静谧BGM | 8s | bg_church_night.png |
| SC-02 | 教堂外 | 安歌走到门前,手电照锁孔 | 安歌:门没锁,但锁孔上有划痕 | 脚步音效 | 同上 | 6s | sprite_ange.png |
| SC-03 | 教堂大厅 | 空荡长椅,尽头钢琴 | KP:大厅里有淡淡的霉味 | 踩木地板声 | 渐变紧张 | 6s | bg_hall.png |
这个表格同时服务于配音、剪辑和字幕三件事。配音时对着“台词”列录音,剪辑时按“时长”估算时间轴,字幕则直接从台词列生成。
4.4 生成字幕与时间轴
如果你使用的是剪映,可以在剪映里直接自动生成字幕。但如果想批量生成 SRT 格式字幕,可以用 Python 脚本处理。
下面给出一个简单的 SRT 生成示例。假设每段台词按固定时长分配,实际项目中需要根据配音时长调整。
# 文件路径:tools/gen_srt.py lines = [ "夜深了,教堂里传来若有若无的歌声。", "安歌推开门,走在前方。", "米迦勒握紧手电,紧跟在她身后。", ] start_time = 0.0 duration_per_line = 3.0 def time_to_srt(t): h = int(t // 3600) m = int((t % 3600) // 60) s = int(t % 60) ms = int((t - int(t)) * 1000) return f"{h:02d}:{m:02d}:{s:02d},{ms:03d}" with open("../04_subtitle/output.srt", "w", encoding="utf-8") as f: for i, line in enumerate(lines, 1): start = start_time + (i - 1) * duration_per_line end = start + duration_per_line f.write(f"{i}\n") f.write(f"{time_to_srt(start)} --> {time_to_srt(end)}\n") f.write(f"{line}\n\n")这段代码生成的 SRT 可以直接导入剪辑软件作为参考字幕,但正式发布前建议手动校一遍时间轴,避免语音和字幕错位。
4.5 合成与导出
在剪映中的操作顺序:
- 把“场景背景图”拖入主轨道,按分镜时长裁剪。
- 将人物立绘放在背景图上方,关键对话时轻微移动位置。
- 将配音按分镜编号依次对齐到说话的角色位置。
- 添加 BGM 轨道,音量压到人声的 20%-30% 左右。
- 添加字幕轨道。
- 检查全片节奏,删掉明显拖沓的段落。
- 最后导出 H.264 编码的 MP4 文件。
导出后,建议先自己完整看一遍,再发给没跑过这个团的朋友试看,收集反馈后继续优化。
5. 常见问题与排查思路
Replay 制作过程中,新手容易踩的坑不少,下面整理成清单供排查参考。
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 视频节奏拖沓 | Log 清洗不彻底,大量无用对话保留 | 重新清洗 Log,保留只推进剧情的台词 |
| 字幕对不上配音 | 自己估算时间轴,没有配音后微调 | 以实际音轨为准,逐句对齐字幕 |
| BGM 盖过台词 | BGM 音量过高或没有做闪避 | 将人声轨音量提高,BGM 压到低音量区间 |
| 画面素材风格不统一 | 立绘和背景来自不同画风 | 统一使用同一套绘图风格,或在调色阶段统一色调 |
| 观众看不懂人物关系 | 开篇没有快速介绍调查员 | 在 Replay 开头增加 3-5 秒的人物介绍卡 |
| 转场生硬 | 没有使用环境音或转场音效 | 添加环境声延续氛围,或用淡入淡出过渡 |
| 导出后画质变糊 | 码率设置过低 | 提高码率,或选择“高画质”导出预设 |
| 角色声音分不清 | 配音音色接近,没有区分度 | 不同角色选择不同风格的声音,或后期加重音色差异 |
如果你遇到“画面正常但声音断断续续”的情况,优先检查录音文件本身是否有丢帧或损坏,而不是在剪辑软件里反复调整。
如果遇到“某一段画面总觉得不对”,可以先问自己三个问题:
- 这段画面服务于哪句台词或哪个信息?
- 去掉这段画面会不会影响观众理解剧情?
- 这段画面是否与其他分镜风格明显不一致?
如果不影响信息传递,那就果断剪掉;如果风格不一致,就需要补充素材或调色。
6. 最佳实践与工程建议
6.1 建立项目管理表
建议一开始就维护一份“素材总表”,包含文件名、所在目录、用途、是否已应用。这样做的好处是:一部 Replay 可能需要几十个图片和音轨,如果没有管理表,后期想改某一段会非常痛苦。
示例表头:
| 文件名 | 类型 | 场景用途 | 是否已添加 | 备注 |
|---|---|---|---|---|
| bg_church_night.png | 背景图 | SC-01 | 是 | 已调暗 |
| bg_hall.png | 背景图 | SC-03 | 否 | 太亮需调色 |
| sprite_ange.png | 立绘 | 全片 | 是 | 需抠图 |
| A01_旁白.wav | 配音 | SC-01 | 是 |
6.2 注意素材版权
这是很多新人容易忽略的问题。BGM、立绘、背景图如果需要公开发布,必须确认授权范围。优先选择:
- 自己绘制的素材。
- 可商用且注明出处的素材库。
- 了解授权限制的 AI 绘图平台输出内容。
不要因为“粉丝少没人看到”就认为可以随意使用版权素材,平台上随时可能收到侵权通知。
6.3 配音时留出片头片尾
配音时不要把台词安排在从第 0 秒开始,建议片头留 1-2 秒空白,方便后期加标题。片尾也要预留一点时长,让 BGM 能自然收尾。
6.4 剪辑时提前做备份
Replay 工程文件通常体积不小,建议:
- 每次大阶段完成,复制一份工程文件到独立备份目录。
- 导出成片前,确认所有素材路径没有失效。
- 如果有协作需求,用百度网盘或坚果云同步工程目录。
6.5 发布前的自检清单
在发布前,建议完整走一遍这个清单:
- 字幕是否有错别字?
- 人物名称在全片是否一致?
- 旁白人声是否存在爆音?
- BGM 是否全程压过台词?
- 关键骰点是否有强调提示?
- 开头是否用最短时间介绍了故事背景?
- 结尾是否给观众一个明确的“看完”信号?
6.6 控制更新频率
如果打算长期做 Replay,不建议一次性把精力耗尽。一部“一发已完结”短篇,可以控制在一到两周完成。时间分配参考:
- Log 清洗与剧本:1-3 天。
- 画面素材:2-4 天。
- 配音与音频:1-2 天。
- 剪辑、字幕与调色:2-4 天。
- 校对与发布:1 天。
具体看个人时间,但一定要留出校对日,往往成片的质量问题都出在“急着发”上。
7. 总结与下一步
制作一部 COC 跑团 Replay,本质上是一个“信息整理 + 二次创作 + 音视频工程”的综合项目。以“哀歌弥赛亚”这样的完结篇为起点,你可以用自己的跑团 Log 练手,把本文提到的清洗脚本、分镜表格、字幕生成脚本和剪辑流程完整走一遍。
第一步建议不是追求精美画面,而是先做出一部 3-5 分钟的短篇,把流水线跑通。等流程稳定后,再逐步加入更复杂的动画效果、多视角叙事和系列世界观整合。
后续还可以学习的内容包括:Aegisub 高级字幕特效、Audacity 降噪与混音、AI 绘画风格统一、Pr 关键帧动画、达芬奇调色。每一项技能都能让下一部 Replay 的观看体验上一个台阶。
跑团 Replay 最大的魅力,在于它能把一段只存在于桌面和记忆里的故事,变成可以让更多人一起感受的作品。希望这篇教程能帮你把第一个故事“完结”出来。