我使用Unity3D制作了一个音频可视化器(您可以看到它是这里),但是我对视频质量不满意,因为压缩破坏了图形。我在实时渲染过程中录制了屏幕。我尝试了许多屏幕录音机,但总是同样的失望。
我想尝试另一种方法,使用非实时渲染。我知道统一是为了实时渲染,但是你知道这样的事情是否可能吗?
发布于 2018-09-07 08:20:45
是的,有一个比使用屏幕记录器更好的方法。您可以使用ScreenCapture.CaptureScreenshot直接在Unity内捕获帧。有一种格式可以选择保存为as,您可以使用PNG,这样以后当您将帧组装成视频(使用ffmpeg或其他工具)时,您可以完全控制要使用的压缩量。
这个函数非常慢,因为它读取返回帧缓冲区,对映像进行编码,并将其写入磁盘,所有这些都在主线程中。您可能希望将其与设置Time.captureFramerate值结合使用。此设置允许您通过完全断开游戏中的帧速率与实时连接来减缓Unity。也就是说,如果您将其设置为30,则游戏将以30 fps的速度运行,这与Time.deltaTime和组件上对Update的调用相同,而不管一个帧是用毫秒还是按挂钟时间计算的一分钟。
https://computergraphics.stackexchange.com/questions/8033
复制相似问题