Ir al contenido

Diferencias de tipo

Varias propiedades comparten el mismo nombre entre los tipos de emisor, pero tienen tipos o significados distintos según el emisor que estés usando. Esto confunde a los usuarios que aprenden la propiedad en un tipo y asumen que funciona igual en los demás.

Este capítulo es la tabla de consulta.

TipoTipo de datoSignificado
PartNumberSequence (gráfico)Multiplicador de brillo durante la vida de cada partícula
BeamNumberSequence (gráfico, atributo BeamBrightness)Multiplicador de brillo durante la vida de cada emisión
PointLightNumberSequence (gráfico, atributo PLBrightness)Multiplicador de intensidad de luz durante la vida
Trailnumber (valor único)Multiplicador de brillo (constante — los segmentos de Trail tienen su propia edad por segmento, y Roblox ya anima otras propiedades en función de ella)
ParticleEmitter nativonumber (valor único)Multiplicador de brillo (constante — API nativa de Roblox)

La división: los tipos que duplican por partícula y animan por duplicado (Part, Beam, PointLight) reciben un gráfico. Los tipos que tienen animación por segmento integrada en Roblox (Trail) o un único billboard (PE nativo) reciben un número único.

No puedes pegar un gráfico de Brightness de un emisor Part en un Trail o PE nativo — la herramienta de portapapeles detecta la incompatibilidad de tipos y lo omite. Para convertir, muestrea el gráfico en un punto elegido y pega ese valor único.

TipoTipo de datoSignificado
Part, Attachment, ModelNumberSequence (gráfico)Magnitud de velocidad durante la vida de cada partícula, en studs/seg
ParticleEmitter nativoNumberRange (rango)Velocidad aleatoria por partícula, elegida al generarse, constante durante la vida de la partícula
Beam, Trail(ausente)Estos tipos no se mueven espacialmente
PointLight(ausente)Los PointLights no se mueven; pulsan en su lugar
Tipos en espacio de pantalla (Blur, Bloom, etc.)(ausente)Sin movimiento espacial
ImageLabelNumberSequence (gráfico, en píxeles/seg)Magnitud de velocidad durante la vida de cada partícula, en píxeles de pantalla

El gran problema es la división gráfico vs rango entre Part transformado y PE nativo. No intentes pegar entre ellos — los tipos no coinciden. El NumberSequence transformado dice “velocidad durante la vida”; el NumberRange nativo dice “velocidad constante por partícula, elegida aleatoriamente de un rango.”

TipoTipo de datoSignificado
Part, Attachment, Model, Beam, PointLightNumberRange (rango)Tiempo de vida aleatorio por partícula, elegido al generarse
Trailnumber (valor único)Tiempo de vida por segmento, constante para todos los segmentos
ParticleEmitter nativoNumberRange (rango)Igual que los tipos transformados
Tipos en espacio de pantallaNumberRange (rango)Tiempo de vida aleatorio del clon por emisión
ImageLabelNumberRange (rango)Tiempo de vida aleatorio por partícula

El Lifetime de Trail es inusual por dos razones. Primero, es un número único, no un rango — el mismo valor se aplica a cada segmento. Segundo, el significado es por segmento, no por partícula. Un Trail con Lifetime = 5 tiene segmentos que cada uno se desvanece en 5 segundos, independientemente de cuándo fueron creados. No existe una “partícula” con tiempo de vida en el sentido por-Part.

TipoTipo de datoSignificado
Part, Attachment, Model, PointLight, ImageLabelColorSequence / NumberSequence (gráfico)Por partícula, animado durante la vida de la partícula
TrailColorSequence / NumberSequence (gráfico)Por segmento, animado durante la vida de cada segmento
Beam(mediante GraphBlender)Interpolación de múltiples estados; sin una propiedad única de Color o Transparency
ParticleEmitter nativoColorSequence / NumberSequence (gráfico)Por partícula, animado durante la vida
AtmosphereColorSequence (gráfico)Por emisión, animado durante el ciclo. Atmosphere tiene dos propiedades ColorSequence: Color y Decay.
ColorCorrectionNumberSequence para Brightness/Contrast/Saturation; ColorSequence para TintColorGráficos con signo para los tres primeros (se admiten valores negativos)

El mecanismo GraphBlender de Beam es el caso estructuralmente atípico. No existe una propiedad Color única en un Beam — en su lugar, la carpeta GraphBlender contiene múltiples estados, cada uno con su propio gráfico de Color y Transparency y un valor Time. El motor interpola linealmente entre estados adyacentes. Consulta el capítulo de Beam y GraphBlender Math para el mecanismo completo.

TipoTipo de datoSignificado
Part, Attachment, Modeltres NumberRange (PosX, PosY, PosZ)Desplazamiento aleatorio por eje desde el centro del origen al generarse, en studs
ImageLabelUDim2 (valor único de Position)Posición de UI con componentes Scale + Offset por eje. Sin rango por eje — las partículas se generan en la Position configurada y se mueven en Offset de píxeles desde allí
Beam, Trail(ausente)La posición está fijada por los attachments
PointLight(ausente)La posición es la posición del padre del origen
Tipos en espacio de pantalla(ausente)Los efectos de post-proceso no tienen posición

