Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

¿como desactivo efectos de camara al bajar calidad?

Iniciado por davidal, Febrero 24, 2016, 11:44:05 AM

Tema anterior - Siguiente tema
Febrero 24, 2016, 11:44:05 AM Ultima modificación: Enero 01, 1970, 01:00:00 AM por davidal
Hola, me gustaría saber como hago que, cuando seleccione la calidad "good" (o una inferior), me desactive los efectos de la cámara (como el blur, la corrección de color, etc..).Muchas gracias

Buenas!!http://docs.unity3d.com/ScriptReference/QualitySettings.html" rel="external nofollow">http://docs.unity3d.com/ScriptReference/QualitySettings.htmlCon un script en la camara y en el start/awake utilizas el QualitySettings.GetQualityLevel() a partir de ahi activas/desactivas lo que quieras de la camara. 

Bueno yo he hecho algo similar a lo que necesitas davidal, metiendolo en un menu de pause en el juego. Supongo que habrá muchas formas de abordarlo, pero te comento un poco para que te hagas una idea...Creo que deberias crear un script que se encargue de todo esto por ejemplo ScriptQualityGraphics. En el debes crear tantas variables publicas como efectos vayas a tener metidos en tu camera de los scripts de cada susodicho efecto: Algo asi... 
//variables publicas de que contienen los scripts de los efectos de PostProcessing
public MotionBlur                                       motionBlur;
public Bloom                                            bloom;
public Antialiasing                                     antialiasing;      
public ScreenOverlay                                    screenOverlay;

//....
este script agregaselo a la camara y desde el inspector agrega al script cada componente de efecto que le hayas puesto a la camara. Ahora simplemente solo debes activar y desactivar cada variable de postProcessing mediante su variable "enabled" cuando te apetezca... es decir, en tu caso donde te dijo hammer, en la funcion que crees que lleve el codigo en la que cambies la calidad de los graficos. Pero yo crearia una funcion publica por cada opcion de calidad grafica, para que puedas utilizarla en un button de la UI por ejemplo... algo asi 
public void changeQualityGraphic_Fantastic()
    {
        QualitySettings.SetQualityLevel(5);//0 es fasted, 1 fast, etc, 5 Fantastic
       
        //Y ahora activamos el postProcesado que queramos. En este caso como es fantastic
        //activamos todos los que tenemos
        motionBlur.enabled = true;
        bloom.enabled = true;
        antialiasing.enabled = true;          
        screenOverlay.enabled = true;
           
    }
   
    // O ...
   
 public void changeQualityGraphic_Fasted()
    {
        QualitySettings.SetQualityLevel(0); //0 es fasted, 1 fast, etc
       
        //Y ahora activamos el postProcesado que queramos. En este caso como es fasted
        //desactivamos todos los que tenemos
        motionBlur.enabled = false;
        bloom.enabled = false;
        antialiasing.enabled = false;          
        screenOverlay.enabled = false;
           
    }  
Si tienes mas dudas o no te queda algo claro dimelo y te lo explico Un saludo 

Etiquetas: