通过unity内置的截图功能,也有几种方法:

1,通过Application.CaptureScreenshot来截图,这种方式最简单,一行代码搞定,缺点也很明显,比如不能选择区域,不能选择图片格式,不能屏蔽某些对象等等;

2,通过Texture2D.ReadPixels来读取屏幕区域像素,然后通过EncodeToJPG/EncodeToPNG编码,最后创建文件保存,步骤繁琐,但可控性更高;(注意这个 的协程  必须在 OnGUI 中调用才可以)

3,通过一个RenderTexture渲染相机内容,然后读取RenderTexture的像素,然后用2.2的方式实现截图,可控性更高,可以增加各种效果,可以实现屏蔽等功能;

账号Unity提供了这个游戏截屏的功能, 现在我们就来实现一下这个东东吧。
Application.CaptureScreenshot
static void CaptureScreenshot(string filename, int superSize = 0);
文件默认被保存在这个路径:persistent data path
那么图片我们存储在哪里呢? 在移动设备上的路径,我们有一下几种:
Application.dataPath:
此属性用于返回程序的数据文件所在文件夹的路径。例如在Editor中就是Assets了。
Application.streamingAssetsPath:
此属性用于返回流数据的缓存目录,返回路径为相对路径,适合设置一些外部数据文件的路径。
Application.persistentDataPath:
此属性用于返回一个持久化数据存储目录的路径,可以在此路径下存储一些持久化的数据文件。这个路径是可读可写的
Application.temporaryCachePath:
此属性用于返回一个临时数据的缓存目录。

android平台
Application.dataPath:
/data/app/xxx.xxx.xxx.apk
Application.streamingAssetsPath:
jar:file:///data/app/xxx.xxx.xxx.apk/!/assets
Application.persistentDataPath:
/data/data/xxx.xxx.xxx/files
Application.temporaryCachePath:
/data/data/xxx.xxx.xxx/cache

IOS平台
Application.dataPath:
Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data
Application.streamingAssetsPath:
Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data/Raw
Application.persistentDataPath:
Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents
Application.temporaryCachePath:
Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Library/Caches

