如何在团结游戏运行时捕捉背景帧?
我已经知道了
cam.Render();
Texture2D image = new Texture2D(cam.targetTexture.width,cam.targetTexture.height); image.ReadPixels(new Rect(0,0,cam.targetTexture.width,cam.targetTexture.height),0,0);
然后
使用EncodeToPng / JPG将纹理转换为图像
但是我所看到的使用这个额外的cam.render和编码来png和捕获帧会大大减慢操作速度,这需要花费大量时间。
如何在游戏运行时直接获取纹理或帧,可能来自GPU正在使用的OpenGL调用?
有没有人知道如何实现这个目标?
答案 0 :(得分:1)
您是否尝试使用Unity的视频捕获API来记录游戏玩法?您可以找到教程和教学,但Unity文档是一个很好的起点。
https://docs.unity3d.com/Manual/windowsholographic-videocapture.html
它灵活实现,因此您可以根据应用程序及其设置方式,根据fps,分辨率等方面满足您的任何要求。