首页 > 其他 > 详细

使用RenderTexture和camera.targetTexture生成快照

时间:2020-07-28 17:36:50      阅读:72      评论:0      收藏:0      [点我收藏+]

Camera有一个targetTexture属性,在设置了targetTexture后,Camera会在渲染时将其屏幕上的图像渲染到targetTexture上,可以使用快照实现镜头切换等特效

具体实现:

private Texture2D CaptureCamera(Camera camera, Rect rect)
{
RenderTexture buffer = RenderTexture.GetTemporary((int)rect.width, (int)rect.height, 1);
camera.targetTexture = buffer;
camera.Render();
// 激活这个rt, 并从中中读取像素。
RenderTexture.active = buffer;
Texture2D screenShot = new Texture2D((int)rect.width, (int)rect.height, TextureFormat.RGB24, false);
screenShot.ReadPixels(rect, 0, 0);// 注:这个时候,它是从RenderTexture.active中读取像素
screenShot.Apply();
// 重置相关参数,以使用 camera 继续在屏幕上显示
camera.targetTexture = null;
RenderTexture.active = null;
GameObject.Destroy(buffer);
return screenShot;
}

使用RenderTexture和camera.targetTexture生成快照

原文:https://www.cnblogs.com/mcyushao/p/13391475.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!