【Unity】截圖(支持SpriteMask)

  • new RenderTexture(width, height,0);沒有深度值就回造成SpriteMask效果失效
  • new RenderTexture(width, height,24);深度值爲24,給予一定深度信息即可
            int width = Screen.width;
            int height = Screen.height;

            width = (int) (width * size);
            height = (int) (height * size);

            //創建一個渲染緩衝區 
            RenderTexture rt = new RenderTexture(width, height,24);
            //設置攝像機
            camera.targetTexture = rt;
            camera.Render();
            //設置緩衝區貼圖
            RenderTexture.active = rt;
            Texture2D screenShot = new Texture2D(width, height, TextureFormat.RGB24, false);
            screenShot.ReadPixels(new Rect(0, 0, width, height), 0, 0);
            screenShot.Apply();

            camera.targetTexture = null;
            RenderTexture.active = null;
            GameObject.Destroy(rt);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章