unity全屏截图
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Jietu : MonoBehaviour { //ui //ui挂在一个unlitTexture材质球上 public Image img; // Use this for initialization void Start () { } bool grab; // Update is called once per frame void Update () { if (Input.GetKeyDown(KeyCode.Space)) { grab = true; StartCoroutine(OnPostRender1());//方案1 } } //还有种是用postRender方案,但是脚本需要挂在摄像机上 private IEnumerator OnPostRender1() { yield return new WaitForEndOfFrame(); if(grab) { CaptureScreen(); } } //使用这种方案需要脚本挂在摄像机上,生命周期会自动调用 public void OnPostRender() { if (grab) { CaptureScreen(); } } //此函数要么在携程,要么在OnPostRender,不可直接调用,直接调用尺寸过大会报错 void CaptureScreen() { Texture2D texture = ScreenCapture.CaptureScreenshotAsTexture(); img.material.mainTexture = texture; //刷新 img.enabled = false; img.enabled = true; } }