在Unity中截取部分区域的屏幕截图?

时间:2016-01-01 06:21:06

标签: c# c#-4.0 unity3d screen-capture

我的游戏可以让你打扮自己的角色。我想将该图像(但不是800x600屏幕的其余部分)保存到文件中。根据帮助,我可以使用Application.CaptureScreen()来捕获全屏,但是如何捕获它的一部分?

1 个答案:

答案 0 :(得分:2)

如果您想完全控制要截屏的区域,我建议您设置一个RenderTexture的新相机。这样可以更灵活地控制屏幕截图的构图。就像Xbox360上的Avatar Creator一样。

  1. 创建一个新相机并对齐它以适合所选的图像和构图。
  2. 添加RenderTexture
  3. 使用ReadPixels从RenderTexture中读取Texture2D并使用EncodeToPNG保存。
  4. 保存到磁盘或上传到服务器
  5. http://docs.unity3d.com/Manual/class-RenderTexture.html

    http://docs.unity3d.com/ScriptReference/Texture2D.EncodeToPNG.html