Skip to content

Beam

A Beam emitter makes beams that last a moment: a flash, a bolt, a ray that swells and fades. It is made by transforming a Beam. Each emitted beam is a duplicate of the original, drawn between the same two Attachments. A beam does not travel. Its width, its bend, its texture and its colour change over its life. Exercise 8 builds one step by step.

What it makes possible:

  • A laser that charges. Width0 and Width1 graphs from 0.1 to 1.5, and a Tex. Speed graph from 0 to 6. Blender State 1 dim blue, State 2 white.
  • A lightning flicker. Enabled on, Rate 20, Lifetime 0.05, 0.15, Width0 0.3, 1.2. Every beam has a width of its own.
  • A tether between two Attachments on a character that never stops. Mode Animate, Loop on, a level Tex. Speed.
  • A fireball that drags its own beam. A Beam emitter nested in the fireball’s RenderTemplate, with both of its Attachments inside that RenderTemplate.
Made fromA Beam
One particle isOne beam
Emit count starts at1
ModesEmit and Animate
SectionsEmission, Appearance, Blender, Shape, Texture, Flipbook, Events, Advanced
Not presentMotion and Link. A beam is drawn between its two Attachments and goes where they go. There is no Linger row.

Each emit makes one duplicate of the Beam kept in the RenderTemplate, switched on. The beam is drawn between the Attachments named in Shape ▸ Attachment 0 and Attachment 1. Both must be set, or nothing is drawn. The plugin does not make Attachments.

Over the beam’s Lifetime the graph rows and the Blender change its look. At the end of its Lifetime the beam is removed.

The Emit count is the number of beams made at the same moment, on the same two Attachments. The beams are identical unless a graph has a random spread or Lifetime is a range.

An edit shows on beams emitted afterwards. A beam already on screen keeps the values it started with.

Transform switches the original Beam off and reads it as it stands.

From the BeamGoes to
Brightness, CurveSize0, CurveSize1, Width0, Width1, LightEmission, Segments, TextureLength, TextureSpeedLevel graphs on the matching rows.
FaceCamera, ZOffset, TextureModeThe matching rows.
Color, TransparencyState 1 of the Blender, at Time 0.
Texture, Attachment0, Attachment1Kept on the RenderTemplate.
LightInfluenceNot kept. It is set to 0.

Transform adds four things under the Beam: RenderTemplate, GraphBlender holding one state, an empty BeamFlipbooks folder, and EmitParent.

RowKindStarts atUnitWhat it does
ModeListEmitEmit or Animate. See Emit against Animate.
LoopSwitchOffShown in Animate mode. Repeats the cycle until switched off.
EnabledSwitchOffShown in Emit mode. Makes beams at the Rate until switched off.
RateNumber10Beams per secondShown in Emit mode. How many beams are made each second while Enabled is on, or during a Duration.
LifetimeTwo numbers1SecondsHow long each beam lasts. Each picks a value between the two.
TimescaleGraph1The speed of the beam’s own clock.

The Emit, Delay and Duration boxes on the HUD fire a Beam emitter as they fire any other. Emission and the HUD describes the shared rows in full.

RowKindStarts atUnitWhat it does
BrightnessGraphThe Beam’s ownMultiplies the light the beam gives off, over its life.
Light EmissionGraphThe Beam’s own0 to 1How much the beam’s colour is added to what lies behind it, over its life.
Light InfluenceGraph00 to 1How much scene lighting shades the beam, over its life.

A Beam emitter has no Color row and no Transparency row. Both are set in the Blender box, which sits under Appearance. On a beam, each is a gradient along the beam’s length, from Attachment 0 to Attachment 1. The Blender describes it.

RowKindStarts atUnitWhat it does
Attachment 0Instance, picked with *The Beam’s ownWhere the beam starts.
Attachment 1Instance, picked with *The Beam’s ownWhere the beam ends.
Width0GraphThe Beam’s ownStudsThe width at Attachment 0, over the beam’s life.
Width1GraphThe Beam’s ownStudsThe width at Attachment 1, over the beam’s life.
CurveSize0GraphThe Beam’s ownStudsThe size of the bend at Attachment 0, over the beam’s life.
CurveSize1GraphThe Beam’s ownStudsThe size of the bend at Attachment 1, over the beam’s life.
SegmentsGraphThe Beam’s ownHow many straight pieces the bend is drawn with.
FaceCameraSwitchThe Beam’s ownOn, the beam turns its flat side to the camera.
ZOffsetNumberThe Beam’s ownMoves the beam toward or away from the camera in the drawing order.

The two Attachment rows take an Attachment only. Anything else is refused with the message Must be a Attachment. The rows have no clear button. A pick is used by every beam emitted afterwards. With several Beam emitters selected, the row shows the first one’s Attachment and a pick is written to all of them.

Graph rows are followed smoothly, every frame. The line between two keypoints is straight. Take a Width0 graph of 0, 2, 0 and a Lifetime of 1 second. The beam is 1 stud wide at 0.25 seconds. It is 2 studs wide at 0.5 seconds and 1 stud wide at 0.75 seconds.

Two numbers typed into a graph row give each beam one fixed value between them. Width0 1, 3 makes every beam a different width between 1 and 3 studs.

