Beam
Un Beam no vuela por el espacio. Conecta Attachment0 con Attachment1 mediante una línea texturizada y permanece ahí. Dos extremos, una línea — geometría fija entre ellos.
Entonces, ¿qué significa “emitir” para un Beam?
Significa animar el aspecto. Cada emisión produce un duplicado del Beam fuente anclado a los mismos dos attachments. El motor ejecuta un conjunto de gráficas de propiedades durante la vida del duplicado — el ancho se hincha, la textura se desplaza, el color cambia — y lo destruye cuando se acaba el tiempo. La geometría nunca se mueve. La textura, el ancho, el color, la curva y la iluminación sí lo hacen.
Esto es suficientemente distinto de Part como para que la superficie de propiedades también sea diferente. Sin Speed. Sin Acceleration. Sin Drag. Sin Size en tres ejes. Los Beams no van a ningún lado; nada relacionado con velocidad o trayectoria aplica. En cambio, obtienes gráficas para las cualidades visuales del beam en sí — y una característica exclusiva de este tipo, el GraphBlender, que te permite crear múltiples estados de Color y Transparency a lo largo de la vida de un único beam.
Qué transforma
Sección titulada «Qué transforma»Cualquier instancia Beam de Roblox — siempre que tenga Attachment0 y Attachment1 válidos configurados como extremos. Ese es un requisito del motor de Roblox: un Beam sin dos attachments no se renderiza. El plugin no añade ni sobreescribe los attachments; usa los que ya hayas conectado antes de hacer clic en Transform.
Si los attachments faltan o se desconectan después de Transform, los duplicados emitidos se renderizarán de forma invisible. Comprueba primero el Attachment0/Attachment1 del Beam fuente cuando un efecto de beam no aparezca.
Propiedades de un vistazo
Sección titulada «Propiedades de un vistazo»La superficie completa de propiedades, agrupada por sección del panel. Beam comparte mucho menos con los tipos del workspace que Part o Attachment.
Spawning (subconjunto específico de Beam)
Sección titulada «Spawning (subconjunto específico de Beam)»| Etiqueta del panel | Atributo de datos | Tipo | Por defecto | Qué hace |
|---|---|---|---|---|
| Mode | EmissionMode | enum | Emit | Emit (duplicados) o Animate (bucle in situ en el fuente) |
| Loop | AnimateLoop | boolean | false | Si el modo Animate repite el ciclo |
| Enabled | Enabled | boolean | false | Activado/desactivado maestro |
| Rate | Rate | number | 10 | Duplicados de Beam por segundo |
| Lifetime | BeamLifetime | NumberRange | 1 | Segundos que cada duplicado se anima antes de que el motor lo destruya |
Eso es todo para Spawning. Sin SpreadAngle, sin Direction, sin rangos de Position, sin Pos. Mode, sin Orientation — los beams no tienen un cono de emisión ni una posición que calcular porque los duplicados siempre se anclan a los mismos dos attachments que el fuente.
Appearance (específico de Beam)
Sección titulada «Appearance (específico de Beam)»| Etiqueta del panel | Atributo de datos | Tipo | Por defecto | Qué hace |
|---|---|---|---|---|
| Texture | Texture | string (asset id) | del fuente | La imagen de textura pintada a lo largo del beam |
| Brightness | BeamBrightness | NumberSequence | 1 | Gráfica multiplicadora del brillo |
| Width0, Width1 | Width0, Width1 | dos NumberSequence | 1 | Grosor del beam en cada extremo, a lo largo de la vida |
| LightEmission | LightEmission | NumberSequence | 0 | Auto-iluminación (mezcla aditiva) a lo largo de la vida |
| LightInfluence | BeamLightInfluence | NumberSequence | 0 | Cuánto afecta la iluminación de la escena al beam, a lo largo de la vida (Transform fuerza 0; ver descripción) |
Geometry (específico de Beam)
Sección titulada «Geometry (específico de Beam)»| Etiqueta del panel | Atributo de datos | Tipo | Por defecto | Qué hace |
|---|---|---|---|---|
| CurveSize0, CurveSize1 | CurveSize0, CurveSize1 | dos NumberSequence | 0 | Longitudes de los manejadores bezier para la trayectoria curva del beam |
| Segments | Segments | NumberSequence | 10 | Cantidad de teselación a lo largo de la vida — más segmentos, curva más suave |
| TextureLength | TextureLength | NumberSequence | 1 | Qué distancia cubre un tile de textura a lo largo del beam |
| TextureSpeed | TextureSpeed | NumberSequence | 1 | Velocidad de desplazamiento de la textura a lo largo del beam |
| TextureMode | BeamTextureMode | enum | Stretch | Cómo encaja la textura en el beam — Stretch, Wrap, Static |
| Z-Offset | ZOffset | number | 0 | Desplazamiento de profundidad de renderizado para capas |
| FaceCamera | FaceCamera | boolean | false | Cuando está activado, el beam se reorienta cada fotograma para mirar a la cámara, como un billboard |
Flipbook (compartido con Part — carpeta separada)
Sección titulada «Flipbook (compartido con Part — carpeta separada)»| Etiqueta del panel | Atributo de datos | Tipo | Por defecto | Qué hace |
|---|---|---|---|---|
| Mode | BeamFlipbookMode | enum | OneShot | Cómo se reproducen los fotogramas |
| Framerate | BeamFlipbookFramerate | NumberRange | 1, 1 | Fotogramas por segundo |
| StartRandom | BeamFlipbookStartRandom | boolean | false | Fotograma inicial aleatorio por duplicado |
| Reverse | BeamFlipbookReverse | boolean | false | Reproduce hacia atrás |
Advanced (subconjunto específico de Beam)
Sección titulada «Advanced (subconjunto específico de Beam)»| Etiqueta del panel | Atributo de datos | Tipo | Por defecto | Qué hace |
|---|---|---|---|---|
| Anim. Steps | TotalKeyFrames | number | 100 | Resolución de premuestreo para las gráficas |
| Emit Into | EmitParent | Instance | nil | Dónde se emparentan los duplicados — sobreescribe el valor por defecto |
| PreloadTexture | PreloadTexture | boolean | false | Fuerza la carga de la textura antes de que comience la emisión |
Blender (exclusivo de Beam)
Sección titulada «Blender (exclusivo de Beam)»Una sección de interfaz expandible, no una tabla de propiedades. Cada entrada es un estado — un Time más una gráfica de Color más una gráfica de Transparency. El botón + Add State crea un nuevo estado; la lista de estados muestra todos los estados actuales. Se describe en detalle en GraphBlender más adelante.
Propiedades visuales en detalle
Sección titulada «Propiedades visuales en detalle»Texture
Sección titulada «Texture»La imagen pintada a lo largo del beam. Un asset id de Roblox (rbxassetid://...) o una URL estilo Decal/Texture. Cada duplicado hereda el Texture del Beam fuente en el momento de la emisión — es un valor único, no una gráfica.
Para animar el aspecto de la textura a lo largo de la vida, usa TextureSpeed (desplazamiento), TextureLength (tamaño del tile), o el sistema Flipbook (ciclar entre múltiples texturas).
Brightness
Sección titulada «Brightness»Una gráfica NumberSequence que multiplica el brillo renderizado del beam a lo largo de su vida. Mismo papel que el Brightness de Part — valores superiores a 1 hacen que el beam brille con más intensidad, valores inferiores a 1 lo oscurecen.
El atributo de datos se llama BeamBrightness en lugar de Brightness para evitar colisionar con el Beam.Brightness nativo de Roblox. El plugin lee el valor del panel en BeamBrightness y lo aplica mediante la gráfica en cada fotograma.
Width — Width0, Width1
Sección titulada «Width — Width0, Width1»El grosor del beam en cada extremo. Ambos son gráficas NumberSequence, evaluadas en cada fotograma según la edad actual del duplicado.
Un beam que se hincha a mitad de vida usa una gráfica que sube de 0 hasta 2 y vuelve a bajar a 0. Un beam que es ancho en un extremo y afilado en el otro usa un Width0 = 2 constante y un Width1 = 0.2 constante. Un beam pulsante usa una gráfica oscilatoria.
Los dos extremos son independientes. El plugin no impone anchos iguales — eso es una decisión estética. Para un beam de ancho uniforme, establece ambas gráficas al mismo valor.
LightEmission
Sección titulada «LightEmission»Una NumberSequence para la auto-iluminación — cuánta parte del beam se renderiza con mezcla aditiva, ignorando la iluminación de la escena. 0 es mezcla normal; 1 es totalmente aditivo (el beam aparece como si estuviera iluminado internamente). Útil para efectos de láser, rayo y energía donde el beam debe parecer ser la fuente de luz.
LightInfluence
Sección titulada «LightInfluence»Una NumberSequence para cuánto afecta la iluminación de la escena al beam. 1 significa integración completa de la iluminación (el beam se oscurece en sombras); 0 significa que el beam ignora la iluminación por completo (siempre se renderiza con su brillo base, independientemente de dónde esté).
Transform del plugin fuerza LightInfluence = 0 en cada Beam por defecto, y la herramienta Fix vuelve a aplicar esa sobreescritura. Razón: la mayoría de los efectos de beam (láseres, magia, energía) quieren que el beam tenga el mismo aspecto independientemente de dónde esté en la escena. La integración de iluminación manual produce beams sombreados que se perciben como objetos físicos, lo cual raramente es lo que quiere un artista de VFX. Ajusta la gráfica de vuelta a 1 si genuinamente necesitas integración de iluminación.
Propiedades de geometría en detalle
Sección titulada «Propiedades de geometría en detalle»CurveSize — CurveSize0, CurveSize1
Sección titulada «CurveSize — CurveSize0, CurveSize1»Dos gráficas NumberSequence que controlan la curvatura bezier del beam entre sus dos extremos. 0 es una línea recta. Los valores positivos hacen que el beam se curve hacia afuera en la dirección del vector Up de cada attachment. Los dos valores controlan la curvatura cerca de cada extremo de forma independiente.
Un beam ondulante usa gráficas de CurveSize oscilatorias. Un beam en forma de arco (arcoíris, arco de plasma) usa un CurveSize0 = CurveSize1 = 5 constante. Un láser recto usa 0 en ambos durante toda la vida.
Segments
Sección titulada «Segments»Una NumberSequence para la fineza de teselación del beam. Más segmentos significan curvas más suaves a costa de un mayor número de vértices. El motor limita el valor en tiempo de ejecución a un mínimo de 20 segmentos — bajar de eso produce pliegues visibles.
Para beams rectos, los valores bajos (10–20) funcionan bien. Para beams curvados, sube hasta 40–80 dependiendo de lo cerrada que sea la curva.
TextureLength
Sección titulada «TextureLength»La longitud, en studs, que un tile de textura cubre a lo largo del beam. Los valores más pequeños empaquetan más tiles; los valores más grandes estiran cada tile. Combinado con TextureSpeed, controla la velocidad aparente del desplazamiento.
Un Texture de un patrón de repetición única (una raya, un chevron) con TextureLength = 1 produce un tiling apretado. La misma textura con TextureLength = 5 se ve cinco veces más ancha por tile.
TextureSpeed
Sección titulada «TextureSpeed»Una NumberSequence para la velocidad a la que la textura se desplaza a lo largo del beam, en studs por segundo.
El plugin te ofrece un desplazamiento independiente de la frecuencia de fotogramas: el beam se desplaza a la velocidad visual correcta independientemente de los FPS, porque las matemáticas se integran a lo largo del tiempo, no se calculan por fotograma. Un jugador a 30 FPS y uno a 144 FPS ven la misma velocidad de desplazamiento.
Un beam con TextureSpeed = 0 no se desplaza. Con un 5 constante se desplaza a cinco studs por segundo a lo largo del beam. Con una gráfica que sube de 0 hasta 20, el beam comienza quieto y acelera hasta un desplazamiento rápido a lo largo de su vida — útil para efectos de carga o arranque.
TextureMode
Sección titulada «TextureMode»Cómo encaja la textura en el beam. Un enum tomado del Enum.TextureMode de Roblox: Stretch, Wrap, Static. La elección cambia tanto cómo se distribuye la textura a lo largo del beam como cómo se percibe visualmente TextureSpeed cuando el beam se desplaza.
Stretch (por defecto)
Sección titulada «Stretch (por defecto)»La textura se escala para ajustarse exactamente a la longitud total del beam una sola vez. TextureLength se ignora — solo hay un tile, y siempre es todo el beam.
Casos de uso:
- Un beam texturizado donde el diseño debe leerse como una sola imagen — un sigilo mágico cuyas runas abarcan todo el beam, una bandera con un patrón que va de extremo a extremo.
- Beams cuya longitud varía drásticamente por emisión. Stretch mantiene el diseño reconocible independientemente de la longitud; Wrap cambiaría cuántos tiles caben y podría leerse de forma inconsistente.
- Rayos con una forma prediiseñada. Una textura pintada como una única silueta irregular se estira para ajustarse a cada beam.
La textura se repite a lo largo del beam, con TextureLength controlando el tamaño del tile. Combinado con TextureSpeed, este es el modo para visuales en movimiento a lo largo del beam.
Casos de uso:
- Láseres y corrientes de energía. Un patrón corto de repetición (chevrones, bandas de luz, una forma de onda cambiante) en tiles a lo largo del beam se percibe como flujo continuo cuando se desplaza con
TextureSpeed. - Texto mágico o bandas de runas. Glifos repetidos que se desplazan a lo largo del beam — útil para visuales de encantamientos, líneas conductoras, amarres rúnicos.
- Cables pulsantes. Un patrón de repetición más oscuro y más claro con
TextureSpeeddistinto de cero produce pulsos visibles que viajan a lo largo del beam — como un conducto de energía con electricidad fluyendo por él. - Rayas / chevrones que indican dirección. Las rayas diagonales que se desplazan a alta velocidad con
TextureSpeeddan una fuerte señal direccional (“fluye hacia allá”).
La textura está anclada en el espacio del mundo, no al beam en sí. A medida que el beam se mueve por el mundo, la coordenada de textura parece deslizarse bajo el beam — el mundo permanece fijo, y el beam revela diferentes partes de la textura a medida que pasa sobre ellas.
Casos de uso:
- Beams que “pasan a través” de un patrón fijo. Un láser dibujado sobre un fondo estático de campo de energía que el beam parece revelar en lugar de transportar.
- Fondos visibles solo a lo largo del camino del beam. Un degradado arremolinado anclado al mundo; el beam actúa como una ventana hacia él.
- Efectos de transparencia. Cualquier cosa que deba percibirse como si el beam fuera transparente con un patrón bloqueado al mundo visible debajo.
La mayoría de los efectos de beam usan Wrap (para streams animados típicos) o Stretch (para diseños de extremo a extremo). Static es la opción especializada — úsala cuando la semántica visual es “el beam revela lo que hay” en lugar de “el beam lleva la textura consigo.”
FaceCamera
Sección titulada «FaceCamera»Un toggle. Por defecto es false. Cuando está activado, el beam se reorienta en cada fotograma para que su superficie mire a la cámara — la línea en sí permanece entre los dos attachments, pero el lado plano de la cinta texturizada se gira hacia el espectador. Cuando está desactivado (el valor por defecto), el beam tiene una orientación fija en el espacio del mundo; rotar la cámara puede revelar el beam de canto, donde desaparece.
Para la mayoría de los efectos de beam, activa FaceCamera. El valor por defecto desactivado tiene sentido cuando estás construyendo estructuras tipo malla 3D donde la orientación debe ser física (un escudo plano dibujado con un Beam, por ejemplo), pero para efectos de beam típicos (láser, rayo, corriente mágica) casi siempre querrás tenerlo activado.
Emit Into
Sección titulada «Emit Into»Un campo Instance — el padre de los beams duplicados emitidos. Por defecto es la misma carpeta en la que está el Beam fuente. Sobreescribirlo te permite recoger las partículas de beam en un contenedor separado, de la misma manera que EmitParent funciona para Part.
PreloadTexture
Sección titulada «PreloadTexture»Un toggle. Cuando está activado, el plugin llama a ContentProvider:PreloadAsync() de Roblox sobre el Texture antes de que comience la emisión, asegurando que el asset esté cargado antes de que aparezca la primera partícula de beam. Útil cuando la primera emisión forma parte de una temporización cinemática precisa — sin precarga, los primeros beams pueden renderizarse sin textura durante uno o dos fotogramas mientras el asset se descarga.
Para la mayoría de los casos de uso, déjalo desactivado. La descarga por defecto de Roblox suele ser suficientemente rápida.
GraphBlender
Sección titulada «GraphBlender»Color y Transparency funcionan de forma diferente para Beam que para cualquier otro tipo. No hay una sola gráfica de Color ni una gráfica de Transparency en un Beam. Hay una carpeta GraphBlender con uno o más estados, cada uno definiendo una gráfica de Color y una gráfica de Transparency y el momento de vida en que ese estado está “activo.” El motor interpola entre estados adyacentes de forma lineal.
Esto existe porque los beams routinely necesitan cambios dramáticos de color y opacidad en momentos específicos de su vida — un rayo que pasa de azul a blanco a rojo, un láser que se carga en azul y se descarga en amarillo, un fade-in que hace un crossfade entre dos rampas de color distintas. Un único ColorSequence no captura eso bien; necesitarías muchos puntos clave detallados o una forma complicada. Múltiples estados es más limpio.
Estructura
Sección titulada «Estructura»Cuando transformas un Beam, el plugin crea una carpeta GraphBlender como hijo del Beam fuente y la inicializa con un estado — un Configuration llamado 1, con Time = 0, el Color y Transparency actuales del Beam fuente, y un flag interno _AutoTime configurado para que los clics posteriores en + Add State sepan redistribuir los tiempos de forma uniforme. De serie, ese único estado inicial hace que el Beam funcione exactamente como un Beam normal de Color / Transparency hasta que añadas más estados.
Cada estado es una instancia Configuration dentro de la carpeta GraphBlender, con tres atributos:
Time— un número de0a1que representa en qué punto de la vida de la partícula aplica este estado.0es el nacimiento,1es la muerte.Color— unColorSequence, la gráfica de color para este estado.Transparency— unNumberSequence, la gráfica de transparencia para este estado.
El plugin ordena los estados por Time ascendente en la emisión, independientemente de cómo estén nombrados. Los nombres de estado por defecto son 1, 2, 3 pero el orden que dirige la interpolación es el valor de Time.
Add State, en detalle
Sección titulada «Add State, en detalle»Hacer clic en + Add State distribuye los valores de Time de los estados existentes de forma uniforme a lo largo de [0, 1]: un solo estado en 0 se convierte en [0, 1], luego [0, 0.5, 1], luego [0, 0.33, 0.66, 1], y así sucesivamente. La redistribución solo afecta a los estados cuyo Time fue colocado por el propio Add State — si has reajustado manualmente el tiempo de un estado (escribiendo un número en su campo Time), ese valor personalizado se mantiene en los clics posteriores de Add State. Eliminar un estado renumera los nombres de los estados restantes secuencialmente para que el panel siempre muestre 1, 2, 3, ….
El campo Time valida la entrada. Los valores fuera de [0, 1], o valores que colisionan con el Time de otro estado, se muestran en rojo y vuelven al número válido anterior — no hay forma de acabar silenciosamente con dos estados compartiendo el mismo Time o un estado en Time = 1.5.
Interpolación
Sección titulada «Interpolación»En cada fotograma, el motor evalúa la edad t del duplicado (un valor de 0 a 1 — elapsed / Lifetime). Encuentra los dos estados cuyos valores de Time encuadran a t y produce un gradiente mezclado entre ellos, ponderado por la cercanía de t a cada estado. El gradiente mezclado se aplica entonces al Color y Transparency del beam para ese fotograma. El mismo algoritmo para ambos.
La interpolación es lineal entre estados adyacentes. Con la forma de creación típica — un estado en Time = 0 y otro en Time = 1 (Add State produce esto por defecto para dos estados) — cada valor de t en la vida cae dentro del rango, y no hay ningún caso fuera de rango en el que pensar. Si creas tus estados de tal manera que el Time del primero sea mayor que 0, el gradiente renderizado para la primera parte de la vida no está bien definido; mantén al menos un estado en Time = 0. Del mismo modo, mantén un estado en Time = 1 para que el gradiente del fotograma de muerte sea el que hayas creado. Para una descripción de más alto nivel de cómo el motor renderiza beams con múltiples estados, consulta GraphBlender Math.
Casos extremos
Sección titulada «Casos extremos»- Cero estados (carpeta
GraphBlendervacía, o sin carpeta en absoluto) — solo ocurre si un estado se elimina manualmente o la carpeta se edita a mano; Transform siempre inicializa al menos un estado. Con cero estados, el motor omite la animación de color y transparencia por completo. El Beam se renderiza con suColoryTransparencynativos (los valores que verías en el Beam fuente en el panel de propiedades de Studio) y mantiene esos valores durante cada emisión. - Un estado — sin interpolación; el motor evalúa las gráficas del único estado directamente en cada fotograma. Se comporta de forma idéntica a un hipotético modo “Color y Transparency de gráfica única”.
- Muchos estados — interpolación completa de múltiples estados como se describe.
Un ejemplo trabajado: un rayo
Sección titulada «Un ejemplo trabajado: un rayo»Quieres un rayo que:
- Aparezca tenue y azul.
- Se ilumine hasta un blanco brillante al 30% de su vida.
- Decaiga a un rojo tenue al 70%, y luego sea completamente transparente al 100%.
Eso son tres estados:
| Estado | Time | Gráfica de Color | Gráfica de Transparency |
|---|---|---|---|
| 1 | 0.0 | azul tenue (#1a3a8a a #3a5aaa en edad 0–1) | 0.6 constante |
| 2 | 0.3 | blanco incandescente (#ffffff sólido) | 0.0 constante |
| 3 | 1.0 | rojo desvaneciéndose (#aa3a3a a #aa3a3a, ambos extremos) | 0.5 subiendo a 1.0 |
A edad 0.15 (entre los estados 1 y 2), el beam muestra una interpolación: aproximadamente a mitad de camino entre “azul tenue 0.6 trans” y “blanco brillante 0.0 trans.” A edad 0.3, exactamente el estado 2. A edad 0.65 (entre los estados 2 y 3), el beam muestra aproximadamente la mitad entre “blanco” y “rojo desvaneciéndose” con la transparencia subiendo de 0 hacia 0.5. A edad 1.0, el beam es rojo tenue y casi ha desaparecido.
Este tipo de progresión por etapas es para lo que existe GraphBlender. Un único ColorSequence necesitaría una docena de puntos clave para expresar la misma forma y sería difícil de crear limpiamente.
Qué es por estado frente a qué es global
Sección titulada «Qué es por estado frente a qué es global»El modelo basado en estados de GraphBlender solo cubre Color y Transparency. Cada otra gráfica de Beam (Width0, Width1, CurveSize0, CurveSize1, Segments, TextureSpeed, TextureLength, Brightness, LightEmission, LightInfluence) es global en el Beam — una sola gráfica para toda la vida, evaluada según la edad actual del duplicado en cada fotograma. Si quieres que los anchos o el brillo sigan la misma forma que tus estados, tendrás que dar forma manualmente a esas gráficas para que coincidan.
Vale la pena saber
Sección titulada «Vale la pena saber»Algunos detalles específicos de Beam a tener en cuenta.
Los attachments deben ser válidos. Un Beam sin Attachment0 y Attachment1 configurados, o con attachments que se han destruido a mitad de la vida, se renderiza de forma invisible. El plugin no valida esto — es una restricción del motor de Roblox. Si tu efecto de Beam no aparece, comprueba los attachments antes que cualquier otra cosa.
Transform fuerza LightInfluence = 0. Tanto en el fuente como en el Render Template. Si has creado una gráfica de LightInfluence que sube hasta 1, el Beam obedecerá esa gráfica durante la emisión — pero el estado inactivo del Beam fuente (cuando no emite) se fuerza a 0. La herramienta Fix vuelve a aplicar esta sobreescritura si la deshaces accidentalmente. Configura tu gráfica de LightInfluence manualmente si necesitas integración de iluminación.
Los Beams no se mueven. Sin Speed, Acceleration, Drag, RotSpeed. La geometría está bloqueada a los dos attachments. Si quieres que un beam se mueva, anima los propios attachments con TweenService o un script — esa es la forma nativa de Roblox de animar los extremos de un beam.
BeamFlipbooks es una carpeta separada de MeshFlipbooks. Los Beams leen hijos Decal numerados de BeamFlipbooks y emiten el campo .Texture de cada hijo como un asset-id de fotograma, intercambiando el propio campo Texture del Beam por fotograma. El mismo tipo de instancia que MeshFlipbooks, carpeta separada para que la ruta de ejecución por tipo pueda encontrarlos sin ambigüedad. El capítulo compartido Mesh Flipbooks cubre las propiedades Mode/Framerate/StartRandom/Reverse — esas funcionan de la misma manera para ambas carpetas.
Desambiguación de nombres de atributos. Varias propiedades de gráfica de Beam usan nombres de atributos con prefijo (BeamBrightness, BeamLightInfluence, BeamFlipbookMode, etc.) para evitar colisionar con los atributos nativos de Beam de Roblox que tienen el mismo nombre sin prefijo. Las etiquetas del panel siguen siendo las versiones sin prefijo; el prefijo es interno.
La variante nativa — BeamNative
Sección titulada «La variante nativa — BeamNative»Hay una segunda forma de usar un Beam a través del plugin: déjalo sin Transformar. El plugin reconoce los Beams normales como un tipo distinto llamado BeamNative y los expone en el panel de propiedades sin nada de la infraestructura de emisor — sin RenderTemplate, sin Configuration, sin GraphBlender, sin clones por emisión, sin temporización de emisión.
Lo que obtienes en su lugar: un panel para editar las propiedades estáticas de Roblox del Beam (Texture, Brightness, Width0/Width1, CurveSize0/CurveSize1, Segments, TextureLength/Speed/Mode, LightEmission, LightInfluence, ZOffset, FaceCamera, más una única Color ColorSequence y una única Transparency NumberSequence). El mismo Beam se renderiza de forma continua entre sus dos attachments — sin ciclo de emisión. Alternar Enabled es el único control de emisión.
Cuándo elegir cuál:
- BeamNative — el Beam es una raya estática o dirigida por attachments que quieres ajustar con precisión: una línea de neón permanente conectando dos parts, un rayo cuyos extremos un script anima por separado, un efecto de cable atado a dos attachments de personaje. Quieres el editor del plugin (editor de gráficas para Color / Transparency, edición masiva del panel, portapapeles, herramientas Resize / Retime) pero no la canalización de emisión.
- Beam (transformado, este capítulo) — el Beam es una partícula: generada según una planificación de
Rate, vive durante unLifetime, anima Brightness / Width / Color / Transparency a lo largo de su vida mediante gráficas yGraphBlender, emite en ráfagas. Cada emisión es un duplicado distinto.
Puedes convertir BeamNative → Beam más tarde mediante Transform (o de vuelta mediante la opción revertir de la herramienta Fix). Elegir el correcto desde el principio simplemente evita crear hijos Configuration extra que no usarás.
Para la superficie completa de propiedades de BeamNative y los patrones de edición, consulta Native Editing — el mismo capítulo que cubre el resto de los tipos de acceso directo (ParticleEmitter nativo, Trail simple).