手动切窗口录游戏 demo 太折腾?GenericFrameRecorder 把 Unity 逐帧录制搬进 Timeline
2026/8/27 16:38:50 网站建设 项目流程

手动切窗口录游戏 demo 太折腾?GenericFrameRecorder 把 Unity 逐帧录制搬进 Timeline

【免费下载链接】GenericFrameRecorderThis GitHub package is DEPRECATED. Please get the new Unity Recorder from the Asset Store (https://assetstore.unity.com/packages/essentials/unity-recorder-94079) Use the editor builtin Bug Reporter to report issues. You can track and vote for issues on the Issue Tracker (https://issuetracker.unity3d.com)项目地址: https://gitcode.com/gh_mirrors/ge/GenericFrameRecorder

每录一次 gameplay,都要手动切窗口、盯帧率、导出格式再返工,反复折腾。GenericFrameRecorder(Unity Recorder 的前身)把"录制"做成了一等公民:一个统一框架接管时间管理、帧回调与录制窗口,Timeline 轨道上的一个 clip 就能触发整段录制。

它替代了哪些手工录制流程

它不是某个具体录制器,而是一套录制框架:Recorder 负责编码与存储,Input 负责从引擎里拿数据,框架负责帧回调、帧率 pacing 和编辑器 UI。内置 ImageRecorder 输出 PNG/JPEG/EXR 序列;你自己写一个 Recorder 类挂上 [Recorder] 特性,会被自动注册并出现在菜单里。

Recorder、Input、Session 三层如何协作

  • Recorder:只消费输入、写文件。以 ImageRecorder 为例:每帧从 RenderTexture 读入 Texture2D,EncodeToPNG/EncodeToJPG/EncodeToEXRFile.WriteAllBytes落盘,一帧一个文件。
  • Input:知道怎么拿特定数据源。RenderTextureInput 直接绑定目标 RT,ScreenCaptureInput 直接截屏;不与 Recorder 耦合,可跨录制器复用。
  • RecordingSession + RecorderComponent:Update 里PrepareNewFrame,LateUpdate 加WaitForEndOfFrame后调session.RecordFrame();固定帧率模式用Thread.Sleep拖慢渲染,保证输出帧率达标。
  • RecordersInventory:反射扫描所有程序集,找出带 [Recorder] 特性的类并按分类登记,编辑器菜单点开的就是这份注册表。

两条路径跑通第一次录制

git clone https://gitcode.com/gh_mirrors/ge/GenericFrameRecorder,把源码放进工程。

路径一:录制窗口

  1. Recorder 菜单选类型,打开录制窗口
  2. 配置输入源、输出路径、帧率与时长模式(手动 / 单帧 / 帧区间 / 时间区间)
  3. 点 Start Recording,edit mode 和 game mode 都能触发;定长模式到点自动停

路径二:Timeline 触发

  1. 创建 Timeline asset,加一条 Recorder Track
  2. 放一个 Recorder Clip,clip 长度即录制时长
  3. 进 play mode,clip 播放到即开始、播完即停,全程由轨道驱动,适合批量出片

什么时候用它、什么时候别用

需要自定义输出格式(EXR 序列、自研动画文件)或用 Timeline批量、可复现地触发录制,选它;Recorder 基类源码 不到 200 行,读完即掌握框架全貌。

只是想快速出个 MP4,别选它:Asset Store 的官方 Unity Recorder 更直接,本仓库 README 已明确标注 DEPRECATED,框架被并入官方包。另有两个已知限制:帧率在 Recorder 级别设置,多录制器并存会冲突;录制仅支持 Player standalone,不支持编辑器内。

它的价值在于把录制变成可被 Timeline 驱动的标准接口:时间管理、帧回调、编辑器 UI 不再需要每个录制器各写一遍。想深入架构,从 README 的 Design 章节读起,再对照 source/FrameRecorder/ 下的源码即可。

【免费下载链接】GenericFrameRecorderThis GitHub package is DEPRECATED. Please get the new Unity Recorder from the Asset Store (https://assetstore.unity.com/packages/essentials/unity-recorder-94079) Use the editor builtin Bug Reporter to report issues. You can track and vote for issues on the Issue Tracker (https://issuetracker.unity3d.com)项目地址: https://gitcode.com/gh_mirrors/ge/GenericFrameRecorder

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询