The plugin sets no limit on Width or CurveSize values. Negative numbers are accepted.

RowKindStarts atUnitWhat it does
TextureTextThe Beam’s ownThe image drawn along the beam. Enter an asset id.
Tex. LengthGraphThe Beam’s ownThe length of one repeat of the texture, or the number of repeats, depending on Tex. Mode. Over the beam’s life.
Tex. SpeedGraphThe Beam’s ownRepeats per secondHow fast the texture runs along the beam, over its life.
Tex. ModeListThe Beam’s ownHow the texture is laid along the beam: Stretch, Wrap or Static.

The Texture box takes any text that holds digits. The first run of digits becomes the asset id. An empty box, or -, clears the texture. With several Beam emitters selected the box shows ~.

Tex. Speed is measured in repeats of the texture per second. At 1, one whole length of the image passes each second. A positive value runs from Attachment 0 toward Attachment 1. A Tex. Speed graph from 0 to 4 over a Lifetime of 2 seconds scrolls 4 repeats in all.

A Tex. Speed graph that changes over the beam’s life follows Timescale. The scroll slows, stops and runs backwards with the beam’s clock. A level Tex. Speed keeps its speed whatever the Timescale.

A playing flipbook replaces the texture at every change of frame.

RowKindStarts atUnitWhat it does
ModeListOneShotNone, OneShot, Loop or PingPong.
FramerateTwo numbers30Frames per secondThe speed of Loop and PingPong. Each beam picks a value between the two. Hidden while Mode is OneShot.
StartRandomSwitchOffEach beam starts on a random frame.
ReverseSwitchOffPlays the frames backwards.

The frames are the Decals inside the BeamFlipbooks folder under the emitter, in the order of their numbered names: 1, 2, 3. Only Decals count. The folder starts empty. With an empty folder there is no flipbook, and the Texture row is used.

To fill the folder, select the Beam emitter and press Insert on a flipbook in the Inventory. Insert replaces what the folder held with numbered Decals. Decals added by hand also work. The folder is read again at every emit.

ModeWhat plays
NoneNothing. The Texture row is used.
OneShotThe frames once, spread over the beam’s Lifetime. Framerate is not used.
LoopThe frames again and again, at the Framerate.
PingPongThe frames forwards, then backwards, at the Framerate.

In OneShot, 8 frames over a Lifetime of 2 seconds show each frame for 0.25 seconds. Playback follows the beam’s own clock, so Timescale slows, stops and reverses it. Decals and flipbooks gives the playback rules in full.

The Events section works as on any emitter. See Events. A Beam emitter fired by an event fires in place. An event cannot move it to another position.

RowKindStarts atWhat it does
Anim. StepsNumber100No visible effect on a Beam: its graphs are followed every frame.
Emit IntoInstance, picked with *NoneWhere emitted beams are placed in the Explorer. It does not change where a beam is drawn.
Preload TextureSwitchOffKeeps the emitter’s textures loaded, so the first emit does not show a blank texture.
PoolSwitchOffReuses finished beams in place of making new ones. For emitters with a high Rate.

Advanced describes these rows in full.

EmitAnimate
What playsA duplicate of the RenderTemplate for each emit.The RenderTemplate itself, switched on for one cycle.
Emit count and RateUsed.Not used. There is one beam.
The Emit buttonFires the Emit count after the Delay.Plays one cycle after the Delay. With a Duration above 0, the cycle repeats for that long.
Fired again while playingMore beams are added.The cycle starts again from the beginning.
At the endThe beam is removed.The RenderTemplate gets its own values back and is switched off.
LoopNot shown.Repeats the cycle. Each cycle reads the rows and the Blender again.

Changing Mode stops the emitter at once. Beams on screen are removed, and Enabled and Loop are switched off.

A Beam emitter placed inside another emitter’s RenderTemplate fires once for each particle of that emitter. It uses its own Emit count, Delay and Duration. Nesting gives the procedure.

Where Attachment 0 and Attachment 1 areResult
Inside the parent’s RenderTemplateEach beam is tied to that particle’s own Attachments. The beam travels with the particle.
Outside the parent’s RenderTemplateEvery beam uses the same two Attachments.

Attachment emitters in the same RenderTemplate fire before the Beam emitter. The beam can then use the Attachment they emit.

Inside a Model emitter with a Scale graph, the Model’s scale multiplies Width0, Width1, CurveSize0, CurveSize1 and Segments every frame. It multiplies Tex. Length too, unless the Model’s Scale Texture is off.

A stock Beam, not transformed, can also be carried by a particle. See Editing stock ParticleEmitters, Trails and Beams.

ToolEffect on a Beam emitter
SizeMultiplies the Width0, Width1, CurveSize0, CurveSize1 and Segments graphs. Tex. Length is not changed.
TimeMultiplies Rate, the Flipbook Framerate and the Tex. Speed graph. Divides Lifetime.

Size and Time describes both tools.

  • No Motion rows and no Link. To move a beam, move its Attachments, or nest the Beam emitter in an emitter that moves.
  • No Linger row. A beam is removed when its Lifetime ends.
  • A Lifetime of 0 or less is treated as a very short Lifetime.
  • Each emitted beam counts as one particle toward the Particle Cap.