Unity3d UNITY BUG错误所有Camera.RenderTextures现在渲染为完全空白

Unity3d UNITY BUG错误所有Camera.RenderTextures现在渲染为完全空白,unity3d,screenshot,Unity3d,Screenshot,我正在努力改进我的屏幕截图代码,我在我的几个应用程序中使用了这些代码。我已将相关资产复制到一个空项目中,以单独处理它们。我的RenderTexture是通过代码生成的,附加到主摄影机,渲染到摄影机中并再次从摄影机中移除,然后在RawImage组件中设置为纹理属性。突然之间,我不知道为什么,所有这些渲染器呈现为完全空白。这件事一下子发生了,我似乎无法阻止它。我尝试打开使用旧代码的不同项目,再次,每个RenderTexture屏幕截图都呈现为完全透明,没有颜色(或黑色,取决于您如何看待它)。我不知道

我正在努力改进我的屏幕截图代码,我在我的几个应用程序中使用了这些代码。我已将相关资产复制到一个空项目中,以单独处理它们。我的RenderTexture是通过代码生成的,附加到主摄影机,渲染到摄影机中并再次从摄影机中移除,然后在RawImage组件中设置为纹理属性。突然之间,我不知道为什么,所有这些渲染器呈现为完全空白。这件事一下子发生了,我似乎无法阻止它。我尝试打开使用旧代码的不同项目,再次,每个RenderTexture屏幕截图都呈现为完全透明,没有颜色(或黑色,取决于您如何看待它)。我不知道是什么原因造成的。我不知道为什么它会影响到我没有参与的其他项目。请帮忙

private void Screenshot(RawImage screenshotImage) {
    RenderTexture screenshotTexture = new RenderTexture(mainCamera.pixelWidth, mainCamera.pixelHeight, 24);
    mainCamera.targetTexture = screenshotTexture;
    mainCamera.Render();
    mainCamera.targetTexture = null;
    screenshotImage.texture = screenshotTexture;
}

我想你必须将
screenShotTexture
转换成
Texture2D
看看让我困惑的是,这已经完美地工作了好几个星期了,而今天,它突然坏了。据我所知,将屏幕截图保存为文件需要Texture2D格式。我实际上不需要将它保存为文件,我只需要在屏幕上绘制它,以实现廉价的菜单转换。直到今天的经验,RenderTexture可以直接使用RawImage组件在UI中呈现,而无需进行Texture2D转换。进一步查看,我发现RenderTexture的每个像素的Alpha值为0(黑色),但颜色信息是正确的。由于某些原因,渲染器似乎没有从相机中记录alpha。是的,我看你对纹理2D的看法是正确的。奇怪的是,事情就这样改变了。。您是否更新了Unity版本或其他内容?