访问Unity使用的临时渲染缓冲区

时间:2018-04-01 19:01:32

标签: unity3d rendering

在Unity Camera自动渲染到屏幕的过程中,Rendertarget使用一个中间临时内存缓冲区来保存将被发送到显示器的渲染纹理。

任何人都可以告诉我如何访问该缓冲区,我希望在玩游戏时拥有相机渲染的所有帧。

但是在android平台上玩时,内存对于存储所有帧运行时来说都是一个大问题。那么如何解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

您可以使用RenderTexture.active获取当前活动的渲染纹理。如果需要,您还可以convertTexture2D

  

但是在Android平台上玩时,内存将是一个大问题   存储所有帧运行时。那么如何解决这个问题呢?

不确定为什么要在运行时访问所有帧,如果要将其转换为视频,则使用ffmpeg即时执行。存储大约60帧然后将其传递给ffmpeg。再说一遍。

如果您只想将帧保存到本地存储,则打开文件流,检索大约60帧的活动渲染纹理然后保存。这两种方法都可以防止在游戏运行时将它们存储在内存中导致内存不足问题。