A lot of small pulsing lights

Hi,

in spaceships for example there are often a lot of small blinking lights. Is there a good way to do this
inside Unreal ? I created a simple pulsing light-material and applied it onto a small plane but I don’t think it’s a good
idea to place this many individual plane-lights into the scene…And the tricky part would be to let them all blink individually if possible. (I don’t want to let them blink equally in groups)
It would be also good if the player can interact with some them too.

Here would be an example:

Yes, this is just emissive materials.

It could be lots of individual materials, but more often it’s laid out in the material texture. Something like this ( which doesn’t come across at all in a GIF ):

ezgif.com-optimize.gif

Has a lot of stuff going on, but just has an emissive orange ( you can see that ), and this texture:

](filedata/fetch?id=1770697&d=1591210554)

Multiplied by a color into the emissive.

The rest of it is just material programming. It comes from:

Lots of flashing things… :slight_smile:

But what if want many small pulsing lights pulsing individually ? Say I have an array palet type of asset containing 10 x 10 small LEDs all pulsing differently.

Thanks to the pretty cool free content this month I just found a perfect example:

How do I make it so that almost each light point blinks individually ?

Sorry for the late reply, it’s best to quote otherwise there’s no notication.

Have you looked the material for this?

EDIT: PS I’m just downloading it to take a look, but I suspect it’s all one material.

There is apparently some flashing function in the material instance, but I can’t get it to work.

I’d recommend contacting the supplier on the product page, it may be a simple change.

In the meantime, I’m gonna tinker with it a bit more…

Please tell me if you are at all interested…

EDIT: Yas!

image_194210.gif

I’ll neaten it up a bit and come back…

So, in the package, the main material is called: M_base

Technically, this is the one to edit, but… if you do ( and while you’re trying to get things right ), every time you make a change, UE will recompile the WHOLE ASSET. Yawn…

So, while you’re sorting things out, make a copy of that material and call it MyM_base.

Edit this material, and where it says:

We’re going to change that to ( deep breath ):

It looks much worse that it is… In fact, if you want to know you’ve got it right, just plug that network into a new material like this:

If you’ve got it right, when you drop the material on something, it will look like this:

newmat.gif
In fact, I’ve attached the nodes as a text file. You can open it in any text editor, copy, then paste into the material editor.


That’s it really, but there are a few tuning issues.

When you have made your MyM_base, make a material instance from it.

Now take a mesh from the asset, I used SM_ServerModule03:


It uses material instance MI_Server, they all do. Take a look at that material instance and just copy any parameter you need into your new material instance and plonk it on the mesh.

There are 4 parameters to tune:

params.JPG

That’s what I came up with for this mesh.

  • Light size = grid size
  • Light speed = how quickly it changes
  • U and V slight shifts to get it lined up with the buttons etc.

It’s best to set the speed to 0 while you’re figuring out the others so you can see what’s going on. The list in the pic above works well for that mesh.

Good luck and come back here ( and **quote **me ) if you need help :slight_smile:

First of all: Wow this is just what I was looking for and it looks so great! Thank you so much!
I just came back from work and I’ll take a look at it shortly.

Good stuff :slight_smile:

What are you multiplying the whole noise-emissive thing with ? I plugged in different nodes, like the emissive texture or after the “add fresnel” node, but it looks broken and seems wrong…

](filedata/fetch?id=1771846&d=1591383374)

Just take what was plugged into the emissive and plug it into a multiply node with the new stuff.

EDIT: I just checked, it’s the fresnel node.

EDIT: I’m just re-doing it to make sure I didn’t tweak anything else.

Did you try the basic material on a cube, do you get the B&W squares?

You mean like in the image “Server1” that I posted ? Tried exactly that, but what I get is more a broken- flickering effect…

EDIT: What texture did you use for the emissive blinking parameter ? When I pick T_Checker_Noise_M I get better results but still weirdly shifted and it even says in the Material Instance window “Num shaders added: 627” oO

I just double checked, on the material instance you make, these settings have to be enabled:

See above, I used T_SERVER_E

ALSO: Turn OFF the asset blinking stuff:

](filedata/fetch?id=1771869&d=1591385019)
So, emissive ticked, but blinked un-ticked. ( This is because we’re doing it ourselves ).

Ok now it works like yours. Thanks again!
But still in the material instance window it says “Num shaders added 627”.
Is that okay???

Server2.JPG

I got another more off topic question if that’s okay: I also purchased an asset called “ZeroGravity” and the materials and meshes look really great. But each meash has a lot of material slots and I thought that give more drawcalls. Which way is better for the performance ? Having a lot of textures with masks packed like in the ScienceLab asset or having meshes with a lot of material slots, see picture:

We can compare the shader complexity views:

](filedata/fetch?id=1771884&d=1591386297)

](filedata/fetch?id=1771883&d=1591386292)

So, mine’s a bit heavier, but still in the green.

For your zero gravity question, again, check this view of the assets. If it’s not in the red, no problems.

Lots of material slots is only going to cause a problem if you have thousands of instances of the meshes or something like that.

Enjoy the lights :slight_smile:

PSPS: In fact the whole shader is only 169 instructions:

​ Alright, will do. :)​​

@ClockworkOcean What is the answer to this part of his question - what does “Num shaders added” mean when it is in the MI window?

  • I only find 2 topics that asked this - but no answer.

  • I have a Master mat that has 277 Instructions and a Switch param (bool).

  • If I make an MI of this mat, then Instructions are still 277.
    But if I activate the Switch (without changing the default True/False) - then this MI automatically adds “Num shaders added" 176.

  • So is this MI using 277 + 176 Instructions??? Merely for activating a Bool Switch?

  • If yes, it seems that it’s better to make 2 Master Mats, one with the Bool on, the other off - so that their child MIs dont get “Num shaders added" (when I want to toggle for a different texture set).

Ty to anyone who knows.