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.
Brightness
Sección titulada «Brightness»| Tipo | Tipo de dato | Significado |
|---|---|---|
Part | NumberSequence (gráfico) | Multiplicador de brillo durante la vida de cada partícula |
Beam | NumberSequence (gráfico, atributo BeamBrightness) | Multiplicador de brillo durante la vida de cada emisión |
PointLight | NumberSequence (gráfico, atributo PLBrightness) | Multiplicador de intensidad de luz durante la vida |
Trail | number (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 nativo | number (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.
| Tipo | Tipo de dato | Significado |
|---|---|---|
Part, Attachment, Model | NumberSequence (gráfico) | Magnitud de velocidad durante la vida de cada partícula, en studs/seg |
ParticleEmitter nativo | NumberRange (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 |
ImageLabel | NumberSequence (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.”
Lifetime
Sección titulada «Lifetime»| Tipo | Tipo de dato | Significado |
|---|---|---|
Part, Attachment, Model, Beam, PointLight | NumberRange (rango) | Tiempo de vida aleatorio por partícula, elegido al generarse |
Trail | number (valor único) | Tiempo de vida por segmento, constante para todos los segmentos |
ParticleEmitter nativo | NumberRange (rango) | Igual que los tipos transformados |
| Tipos en espacio de pantalla | NumberRange (rango) | Tiempo de vida aleatorio del clon por emisión |
ImageLabel | NumberRange (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.
Color y Transparency
Sección titulada «Color y Transparency»| Tipo | Tipo de dato | Significado |
|---|---|---|
Part, Attachment, Model, PointLight, ImageLabel | ColorSequence / NumberSequence (gráfico) | Por partícula, animado durante la vida de la partícula |
Trail | ColorSequence / 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 nativo | ColorSequence / NumberSequence (gráfico) | Por partícula, animado durante la vida |
Atmosphere | ColorSequence (gráfico) | Por emisión, animado durante el ciclo. Atmosphere tiene dos propiedades ColorSequence: Color y Decay. |
ColorCorrection | NumberSequence para Brightness/Contrast/Saturation; ColorSequence para TintColor | Grá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.
Desplazamientos de posición
Sección titulada «Desplazamientos de posición»| Tipo | Tipo de dato | Significado |
|---|---|---|
Part, Attachment, Model | tres NumberRange (PosX, PosY, PosZ) | Desplazamiento aleatorio por eje desde el centro del origen al generarse, en studs |
ImageLabel | UDim2 (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.
| Tipo | Tipo de dato | Significado |
|---|---|---|
Part, Attachment | tres NumberSequence (SizeX, SizeY, SizeZ) | Multiplicador por eje sobre el Size del origen, animado durante la vida |
Model | NumberSequence (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 |
Trail | NumberSequence (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 nativo | NumberSequence (gráfico único) | Tamaño de billboard 2D uniforme, animado por partícula |
ImageLabel | UDim2 para la base + gráficos SizeScaleX/SizeScaleY para multiplicadores por eje | Combinació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.
EmitDuration
Sección titulada «EmitDuration»| Tipo | Tipo de dato | Formato |
|---|---|---|
Part, Attachment, Model, Beam, PointLight, ImageLabel, espacio de pantalla | number | Segundos de bucle continuo tras las ráfagas iniciales de EmitCount. 0 omite el bucle. |
Trail | string | Un ú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 nativo | number (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.
Dirección (EmissionDirection)
Sección titulada «Dirección (EmissionDirection)»| Tipo | Tipo de dato | Significado |
|---|---|---|
Part, Attachment, Model | enum (NormalId) | Qué cara del marco del origen lanzan partículas (Top, Bottom, etc.) |
ParticleEmitter nativo | enum (NormalId) | Igual que el anterior |
ImageLabel | EmissionAngle (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.
RotMode y rotación
Sección titulada «RotMode y rotación»| Tipo | Tipo de dato | Significado |
|---|---|---|
Part, Attachment, Model | tres gráficos NumberSequence (RotSpeedX/Y/Z) | Velocidad de rotación por eje |
Enum RotMode | OverLife (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 nativo | NumberRange tanto para la Rotation inicial como para RotSpeed | Rotación inicial aleatoria por partícula; tasa de rotación aleatoria por partícula |
ImageLabel | NumberRange para RotRange (inicial), NumberSequence para RotSpeed, enum para RotMode | Eje 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 transformablesLifetime— 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.
Qué sigue
Sección titulada «Qué sigue»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.