Part
El ParticleEmitter integrado de Roblox dibuja cada partícula como un quad texturizado plano: una imagen 2D extendida entre dos triángulos. Su propiedad Orientation te ofrece cuatro formas de orientar ese quad (mirar a la cámara, mirar a la cámara con el eje vertical del mundo bloqueado, alinearse con la velocidad o correr perpendicular a la velocidad), pero la forma renderizada sigue siendo una superficie plana sin grosor. Esto es adecuado para chispas, humo, destellos y la mayoría de los efectos de estilo sprite, que se leen de forma convincente como imágenes planas.
Part es el tipo para partículas que necesitan geometría 3D real.
Cuando transformas un Part, cada partícula emitida es una malla 3D: profundidad, volumen real, total libertad de rotación en tres ejes. Una moneda modelada a medida que gira de canto. Un fragmento de vidrio con un material refractivo. Una hoja que puedes ver por detrás mientras se retuerce. Ninguno de estos se lee correctamente como sprites planos; necesitan volumen.
Este capítulo cubre todas las propiedades que Part expone: las compartidas que hereda de los capítulos de comportamientos compartidos, más sus muchas propiedades específicas del tipo para apariencia, forma y flipbooks.
Qué transforma
Sección titulada «Qué transforma»Cualquier parte visible de Roblox:
- Un
Partregular con una de las formas primitivas de Roblox: Block, Sphere, Cylinder, Wedge, CornerWedge. - Un
MeshPartcon una malla personalizada. - Un
Partcon un hijoSpecialMeshpara el formato de malla más antiguo. - Un
Partcon unSpecialMeshy unDecalpara partículas de malla texturizada.
El plugin gestiona cada uno de estos tipos internamente, pero la experiencia es la misma para ti: selecciona, haz clic en Transform, edita en el panel.
Propiedades de un vistazo
Sección titulada «Propiedades de un vistazo»La superficie completa, agrupada por sección del panel. Las filas compartidas enlazan a los capítulos compartidos; las filas específicas del tipo enlazan a anclas más abajo en esta página.
Spawning (compartido)
Sección titulada «Spawning (compartido)»| Etiqueta del panel | Atributo de datos | Tipo | Predeterminado | Qué hace |
|---|---|---|---|---|
| Rate | Rate | number | 10 | Partículas por segundo |
| Lifetime | Lifetime | NumberRange | 1 | Segundos que vive cada partícula, con variación aleatoria |
| SpreadAngle | SpreadAngle | Vector2 | (0, 0) | Cono de desviación aleatoria, en grados |
| Direction | EmissionDirection | enum | Top | Qué cara usan las partículas para salir |
| Position | PosX, PosY, PosZ | tres NumberRange | 0 | Desplazamiento aleatorio desde el centro al nacer |
| Pos. Mode | PosMode | enum | Local | Marco en el que se aplican los desplazamientos de posición |
| Orientation | Orientation | enum | None | Cómo las partículas miran a la cámara o a la velocidad |
| Z-Offset | ZOffset | number | 0 | Sesgo de profundidad de renderizado para capas |
| EmitCount | EmitCount | number | 0 | Cantidad de ráfaga de un solo disparo |
| EmitDelay | EmitDelay | number | 0 | Espera antes de la primera partícula |
| EmitDuration | EmitDuration | number | 0 | Segundos de bucle continuo tras las ráfagas iniciales. 0 omite el bucle |
Appearance (específico de Part)
Sección titulada «Appearance (específico de Part)»| Etiqueta del panel | Atributo de datos | Tipo | Predeterminado | Qué hace |
|---|---|---|---|---|
| Color | Color | ColorSequence | blanco | RGB a lo largo de la vida de cada partícula |
| Transparency | Transparency | NumberSequence | 0 | Opacidad a lo largo de la vida de cada partícula |
| Brightness | Brightness | NumberSequence | 1 | Intensidad de brillo a lo largo de la vida |
| Size | SizeX, SizeY, SizeZ | tres NumberSequence | 1 | Escala por eje a lo largo de la vida |
| Material | Material | enum | del origen | Material de superficie de Roblox |
Movement (compartido)
Sección titulada «Movement (compartido)»| Etiqueta del panel | Atributo de datos | Tipo | Predeterminado | Qué hace |
|---|---|---|---|---|
| Speed | Speed | NumberSequence | 0 | Magnitud de velocidad a lo largo de la vida |
| Acceleration | Acceleration | Vector3 | (0,0,0) | Vector de fuerza constante cada fotograma |
| Drag | Drag | number | 0 | Decaimiento exponencial de la velocidad |
| Dir. Mode | DirMode | enum | RigidLocal | Marco en el que se encuentra la dirección |
| Reverse Motion | InvertMotion | boolean | false | Reproduce la trayectoria en sentido inverso |
| Rotation | RotX, RotY, RotZ | tres NumberRange | 0 | Rotación inicial aleatoria por eje al nacer |
| Rotation Mode | RotMode | enum | OverLife | Si RotSpeed es por vida o por segundo |
| Rotation Speed | RotSpeedX, Y, Z | tres NumberSequence | 0 | Velocidad de rotación por eje |
Shape (específico de Part)
Sección titulada «Shape (específico de Part)»| Etiqueta del panel | Atributo de datos | Tipo | Predeterminado | Qué hace |
|---|---|---|---|---|
| Use shape | UseShape | boolean | false | Interruptor maestro para todo el sistema de Shape |
| Shape | Shape | enum | Box | La primitiva 3D desde la que nacen las partículas |
| Direction | ShapeInOut | enum | Outward | Hacia afuera, hacia adentro o ambas: cómo se relaciona la dirección de lanzamiento con la forma |
| Hollow | ShapePartial | number | 0 | Factor de hueco: 0 sólido, 1 cáscara hueca |
| Look at initially | LookAtInitially | boolean | false | Hace que cada partícula nazca mirando hacia la dirección exterior de la forma |
Flipbook (compartido con Beam)
Sección titulada «Flipbook (compartido con Beam)»| Etiqueta del panel | Atributo de datos | Tipo | Predeterminado | Qué hace |
|---|---|---|---|---|
| Mode | FlipbookMode | enum | OneShot | Cómo se reproducen los fotogramas |
| Framerate | FlipbookFramerate | NumberRange | 1, 1 | Fotogramas por segundo |
| StartRandom | FlipbookStartRandom | boolean | false | Fotograma de inicio aleatorio por partícula |
| Reverse | FlipbookReverse | boolean | false | Reproduce hacia atrás |
Advanced (compartido)
Sección titulada «Advanced (compartido)»| Etiqueta del panel | Atributo de datos | Tipo | Predeterminado | Qué hace |
|---|---|---|---|---|
| Anim. Steps | TotalKeyFrames | number | 100 | Pasos de muestreo de simulación por partícula |
| Linger | PartLife | number | 0 | Segundos que la partícula permanece tras Lifetime |
Propiedades de apariencia
Sección titulada «Propiedades de apariencia»Una ColorSequence: un gráfico cuyo valor en cada punto del tiempo es un color. El tinte de la partícula cambia de un color a otro a medida que envejece.
Una chispa cuyo color comienza blanco intenso y se desvanece pasando por el naranja hasta el rojo es un ejemplo clásico. En el tiempo 0, la partícula nace blanca. Hacia el tiempo 0.5, a mitad de su vida, es naranja. Hacia el tiempo 1, justo antes de morir, es roja.
El color se aplica a la partícula renderizada en combinación con el color existente de la malla de origen: ambos se multiplican. Una partícula roja sobre una malla base cuyo color es blanco se muestra roja. La misma partícula sobre una malla base que ya tiene color azul se muestra como la multiplicación de colores de los dos, lo cual rara vez es lo que quieres. Para tintes predecibles, mantén la malla de origen blanca y deja que Color controle la apariencia por completo.
El valor predeterminado es blanco sólido durante toda la vida: sin tinte.
Transparency
Sección titulada «Transparency»Una NumberSequence para la opacidad a lo largo de la vida de la partícula. 0 es completamente opaco; 1 es completamente transparente.
La forma más común es un desvanecimiento: opaco al nacer, completamente transparente al morir. Un gráfico de 0 en el tiempo 0 a 1 en el tiempo 1.
También puedes desvanecer hacia adentro: un gráfico que comienza en 1 y desciende. Las partículas “aparecen” gradualmente en lugar de surgir de golpe. Útil para efectos neblinosos.
Un gráfico que va de un lado a otro (opaco, transparente, opaco, transparente) produce partículas que pulsan entre visible e invisible. Combinado con una Speed lenta, esto es un efecto estroboscópico.
El valor predeterminado es 0: completamente opaco durante toda la vida.
Brightness
Sección titulada «Brightness»Una NumberSequence que multiplica el valor Color de la partícula para producir su color renderizado.
Importante: esto solo tiene efecto visual en Parts que llevan un hijo Decal (es decir: un Part con un SpecialMesh y un Decal, un MeshPart con un Decal, una combinación de malla texturizada). En Parts simples sin un decal, el multiplicador no tiene nada sobre lo que aplicarse (no hay color de píxel de decal que escalar) y no verás ningún cambio visual al aumentarlo.
Así funciona el mecanismo. Cuando el plugin transforma un Part con un decal, los gráficos de Color y Transparency por fotograma se escriben en las propiedades Color3 / Transparency del decal, no en el BasePart en sí. El gráfico Brightness luego multiplica los canales Color3 del decal: un Color de (1, 0.4, 0.1) (un naranja cálido) multiplicado por un Brightness de 3 produce un Color3 de decal de (3, 1.2, 0.3).
El renderizador de Roblox no recorta esos valores en silencio. Cuando los canales Color3 de un decal superan 1 (el límite normalizado de 0–255 / 255), los píxeles renderizados comienzan a brillar: superan el blanco hacia un bloom de estilo HDR que interactúa fuertemente con BloomEffect y la iluminación de material Neon. Ese es el “brillo” que se obtiene al aumentar Brightness. Es una peculiaridad de renderizado de cómo Roblox maneja valores de color fuera de rango en los decals, y el plugin la usa deliberadamente para dar a los Parts con decal un canal de brillo controlable sin un cambio de material adicional.
Valores útiles:
1(el predeterminado): sin multiplicación; el decal se renderiza a su valor deColor.0.5: media intensidad; el decal se ve tenue, útil para brasas que se desvanecen.2a4: lleva los canales más brillantes del decal por encima de1, produciendo un brillo visible en esos canales. Los decals blancos brillan de forma uniforme; los decals de colores brillan en los canales que ya eran altos (un decal rojo con Brightness3brilla en rojo, no en blanco).>4: se satura rápidamente; el brillo tiende a leerse como blanco sólido pasado cierto umbral y se pierde la identidad del color.
Un gráfico típico de “chispa de energía”: lanzar con brillo 2.5 (brillo intenso), desvanecer a 0.5 (brasa tenue) al morir. Combinado con un gráfico Color que se desvanece de blanco a rojo y un gráfico Transparency que se desvanece de opaco a invisible, obtienes el aspecto clásico de estela de brasas, pero solo porque la malla de origen usa un decal como superficie visible.
Para Parts sin decals (Parts Block simples, formas primitivas sencillas, MeshParts cuyo color de material se establece directamente sin un hijo decal), opta por el Material = Neon de Roblox más un emisor Bloom para el mismo efecto de brillo: esa ruta no depende del mecanismo del multiplicador de decal.
El valor predeterminado es 1: sin multiplicación.
Etiqueta en la interfaz: Size. Atributos de datos: SizeX, SizeY, SizeZ.
Tres gráficos NumberSequence independientes para la escala por eje a lo largo de la vida de la partícula. El panel de propiedades los muestra como una sola fila etiquetada “Size” con selectores de gráfico X/Y/Z.
Esta es una de las ventajas de Part sobre ParticleEmitter, cuyo propio Size es un único Vector2 (ancho y alto del quad plano, sin eje de profundidad que escalar). Con tres ejes, puedes estirar una partícula en una dirección sin cambiar las otras dos. Una llama que crece en altura mientras se mantiene estrecha usa SizeY creciente mientras SizeX y SizeZ permanecen constantes. Una chispa que se aplana en una estela al envejecer usa SizeY decreciente mientras SizeX crece.
Un valor de escala de 1 significa que la partícula tiene el mismo tamaño que la línea base del Part de origen. 0.5 es la mitad. 2 es el doble.
Los tres tienen un valor predeterminado de 1: tamaño uniforme e invariable. Recúrrelos cuando el efecto visual necesite una escala no uniforme.
Los valores se aplican multiplicativamente al tamaño del Part de origen. Una malla de origen de 0.5,0.5,0.5 que emite con SizeX = 2 produce partículas de 1.0 de ancho en el eje X (0.5 × 2).
Material
Sección titulada «Material»El material de superficie de Roblox de cada partícula emitida. El panel del plugin expone un subconjunto seleccionado de Enum.Material: Plastic, SmoothPlastic, Neon, Glass, Metal, DiamondPlate, Foil, Brick, Concrete, Granite, Marble, Slate, Wood, WoodPlanks, Fabric, Ice, Sand, Grass, Pebble, Rock (los materiales de superficie visible). Los materiales exclusivos de terreno (Air, Water, Asphalt, Basalt, etc.) no son seleccionables porque no se aplican al renderizado de partículas.
Cuando transformas un Part, el Material del origen se convierte en el predeterminado para las partículas emitidas. Puedes anularlo por emisor si quieres que las partículas emitidas usen un material diferente al de la fuente de autoría.
Esta es una característica exclusiva de Part. ParticleEmitter no expone ninguna propiedad Material en absoluto: sus partículas son quads texturizados planos, alimentados por una imagen Texture en lugar de un material de superficie 3D. Los emisores Part conservan el pipeline de renderizado 3D completo, incluido el material, de modo que una partícula Neon brilla con el shader neon de Roblox, una partícula Glass refracta, y una partícula ForceField mantiene su patrón de desplazamiento.
Para partículas que necesitan un aspecto específico, establece primero el Material de la malla de origen; las partículas emitidas lo heredan. Para anularlo en el momento de la emisión sin cambiar el origen, usa el campo Material del panel.
Propiedades de forma
Sección titulada «Propiedades de forma»El sistema Shape controla la región desde la que nacen las partículas y, para formas que no son Box, la dirección radial hacia la que se lanzan. La forma es independiente de la malla real del Part: Shape = Sphere no hace que la partícula visual sea una esfera; hace que la región de nacimiento sea esférica.
Use shape
Sección titulada «Use shape»Etiqueta en la interfaz: Use shape. Atributo de datos: UseShape.
El interruptor maestro del sistema Shape. Desactivado (el predeterminado) emite cada partícula en el origen del Part sin desplazamiento espacial, sin dirección radial y sin orientación impulsada por la forma: solo los ajustes habituales PosX/PosY/PosZ, RotX/RotY/RotZ y EmissionDirection modelan la salida.
Activado expone el resto de la sección Shape (Shape, Direction, Hollow, Look at initially) y enruta la emisión a través de la primitiva de forma que elijas. Con Use shape desactivado, todos esos campos quedan inertes.
La primitiva 3D desde la que nacen las partículas. Un enum: Box, Sphere, Cylinder, Disc.
Las dimensiones de la forma provienen del propio Part de origen: el mismo Part que transformaste, que también es el padre de RenderTemplate. Redimensiona el Part de origen y la región de nacimiento se redimensiona con él. No hay un campo Size separado para la forma de nacimiento; siempre se deriva del .Size del Part de origen.
Box (el predeterminado): las partículas nacen en cualquier lugar dentro de una caja que coincide con la región de bounding local del Part.
Casos de uso: columnas de humo que ascienden desde una chimenea (una caja alta y estrecha), ráfagas de confeti desde una losa horizontal plana (una caja ancha y plana), campos de nacimiento donde la región visual coincide exactamente con la geometría del Part.
Sphere: las partículas nacen dentro de una región esférica. El radio es la mitad de la dimensión X del Part (Size.X / 2). Si el Part no es aproximadamente cúbico, solo la dimensión X determina la esfera: Y y Z se ignoran para el radio.
Casos de uso: ondas de choque de explosión que emanan hacia afuera desde un punto central, halos de lanzamiento de hechizos donde las partículas se materializan sobre una esfera delimitadora, núcleos atmosféricos llenando un volumen aproximadamente esférico alrededor de un artefacto mágico. Combina Sphere con Hollow = 1 para obtener solo la piel exterior de la esfera: partículas que se materializan en una burbuja invisible.
Cylinder: una región tubular. Su altura corre a lo largo del eje Y local del Part (Size.Y); su sección transversal circular usa el radio Size.X / 2. La orientación del cilindro está fijada a los propios ejes del Part.
Casos de uso: pilares de luz o niebla (cilindro alto y estrecho, partículas que nacen en todo el interior); columnas de escombros en caída; un haz de partículas con base plana que emana hacia arriba desde una base circular. Combina con Hollow = 1 para obtener una cáscara tubular: partículas solo en la superficie curva del cilindro, útil para conductos mágicos de tubo hueco.
Disc: una región circular plana en el plano X-Z local del Part, con radio Size.X / 2. Al igual que Cylinder, el plano del disco está fijado a los ejes locales del Part.
Casos de uso: agua de fuente que se extiende desde una cuenca circular, escombros que se levantan por el impacto circular de un aterrizaje, niebla a ras del suelo que nace en una zona plana. Combina con Hollow = 1 para obtener solo el anillo exterior del disco: partículas que se materializan en el borde del círculo, útil para efectos de halo o círculos de invocación.
Para la mayoría de las creaciones, Box es la opción correcta. Recurre a las otras cuando la forma de la región de nacimiento en sí misma impulsa el efecto visual: partículas de fuente que nacen desde un disco circular en el suelo, humo que nace desde un núcleo esférico.
Direction
Sección titulada «Direction»Etiqueta en la interfaz: Direction. Atributo de datos: ShapeInOut.
Cómo se relaciona la dirección de lanzamiento de cada partícula con el eje radial natural de la forma. Un enum: Outward, Inward, InAndOut.
Outward (el predeterminado): cada partícula se lanza alejándose del centro de la forma a lo largo del eje radial. Una Sphere con Direction = Outward dispara cada partícula hacia afuera desde el centro: la clásica forma de explosión.
Inward: las partículas se lanzan hacia el centro. Una Sphere con Direction = Inward implosiona: las partículas convergen en el punto central. Útil para efectos de carga donde la energía colapsa hacia adentro antes de una liberación.
InAndOut: una moneda al aire 50/50 por partícula: la mitad va hacia afuera, la mitad hacia adentro. Produce un patrón bidireccional más denso útil para campos de escombros o nubes de chispas ambientales donde la dirección no debe ser uniforme.
El eje radial para cada forma: Sphere usa el punto de nacimiento de cada partícula relativo al centro; Cylinder y Disc usan el vector radial en el plano desde el eje del cilindro/disco hasta el punto de nacimiento.
Etiqueta en la interfaz: Hollow. Atributo de datos: ShapePartial.
Un número de 0 a 1 que controla qué parte del volumen de la forma está rellena. 0 (el predeterminado) es completamente sólido: las partículas pueden nacer en cualquier lugar dentro. 1 es una cáscara hueca: solo se usa el límite. Los valores intermedios producen cáscaras parciales.
Hollow = 0.7 en una esfera significa que las partículas nacen dentro del 30% exterior del volumen de la esfera: una cáscara hueca con grosor. Útil para efectos atmosféricos que deben tener profundidad sin estar completamente rellenos.
Hollow = 1 es la elección correcta para efectos «solo en el límite»: círculos de hechizo que se materializan en el borde del disco, partículas tipo pompa de jabón solo en la superficie de una esfera, tubos huecos de partículas formando la piel curva de un cilindro.
Para la mayoría de los usos, deja Hollow en 0.
Look at initially
Sección titulada «Look at initially»Etiqueta en la interfaz: Look at initially. Atributo de datos: LookAtInitially.
Un booleano. Cuando está activado, la rotación inicial de cada partícula al nacer se establece de modo que mire hacia la dirección exterior de la forma en su punto de nacimiento: útil cuando quieres que las partículas irradien visiblemente desde el centro de la forma, con su eje frontal apuntando hacia donde viajarán.
Con el interruptor desactivado (el predeterminado), las partículas heredan la rotación del emisor como orientación base y luego aplican RotX/RotY/RotZ por encima.
Esto es más visible en formas Box donde la dirección «exterior» de la forma varía por punto de nacimiento: activar Look at initially le da a una explosión Box el aspecto de escombros irradiando desde el centro en lugar de cada fragmento mirando en la misma dirección. En Sphere/Cylinder/Disc se aplica el mismo principio: las partículas se alinean con el eje radial a lo largo del cual se lanzarán.
Look at initially solo se aplica cuando Use shape está activado.
Vale la pena saber
Sección titulada «Vale la pena saber»Varias particularidades específicas de Part que vale la pena mencionar.
El duplicado hereda Anchored, CanCollide y otras marcas de física del Render Template. Transform establece Anchored = true y CanCollide = false en el Render Template de forma predeterminada, para que las partículas emitidas no caigan por la gravedad (bien: Acceleration lo gestiona explícitamente) y no colisionen con el mundo (bien: las partículas son visuales, no físicas).
Si necesitas física diferente (un efecto de “metralla” donde las partículas sí deben colisionar y caer), establece esos valores directamente en el RenderTemplate. El plugin no anula tus ediciones en la plantilla: copia lo que haya allí en cada emisión.
Las partículas de malla cuestan más que las partículas Block. Un emisor basado en MeshPart es más costoso por partícula que un emisor con forma de Part regular: el motor tiene que duplicar los datos de la malla (o contar referencias al asset de malla existente), configurar su renderizado, etc. Para emisores de alta frecuencia, prefiere formas primitivas simples.
Las partículas basadas en SpecialMesh pueden superponer texturas. Un Part con un hijo SpecialMesh más un Decal te proporciona una malla personalizada texturizada, útil cuando tienes una forma personalizada con una textura personalizada que no encaja del todo con el modelo de “una textura por malla” de MeshPart.
La región de nacimiento de forma es local al Part. Rotar el Part rota la región de nacimiento con él (ya que Pos. Mode tiene Local como predeterminado). Un emisor giratorio con una región de nacimiento en forma de disco produce automáticamente un efecto de remolino.
Qué sigue
Sección titulada «Qué sigue»Attachment es el siguiente tipo. Funciona de forma casi idéntica a Part en cuanto al movimiento, pero tiene una relación diferente con su padre: su posición es local al padre, lo que te proporciona emisión en el marco del padre de forma gratuita sin ninguna configuración de vinculación.