1

I am making a lab from the game Factorio. I want the flickering effect they have, where there is jump of electricity from one point inside the dome to another, and it makes the dome flicker. How could I recreate this? I want it to be procedural, or use particles, since I don't know how animation works. Here is an example image for reference.

Lab

(source - https://wiki.factorio.com/Lab). Please note that I am new to blender.

  • Are you modeling the interior of the dome, or the exterior? You could get pretty close to the exterior view shown in your link by simply applying an emissive noise texture. If you're making a detailed interior where the lightning needs to arc from one specific point to another, things will get more complicated. – A C Sep 23 '22 at 01:20
  • I forgot to add the blender file. I am modeling the entire thing, with the exterior and interior being different objects. I want to have a pole in the center, which shoots electricity to the floor around it. – Sesame_Slayer Sep 23 '22 at 02:13

1 Answers1

2

For the dome, just add an IcoSphere and add a Wireframe Modifier and a Bevel Modifier. For the Wireframe modifier, increase the wire size, uncheck "Replace Original" (this will leave the original object visible in addition to the wireframe), and set the Material Offset to 1 (we will be using 2 materials - one for the beams and one for the "zap" glass - material offset picks one for the wires and the other for the main object):

Dome1

For the shader, the "wire beams" part is rather simple, just use a Principled BSDF and increase the metallic and lower the roughness (not shown). For the "zap" glass, start with the glass setup highlighted below. If you're using EEVEE, make sure the material's blend mode is set to "Alpha-Blend" or "Alpha-Hashed"

Dome2

For the "Zapping light", use the shader setup below - I warped the vectors of a Wave Texture with a Noise Texture so it can still be rather straight while still having funky (electric) edges. I use this texture as a mix factor between the glass, and a Blue emission.

Dome3

Lastly, for the "animation", I used a Value Node - in the field are of this node (pink) I entered the word #frame - this is a driver that will make the number of the value equal to the frame number at any given time. I connected it to a Modulo (Math) node to make the pulses intermittent, and then a Divide (also Math) node, to make the pulses "linger" for a bit longer. I used this as a final mix factor between my emission glass, and just "regular" glass, so the "light" pulses.

I also used this value to change the W component of the Noise Texture (make sure to switch it to 4D for the W to be available) to make the noise "animate" as well.

Dome4

Final result looks something like this. Don't forget to enable "Bloom" in the render properties.

DOme6

Christopher Bennett
  • 25,875
  • 2
  • 25
  • 56
  • Alternate method that works well is an f-curve noise modifier on the emission strength. Nice answer Chris – Allen Simpson Sep 23 '22 at 13:00
  • thanks! I replaced the glass shader with transparent and made the glass a separate material, then made a cone inside which I gave the electric material. quick question, how would I add a "buildup" to the effect? I find it suddenly becoming bright to be wrong. – Sesame_Slayer Sep 25 '22 at 16:06
  • Instead of using Modulo and then Divide (math nodes), replace them with Multiply (scene value) by .01 or so (to start), then connect to Sine, then connect that as the mix factor. (So to sum up - Value > Math Multiplyx.01 > Sine > MixRGB fac). – Christopher Bennett Sep 25 '22 at 16:54
  • Thanks! looks much better now. – Sesame_Slayer Sep 27 '22 at 23:26