Unity3D黑屏截图

本文关键字:Unity3D | 更新日期: 2023-09-27 18:31:36

我正在使用截图进行截图

Texture2D tex = new Texture2D(width,height);
Rect textureRect = new Rect(0,0,width,height);
tex.ReadPixels(textureRect,0,0);
tex.Apply();

它工作正常。但是,当我在相机上应用图像效果(例如 Unity 标准资源中提供的模糊或泛光)时,捕获的屏幕截图是黑色的。我不明白为什么。有人可以帮助我吗?

Unity3D黑屏截图

使用 Application.CaptureScreenshot 截取屏幕截图。

Application.CaptureScreenshot("Screenshot.png");

如果你想在游戏中显示它,我建议使用渲染纹理,我认为从Unity5开始就可以免费使用。

您应该

尝试在任何组件中OnPostRender()调用它。

您也可以在以下位置运行捕获代码: Camera.OnRenderImage(RenderTexture,RenderTexture)

此方法由 Unity3D 引擎调用,所有渲染完成后,屏幕上有精美的图像。

您需要为其创建组件并将其附加到相机。

http://docs.unity3d.com/ScriptReference/Camera.OnRenderImage.html