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;
}
}
好文推荐
发表评论