在Unity中截取部分区域的屏幕截图?
Taking screenshot of partial area in Unity?
我的游戏可以让你装扮你的角色。我想将该图像(而不是 800x600 屏幕的其余部分)保存到一个文件中。根据帮助,我可以使用 Application.CaptureScreen() 来捕获整个屏幕,但是如何只捕获其中的一部分?
如果您想完全控制要截屏的区域,我建议设置一个带有 RenderTexture
的新相机。这将启用一种更灵活的方式来控制屏幕截图的构图。就像 Xbox360 上的 Avatar Creator。
- 创建一个新相机并将其对齐以适合所选的图像和构图。
- 添加一个
RenderTexture
- 使用
ReadPixels
从 RenderTexture 读取到 Texture2D
并使用 EncodeToPNG
. 保存
- 保存到磁盘或上传到服务器
http://docs.unity3d.com/Manual/class-RenderTexture.html
http://docs.unity3d.com/ScriptReference/Texture2D.EncodeToPNG.html
我的游戏可以让你装扮你的角色。我想将该图像(而不是 800x600 屏幕的其余部分)保存到一个文件中。根据帮助,我可以使用 Application.CaptureScreen() 来捕获整个屏幕,但是如何只捕获其中的一部分?
如果您想完全控制要截屏的区域,我建议设置一个带有 RenderTexture
的新相机。这将启用一种更灵活的方式来控制屏幕截图的构图。就像 Xbox360 上的 Avatar Creator。
- 创建一个新相机并将其对齐以适合所选的图像和构图。
- 添加一个
RenderTexture
- 使用
ReadPixels
从 RenderTexture 读取到Texture2D
并使用EncodeToPNG
. 保存
- 保存到磁盘或上传到服务器
http://docs.unity3d.com/Manual/class-RenderTexture.html
http://docs.unity3d.com/ScriptReference/Texture2D.EncodeToPNG.html