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.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