The main improvements are not in visuals, but in the "system". Now is 100% automatic. The setup is simple, setup the shader and add the script, thats all. Before, I had to setup an extra camera manually, but adding some lines, it can be done without human interaction :)
Also, the object should be set in a new layer to avoid rendering anything else:
GameObject go = new GameObject ("Camera_RTT", typeof(Camera), typeof(Skybox));
Camera_RTT = go.camera;
Camera_RTT.enabled = false;
Camera_RTT.hdr = true;
Camera_RTT.cullingMask = (1 << SSSobject.layer);
Camera_RTT.backgroundColor = Color.black;
While updating:
Camera_RTT.transform.position = Camera.main.transform.position;
Camera_RTT.transform.rotation = Camera.main.transform.rotation;
Camera_RTT.fov = Camera.main.fov;
Another interesting idea is doing the blur iterations in a loop to avoid duplicating text and making it customizable:
RenderTexture.active = RTTBlur_H;
Graphics.Blit (RTT, RTTBlur_H, BlurMaterial_H, 0);
for(int i=0;i<iterations;i++)
{
RenderTexture.active = RTTBlur_V;
Graphics.Blit (RTTBlur_H, RTTBlur_V, BlurMaterial_V, 0);
RenderTexture.active = RTTBlur_H;
Graphics.Blit (RTTBlur_V, RTTBlur_H, BlurMaterial_H, 0);
}
RenderTexture.active = null;
No hay comentarios:
Publicar un comentario