public static Texture2D CaptureScreen(Camera came, Rect r) { RenderTexture rt = new RenderTexture((int)r.width, (int)r.height, 0); came.targetTexture = rt; came.Render(); RenderTexture.active = rt; Texture2D screenShot = new Texture2D((int)r.width, (int)r.height, TextureFormat.RGB24, false); // int _width = (int)(1920 / 1100f * 170); // Texture2D screenShot = new Texture2D(1920, _width, TextureFormat.RGB24, false); screenShot.ReadPixels(r, 0, 0); screenShot.Apply(); came.targetTexture = null; RenderTexture.active = null; GameObject.Destroy(rt); return screenShot; }
博客给出了一段Unity中截图的代码。代码定义了一个静态方法CaptureScreen,通过创建RenderTexture、设置相机目标纹理、读取像素等操作实现截图功能,最后返回截图的Texture2D对象。代码转载自相关博客。
2232

被折叠的 条评论
为什么被折叠?



