Ir al contenido

ColorCorrection

Un fotograma se desatura brevemente para indicar duelo. Toda la imagen vira a ámbar para un momento de atardecer. Un destello de flashbang eleva Brightness bruscamente, luego cae hacia el negro antes de recuperarse. Una secuencia de sueño deriva entre colores que no son reales.

ColorCorrection es para esos cambios de ambiente que afectan el fotograma completo. Anima cuatro propiedades del ColorCorrectionEffect de Roblox a lo largo de la vida útil de cada emisión: Brightness, Contrast, Saturation y un gráfico TintColor. Los cuatro trabajan juntos para llevar la imagen hacia la paleta e intensidad que el momento requiere.

Una instancia de ColorCorrectionEffect de Roblox, normalmente como hija de Lighting.

Como los demás tipos de posproceso, no se mueve ni tiene posición. Se aplica a toda la imagen de la cámara renderizada, en cada fotograma.

ColorCorrection es más expresivo que Blur o Bloom porque combina cuatro ejes visuales independientes. Usados en conjunto, puedes convertir una escena diurna en cualquier cosa, desde una película de terror hasta un videoclip musical.

  • Brightness desplaza la imagen en general hacia tonos más claros o más oscuros.
  • Contrast extiende o comprime la diferencia entre píxeles oscuros y brillantes.
  • Saturation intensifica o drena el color. Llévala a su valor más bajo y la imagen quedará en escala de grises.
  • TintColor multiplica un color sobre todo el fotograma. Un tinte rojo para el peligro, uno azul para el frío, uno sepia para el recuerdo.

Los tres primeros tienen signo: aceptan valores negativos y positivos. Esto es inusual en el plugin (la mayoría de los gráficos están limitados a cero o por encima). Un gráfico de Brightness que baja a -0.5 realmente oscurece la imagen; una Saturation de -1 elimina todo el color.

La superficie completa, agrupada por sección del panel.

Etiqueta del panelAtributo de datoTipoValor predeterminadoQué hace
ModeEmissionModeenumEmitEmit (clones por emisión) o Animate (clon único, en bucle)
LoopAnimateLoopbooleanfalseSi el modo Animate repite el ciclo en bucle
EnabledEnabled (attribute)booleanfalseActivación/desactivación general
RateRatenumber10Tasa de emisión por segundo (solo modo Emit)
LifetimeLifetimeNumberRange1Segundos que vive cada clon
Etiqueta del panelAtributo de datoTipoValor predeterminadoQué hace
BrightnessCCBrightnessNumberSequence0Gráfico de brillo de imagen (rango -1 a +1)
ContrastCCContrastNumberSequence0Gráfico de contraste de imagen (rango -1 a +1)
SaturationCCSaturationNumberSequence0Gráfico de saturación de color (rango -1 a +1)
TintColorCCTintColorColorSequenceblancoGráfico de tinte de color para el fotograma completo
Etiqueta del panelAtributo de datoTipoValor predeterminadoQué hace
Anim. StepsTotalKeyFramesnumber100Resolución de muestreo previo para los gráficos
LingerPartLifenumber0Segundos que el clon permanece después de Lifetime
Emit IntoEmitParentInstancenilDónde se ubica el clon como hijo — anula Lighting

Un gráfico NumberSequence para el brillo global de la imagen, con signo.

  • 0 (el valor predeterminado) no produce ningún cambio.
  • Los valores positivos aclaran la imagen. +0.5 es notablemente más brillante; +1.0 está dramáticamente sobreexpuesto.
  • Los valores negativos oscurecen. -0.5 es tenue; -1.0 es casi negro.

Útil para efectos de flashbang (un pico pronunciado hasta +1.0 seguido de una caída profunda a -0.5 y recuperación a 0), o transiciones de fundido a negro (un gráfico que va de 0 hasta -1.0).

El atributo de dato es CCBrightness para evitar colisiones con el ColorCorrectionEffect.Brightness nativo de Roblox.

Un gráfico NumberSequence para el contraste de imagen, con signo.

  • 0 no produce ningún cambio.
  • Los valores positivos aumentan el contraste: los píxeles brillantes se vuelven más brillantes, los oscuros se vuelven más oscuros y la diferencia entre ellos se amplía. +0.5 es contundente; +1.0 es duro.
  • Los valores negativos reducen el contraste: la imagen se vuelve más grisácea, con tonos que convergen hacia el gris medio. -1.0 es completamente plano.

Para efectos de “momento contundente” (impactos en combate, momentos de claridad nítida), anima Contrast brevemente hacia arriba. Para efectos de “recuerdo” o “fuera de foco”, anímalo hacia abajo.

El atributo de dato es CCContrast.

