• 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;
        }
    }
  • 相关阅读:
    物理好题随想
    学案12:电场强度和静电现象
    vscode插件记录
    windows使用总结
    元素周期律 + 元素周期表
    酸碱理论
    氮族元素——磷
    氮族元素——氮
    碱金属元素
    SDN第一次上机实验
  • 原文地址:https://www.cnblogs.com/sanyejun/p/11307948.html
Copyright © 2020-2023  润新知