Скриншот в Unity c UI 4.6

Графический интерфейс пользователя

Скриншот в Unity c UI 4.6

Сообщение qumarov 17 фев 2015, 20:46

Всем привет! Надеюсь найдутся знающие люди и помогут.
Подскажите есть ли возможность сохранить в png изображение какого либо окна сделанного на новом UI 4.6? Может отрендерить в текстуру как то его можно?
Пытался сделать через targetTexture у камеры, но почему то GUI в снимок не попадает. На картинке получается только сцена без GUI.

Application.CaptureScreenshot - нормально работает, но поскольку это нужно в вебке, то не прокатит.

Canvas в режиме Screen Space - Overlay пробовал делать и Screen Space - Camera, но не помогло только при этом начали дрожать мелкие элементы.


Синтаксис:
Используется csharp
public void TakeScreen()
        {
                StartCoroutine(CaptureScreen());
        }


public IEnumerator CaptureScreen()
        {

                // Wait for screen rendering to complete
                yield return new WaitForEndOfFrame();



                RenderTexture rt = new RenderTexture (1000, 700, 24);
                cam.targetTexture = rt;
                Texture2D screenShot = new Texture2D (1000, 700, TextureFormat.RGB24, false);
                cam.Render ();

                RenderTexture.active = rt;
                screenShot.ReadPixels (new Rect (0, 0, 1000, 700), 0, 0);
                cam.targetTexture = null;
                RenderTexture.active = null; // JC: added to avoid errors
                Destroy (rt);
                byte[] pngData = screenShot.EncodeToPNG ();
               
                Debug.Log ("ОК");

        }
 


Подскажите куда копать? Почему GUI может не рендериться в текстуру?
qumarov
UNец
 
Сообщения: 4
Зарегистрирован: 17 фев 2015, 20:26

Re: Скриншот в Unity c UI 4.6

Сообщение qumarov 18 фев 2015, 10:24

Неужели никто не делал?
qumarov
UNец
 
Сообщения: 4
Зарегистрирован: 17 фев 2015, 20:26

Re: Скриншот в Unity c UI 4.6

Сообщение IDoNotExist 18 фев 2015, 10:57

qumarov писал(а):Подскажите куда копать? Почему GUI может не рендериться в текстуру?

Видимо на камере которая рендерит в текстуру не указан слой вашего ГУИ в Culling Mask.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Скриншот в Unity c UI 4.6

Сообщение qumarov 18 фев 2015, 14:41

На камере в Culling Mask указаны все слои в том числе и UI. К тому же камера нормально выводит GUI, он исчезает только на снимках.
qumarov
UNец
 
Сообщения: 4
Зарегистрирован: 17 фев 2015, 20:26


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2