Un gráfico NumberSequence para la intensidad del color, con signo.

  • 0 no produce ningún cambio: los colores se renderizan con su intensidad natural.
  • Los valores positivos sobresaturan: los colores se vuelven más vívidos, a veces de un brillo neón.
  • Los valores negativos desaturan: la imagen deriva hacia la escala de grises. -1.0 es escala de grises pura (sin color en absoluto).

Un efecto de “drenar el color para el duelo”: un gráfico que va de 0 a -1 a lo largo de la vida útil. La pantalla pierde su color gradualmente. Un “destello vívido repentino”: un gráfico que sube brevemente a +0.5 y vuelve a 0. Útil para destellos de confirmación de combos, momentos de subida de nivel.

El atributo de dato es CCSaturation.

Un ColorSequence para el tinte de todo el fotograma. El tinte se multiplica contra los colores de la imagen renderizada.

  • Blanco (el valor predeterminado) no aplica ningún tinte: la imagen se renderiza con su color natural.
  • El rojo tiñe todo hacia el rojo: útil para daño, ira, escenas de luna de sangre.
  • El azul tiñe hacia el azul: frío, tristeza, bajo el mar.
  • El sepia (amarillo-marrón cálido) tiñe hacia estéticas de recuerdo o fotografía antigua.
  • Los tintes verdes pueden sugerir enfermedad, o el icónico aspecto de “Matrix”.

Como TintColor es un ColorSequence, el tinte puede cambiar a lo largo de la vida útil. Un gráfico de blanco en la edad 0 a rojo en 0.5 a blanco en 1.0 produce un breve destello rojo que se recupera, útil para indicadores de daño que no desplazan la paleta de forma permanente.

El atributo de dato es CCTintColor.

La misma protección a nivel de plugin que Blur y Bloom: en el modo Animate, un duplicado a la vez; las re-emisiones que llegan mientras el ciclo activo está en curso se descartan silenciosamente. La protección es del propio plugin: el propio Roblox admite múltiples instancias de ColorCorrectionEffect en Lighting y las combina de forma multiplicativa (cubierto en la sección Vale la pena saber más abajo). Las re-emisiones en el modo Emit no están protegidas.

Para ColorCorrection específicamente, el apilamiento es especialmente peligroso porque las cuatro propiedades se combinan entre sí a través de los efectos apilados. Dos clones de ColorCorrection cada uno con Saturation = -0.5 producen cerca de escala de grises total. Dos clones cada uno con TintColor = blue producen un azul intensamente saturado, a menudo sin intención. Usa el modo Animate y la protección de clon único.

Igual que Blur y Bloom. El valor predeterminado es Lighting. Configurarlo en otro lugar deshabilita el efecto de forma efectiva (ColorCorrection solo se renderiza dentro de Lighting).

Algunas particularidades específicas de ColorCorrection.

Las tres primeras propiedades tienen signo; el resto de los gráficos del plugin no. La mayoría de los gráficos en el plugin no son negativos: Speed, Drag, Width0, etc., todos se limitan a cero. CCBrightness, CCContrast y CCSaturation no están limitados. El editor de gráficos te permite crear valores negativos y el motor los respeta. Si encuentras que tu gráfico no baja de cero en el editor de otro tipo, es porque la mayoría de los gráficos son no negativos por diseño; pero aquí, el valor negativo tiene significado.

Los efectos de ColorCorrection existentes se combinan de forma multiplicativa. Si tu Lighting ya tiene un ColorCorrectionEffect que no es del emisor (un tinte de línea base permanente que configuró el diseñador de tu escena), el ColorCorrection emitido se superpone encima. Una línea base de Saturation = -0.2 más una Saturation = -0.5 emitida produce un efecto más drenado que cualquiera de los dos por separado. Revisa Lighting en busca de efectos de color existentes antes de empezar a crear.

TintColor multiplica, no reemplaza. Un TintColor rojo no pinta la pantalla de rojo: multiplica los valores RGB de los píxeles existentes por los RGB del color del tinte. Un píxel de azul puro bajo un tinte de rojo puro se vuelve negro (rojo × azul = sin superposición). Mezclar tintes con los colores de la escena a veces produce resultados sorprendentes.

La animación mezcla las cuatro propiedades simultáneamente. Los cuatro gráficos se muestrean en cada fotograma y se aplican juntos. Un gráfico que eleva Brightness mientras Saturation baja produce un momento brillante pero desaturado, útil para efectos de fantasma, secuencias de sueño, momentos de visión divina.

Atmosphere es el más extraño de los cuatro tipos de espacio de pantalla. Roblox renderiza solo un Atmosphere en Lighting a la vez, sin excepción, y el plugin gestiona esta restricción anulando la configuración de EmissionMode de una manera que vale la pena entender antes de usarlo.