El modelo de emisión polar de ImageLabel implica que no tiene rangos PosX/Y/Z — en su lugar, tiene EmissionAngle (una dirección central) y SpreadAngle (dispersión aleatoria a su alrededor). Las partículas se generan en una Position base única y salen en direcciones elegidas del rango polar.

TipoTipo de datoSignificado
Part, Attachmenttres NumberSequence (SizeX, SizeY, SizeZ)Multiplicador por eje sobre el Size del origen, animado durante la vida
ModelNumberSequence (Scale)Escala uniforme mediante Model:ScaleTo(), animada durante la vida. Se propaga a todos los descendientes.
Beam(mediante Width0, Width1)Gráficos de ancho por extremo; no es un Size unificado
TrailNumberSequence (WidthScale)Multiplicador sobre el Width nativo del Trail, varía por segmento
PointLight(mediante Range)El gráfico del radio de la luz — sin equivalente a Size
ParticleEmitter nativoNumberSequence (gráfico único)Tamaño de billboard 2D uniforme, animado por partícula
ImageLabelUDim2 para la base + gráficos SizeScaleX/SizeScaleY para multiplicadores por ejeCombinación de base UDim2 y gráficos multiplicadores animados

Tres modelos de tamaño completamente distintos según el tipo:

  • Gráficos de tres ejes para Part / Attachment (puedes estirar independientemente por eje)
  • Un gráfico uniforme para Model (todo escala junto mediante :ScaleTo)
  • Un gráfico uniforme para PE nativo (tamaño único de billboard 2D)

Si estás creando un efecto con múltiples tipos y quieres un comportamiento de tamaño coherente, necesitarás configurar las propiedades de tamaño correctas para cada tipo — no hay un gráfico “size” universal que se mapee limpiamente en todos ellos.

TipoTipo de datoFormato
Part, Attachment, Model, Beam, PointLight, ImageLabel, espacio de pantallanumberSegundos de bucle continuo tras las ráfagas iniciales de EmitCount. 0 omite el bucle.
TrailstringUn único número ("2") o un rango mín/máx separado por comas ("5,2"). El plugin analiza y elige una duración aleatoria por emisión
ParticleEmitter nativonumber (atributo)Segundos (leído por el runtime del plugin, no por la API nativa de Roblox)

El formato de cadena del Trail es el inusual. "5,2" no significa “5 segundos de emisión y luego 2 segundos de cola” (una interpretación errónea habitual) — significa “duración aleatoria entre 2 y 5 segundos, elegida por emisión.” Consulta el capítulo de Trail para el modelo completo de temporización de emisión del Trail.

TipoTipo de datoSignificado
Part, Attachment, Modelenum (NormalId)Qué cara del marco del origen lanzan partículas (Top, Bottom, etc.)
ParticleEmitter nativoenum (NormalId)Igual que el anterior
ImageLabelEmissionAngle (número, grados) + SpreadAngle (número)Dirección polar en espacio de pantalla 2D
Beam, Trail(ausente)Sin dirección; las posiciones están fijadas por attachments
PointLight(ausente)Sin dirección; las luces son omnidireccionales
Tipos en espacio de pantalla(ausente)Sin dirección; los efectos son globales

Los tipos 3D usan un enum de cara del origen. El tipo 2D (ImageLabel) usa un ángulo polar en grados. Los tipos de post-proceso y geometría fija no tienen ningún concepto de dirección.

TipoTipo de datoSignificado
Part, Attachment, Modeltres gráficos NumberSequence (RotSpeedX/Y/Z)Velocidad de rotación por eje
Enum RotModeOverLife (valor del gráfico = ángulo absoluto en la edad t) o Speed (valor del gráfico = tasa en grados/seg, integrada cada fotograma)Mismo enum en estos tres tipos
ParticleEmitter nativoNumberRange tanto para la Rotation inicial como para RotSpeedRotación inicial aleatoria por partícula; tasa de rotación aleatoria por partícula
ImageLabelNumberRange para RotRange (inicial), NumberSequence para RotSpeed, enum para RotModeEje de rotación 2D único; mismo enum OverLife/Speed
Beam, Trail(ausente)La geometría de estos tipos es fija
PointLight(ausente)Sin rotación
Tipos en espacio de pantalla(ausente)Sin rotación

Los tipos 3D tienen tres ejes de rotación independientes. El tipo 2D tiene uno. Los tipos de geometría fija no tienen ninguno.

Referencia rápida: qué tienen en común todos los tipos de emisor

Sección titulada «Referencia rápida: qué tienen en común todos los tipos de emisor»

Dos propiedades de temporización de emisión son universales en todos los tipos que emiten algo:

  • Enabled — interruptor booleano, presente en todos los tipos transformables
  • Lifetime — presente en todos los tipos transformables (con las variaciones de tipo indicadas anteriormente)

Más allá de esas dos, casi todas las propiedades tienen algún tipo que no la comparte. Ante la duda, consulta el capítulo de Particiliary específico del tipo y mira la tabla de Properties at a glance.

Esa es la referencia rápida de mismo-nombre-forma-diferente (polimorfismo). Para una cobertura más detallada de cualquier tipo específico, los capítulos de Particiliary son la fuente canónica. Los temas de FAQ restantes — y los capítulos de fundamentos sobre Enabled, EmissionMode y LinkMode — llegarán en próximas entregas de documentación.