我们就是在游戏界面中绘制一个Button(位置要选择好不要碍事), 这个脚本最好是 永远不被销毁的,这样就可以一直可用了。
单击按钮就及时的捕捉到问题的画面就OK了。
(我以前在这篇文章中也写过类似的代码了:http://blog.csdn.net/u010019717/article/details/43113305)
[csharp]  view plain copy print ?
  1. using UnityEngine;
  2. using System.Collections;
  3. using System;
  4. /// <summary>
  5. /// 用于对游戏的画面进行捕捉,就是截屏
  6. /// 测试可以使用,对问题捕捉下来
  7. /// </summary>
  8. public class ScreenShoter : MonoBehaviour
  9. {
  10. public string filePath  = Application.dataPath;
  11. void Awake()
  12. {
  13. DontDestroyOnLoad(transform.gameObject);
  14. }
  15. void OnGUI()
  16. {
  17. if (GUI.Button(new Rect((Screen.width - 60) * 0.5f, 0, 60, 30), "截屏"))
  18. {
  19. Application.CaptureScreenshot(string.Format("{0}\\ss_{1}x{2}_{3}.jpg",
  20. filePath, Screen.width, Screen.height, System.DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds));
  21. }
  22. }
  23. }

用 CaptureScreenshot捕捉游戏画面(截图,截屏)相关推荐

  1. u3d 巧用 CaptureScreenshot捕捉游戏画面(截图,截屏)

    孙广东   2015.4.27 游戏中测试人员在测试的时候,我们很希望能他们捕捉到当时的问题瞬间,而不是简单的用语言描述. 通过unity内置的截图功能,也有几种方法: 1,通过Application ...

  2. ARFoundation入门教程U2-AR场景截图截屏

    ARFoundation入门教程U2-AR场景截图截屏 <ARFoundation入门教程U1-android权限申请和配置升级>配置了android权限申请,获取权限后使用代码截屏,AR ...

  3. 怎么用计算机截图快捷键,电脑怎么截图截屏 电脑截图的快捷键是什么

    电脑怎么截图截屏 电脑截图的快捷键是什么 来源:www.18183.com作者:皮卡时间:2015-10-23 很多人打开电脑的时候就会习惯性的登上各类社交应用,例如QQ.阿里旺旺.微博客户端等,这些 ...

  4. 游戏翻译工具截屏翻译工具源代码 图片单词识别

    游戏翻译工具截屏翻译工具源代码 # -*- coding: utf-8 -*- """ Created on Mon Jan 14 23:24:05 2019 截取屏幕英 ...

  5. 苹果MacBook电脑如何捕捉特定窗口并截屏?

    日常的电脑工作中,我们经常需要使用到截图的功能.有时候需要截取整个屏幕,有时候需要截取某个形状.当然,有时候也需要截图特定的区域,比如某个软件的截图等等.今天小编给大家介绍怎么在MacBook上面捕捉 ...

  6. 苹果MacBook电脑怎么捕捉特定窗口并截屏?

    日常的电脑工作中,我们经常需要使用到截图的功能.有时候需要截取整个屏幕,有时候需要截取某个形状.当然,有时候也需要截图特定的区域,比如某个软件的截图等等.今天小编给大家介绍怎么在MacBook上面捕捉 ...

  7. mac录屏快捷键 - mac截图截屏快捷键 - 自带录屏软件QuickTime Player如何使用

    mac截图截屏快捷键 全屏截图 command + shift + 3 (截图文件自动保存到桌面) 区域截图 command + shift + 4  再用鼠标框选截图范围(截图文件自动保存到桌面) ...

  8. 荣耀android手机怎么截图,华为荣耀畅玩5C怎么截图/截屏方法教程

    华为荣耀畅玩5C怎么截图/截屏方法教程 来源:www.18183.com作者:皮卡时间:2016-04-29 作为荣耀今年的首款开年作品,该机受到了很多用户们的关注,而小编也相信有不少花粉们已经入手了 ...

  9. 截图截屏小工具Snipaste简单易用

    截图截屏小工具Snipaste简单易用 百度网盘地址:https://pan.baidu.com/s/195T96Al-plXSxXezTdybqg

最新文章

  1. LIVE 预告 | 达摩院王玮:超大规模中文理解生成联合模型PLUG
  2. Java从小白到入门,Day7,JAVAOO-继承
  3. 2018-11-18年工作感想
  4. React组件通信--props
  5. java孙膑和庞涓问题_庞涓与孙膑的故事
  6. 如何将图例排除在情节之外
  7. 代码上传到github上
  8. Visio2002、2003、2007下载地址整理 以及 相关网址链接
  9. 计算机网络各章节知识点总结
  10. 点计算机管理没反应,电脑任务栏卡住,点击没有反应怎么办?
  11. Kotlin是如何帮助你避免内存泄漏的?
  12. 击败26个硕士,本科生“歪门邪道”月薪过万
  13. 唐太宗管理之道:收人,收心,收天下
  14. Android的Activity之生命周期
  15. 五、数据CRUD操作
  16. 软件开发README文档书写模板
  17. HTML语言中表格的书写中TD TR TH的英文全称
  18. 椭圆加密算法(sm2和sm4)
  19. 智慧农业建设方案中的物联网技术
  20. 关于计算机的总结-2018 Java

热门文章

  1. STM32例程分享-01-OLED模块(IIC)
  2. H5常见问题 微信踩过得坑
  3. 修改jar包中class文件
  4. 易语言程序转c语言,c语言实现简单的易语言
  5. 用.Net Core接入微信公众号开发
  6. 2021NCTF-RE
  7. 【贺图】子兮祝您2015年新春快乐!
  8. Git中的vim命令
  9. vim autoformat php,将Vim打造成Python IDE(二):代码格式化的一些问题
  10. 敏涵控股集团刘敏:一个85后创业者的民族使命