Использование rendertexture в unity

283
23 декабря 2016, 10:55

Пытаюсь получать фотки через instagram Api, обработать как мне надо и отображать их в виде некоторого слайдшоу.

Авторизуюсь, получаю данные по json, получаю оттуда ссылки на фото, стягиваю фото, стягиваю описание, число лайков и тд, далее мне необходимо подставить их в специальный префаб(на сцене) на который смотрит отдельно созданная для этого камера с RenderTexture, сохранить отрендеренное этой камерой в спрайт и уже этот спрайт использовать в слайд шоу. Делается это с целью что бы не только картинка но и текстовые данные тоже запеклись в спрайт что бы его потом анимировать с такими эффектами как мне надо как цельную картинку.

Проблемы начались на этапе тестирования на разных девайсах, на Nexus5 все работает прекрасно, на (например) Acer Icona Tab куча глитча и ничего адекватного. Пример того как это выглядит на девайсе где возникают проблемы.

Если при этом я в Unity выставляю Edit - Graphics Emulation - OpenGL ES 2.0 то такой же удел постигает и Nexus5, попытки выставлять при запекании текстуры в рантайм у Texture2D значения генерации mipmap в False не помогли. Код "запекания" следующий.

private IEnumerator BakeData(RenderTexture rt, Action<List<Sprite>> callback)
        {
            for (int i = 0; i < _fs.Photos.Count; i++)
            {
                _fs.Photos[i].SetPhotoData(page, FeedViewConfig.Instance._modeEnum);
                yield return new WaitForEndOfFrame();
                var txt2d = new Texture2D(rt.width, rt.height, TextureFormat.ARGB32,  false,false);
                BakeCamera.targetTexture = rt;
                BakeCamera.Render();
                RenderTexture.active = rt;
                txt2d.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0, true);
                txt2d.Apply();
                var photoWidth = backCanvas.GetComponent<RectTransform>().rect.width;
                var photoHeight = photoWidth * 1.25f;
                var sprite = Sprite.Create(txt2d, new Rect(0, (txt2d.height - photoHeight) / 2, txt2d.width, photoHeight), Vector2.zero);
                yield return sprite;
                _pageSprites.Add(sprite);
            }
            BakeCamera.gameObject.SetActive(false);
            callback(_pageSprites);
        }

где rt это RenderTexture В общем выслушаю любые варианты и попробую их. Уже голову сломал.

READ ALSO
C# отсчет времени по таймеру

C# отсчет времени по таймеру

ЗдравствуйтеНужно посылать запросы на Web сервис по временному регламенту

329
получение доступа к переменной [требует правки]

получение доступа к переменной [требует правки]

Доделываю проект одного человекаСтоит чтото по типу модификатора доступа на папках и так-же распространяется на переменные из ядра и запросы...

299
ftp_putI llegal PORT command in

ftp_putI llegal PORT command in

Открываею соединение через ftp_connect (на выходе ресурс) Логинюсь через ftp_login (на выходе true) Заливаю файл через ftp_put (на выходе false)

312