- Home /
RenderTexture not working when in WebPlayer, unless in fullscreen
The following will work when in stand alone, and when on webplayer fullscreen mode, but will give odd results when in webplayer windowed mode.
using UnityEngine;
using System.Collections;
public class CaptureScreenThumbnail : MonoBehaviour
{
private Texture2D _capture;
private Vector2 _size;
// Use this for initialization
void Start () {
_size = new Vector2(300, 200);
_capture = new Texture2D((int)_size.x, (int)_size.y, TextureFormat.RGB24, false);
}
void OnGUI () {
if (GUI.Button(new Rect(0,300,40,40), "||"))
{
StartCoroutine (CaptureThumbnail (_size));
}
GUI.DrawTexture(new Rect(0,0,_capture.width, _capture.height), _capture);
}
private IEnumerator CaptureThumbnail (Vector2 size)
{
// creating a Texture to Render to, the size of the thumbnail
RenderTexture myRenderTexture = new RenderTexture((int)size.x, (int)size.y, 24);
myRenderTexture.Create();
// Setting the Camera to Render to the Texture
Camera.main.targetTexture = myRenderTexture;
// Setting the Texture to be the Active Texture to read from
RenderTexture.active = myRenderTexture;
// Creating a new Texture2D
Texture2D myTexture2D = new Texture2D ((int)size.x, (int)size.y, TextureFormat.RGB24, false);
// Turning GUI Layer off
Camera.main.GetComponent<GUILayer>().enabled = false;
// Wait for the Frame to be fully rendered
yield return new WaitForEndOfFrame();
// Read pixels from the Render Texture into the Texture 2D
myTexture2D.ReadPixels(new Rect(0, 0, myRenderTexture.width, myRenderTexture.height), 0, 0);
myTexture2D.Apply();
// Restoring the GUI
Camera.main.GetComponent<GUILayer>().enabled = true;
// Reset Camera and Release the RenderTexture
Camera.main.targetTexture = null;
RenderTexture.active = null;
myRenderTexture.Release();
_capture = myTexture2D;
}
}
Answer by ritchy · Mar 15, 2013 at 05:35 AM
Hi CgShady,
i am having same problem, and my tech is pretty much based on extensive use of RenderTexture. I need to produce this app to we player ... Did you find any workaround ?
Cheers
Unfortunately no. As I was using it to make thumbnails we simply cut the feature and replaced thumbnails with labels for our web version.
Your answer
Follow this Question
Related Questions
Render Texture to Full Quality Texture for GUI Use 1 Answer
Using RenderTextures in editor script 0 Answers
Capture RenderTexture pixels multiple times in one frame? 1 Answer
Can i render a camera to a gui texture? 1 Answer
unity 3 Render Texture limitations on IOS (cant set bigger then 512 - bug?) 2 Answers