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(); } }
直接使用即可
标签:截图,fuwutiParent,保存,Unity,jsq,GetChild,using,public From: https://www.cnblogs.com/qq2351194611/p/16912109.html