最近项目需求截图,于是就全部研究了一下,期间遇到了各种问题,与诸位大神讨论后终于解决了
主要有三种方法:
- unity自带的全屏截图
- unity主场景局部区域截图
- unity针对某个相机看到的区域局部截图
-
针对第一种方案的截图很容易
使用Application.CaptureScreenshot方法,
第一个参数是文件路径名,第二个参数是截图的大小,默认是0,1代表当前大小的一倍,以此类推
-
unity主场景局部区域截图
这里遇到两个个坑。
坑一:坐标转换
一开始不知道坐标系不一样,发现一些坐标一运行截图方法,unity就崩了,还无从查找问题,后来费了好大一番功夫,发现GUI的rect的坐标系和
ReadPixels用的矩形坐标系不一样。如下图所示: