1.下面是实现代码
using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; public class SaveJPG : MonoBehaviour { public GameObject[] gameObjects; //string fileName = Application.streamingAssetsPath + "/UI/photo.jpg"; public Camera camera; public Transform fuwutiParent; public int jsq = 0; public bool zx = false; GameObject obj = null; private void Start() { //自动保存图片 //StartCoroutine(CloneTuPian()); } private void Update() { #region 半自动保存图片手动对位置 if (Input.GetKeyDown (KeyCode.Space)) { for (int i = 0; i < fuwutiParent.childCount; i++) { fuwutiParent.GetChild(jsq).gameObject.SetActive(true); } } if (Input.GetKeyDown (KeyCode.Alpha1)) { string str_ = fuwutiParent.GetChild(jsq).name.Split('(')[0].ToString(); CaptureScreenByRT(str_); fuwutiParent.GetChild(jsq).gameObject.SetActive(false); jsq++; Debug.Log(jsq); } #endregion } IEnumerator CloneTuPian() { while (jsq<gameObjects .Length) { GameObject obj = Instantiate(gameObjects[jsq]); string str_ = obj.transform.name.Split('(')[0].ToString (); CaptureScreenByRT(str_); Destroy(obj); yield return new WaitForSeconds(1f); jsq++; } Debug.Log("生成结束"); } public void CaptureScreenByRT(string fileName) { Rect rect = new Rect(0, 0, 600, 600); // 创建一个RenderTexture对象 RenderTexture rt = new RenderTexture((int)rect.width, (int)rect.height, 0); // 临时设置相关相机的targetTexture为rt, 并手动渲染相关相机 camera.targetTexture = rt; camera.Render(); // 激活这个rt, 并从中中读取像素。 RenderTexture.active = rt; Texture2D screenShot = new Texture2D((int)rect.width, (int)rect.height, TextureFormat.RGB24, false); // 注:这个时候,它是从RenderTexture.active中读取像素 screenShot.ReadPixels(rect, 0, 0); screenShot.Apply(); // 重置相关参数,以使用camera继续在屏幕上显示 camera.targetTexture = null; RenderTexture.active = null; GameObject.Destroy(rt); // 最后将这些纹理数据,成一个png图片文件 byte[] bytes = screenShot.EncodeToPNG(); string path = Application.streamingAssetsPath + "/UI/"+ fileName + ".jpg"; System.IO.File.WriteAllBytes(path, bytes); AssetDatabase.Refresh(); } }
直接使用即可
原文地址:http://www.cnblogs.com/qq2351194611/p/16912109.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性