Niels Dewitte: Sketch #54

FINAL :
Niagara Shield with player and projectile impact interaction


Thumbnail
Shield002-2

Ref :

-https://www.pinterest.com/nielsdewitte35/vfx-ref-inspiration-エフェクト/shield/
-MR_Pol: Shetch #16
-General plasma ball images and videos

13 Likes

Progress is very slow…

3 Likes

A bit more progress

3 Likes

More iteration and early impact test

2 Likes

Some progress on the impact effect.

13 Likes

This is so cool :eyes:

Do you render the impacts over the shield with mesh particles or is it rendered into the shield shader ?

1 Like

@Sorangon
Mesh particles.
I’m restricting myself to not building any custom behavior into the material for these challenges.
So everything is made using just 2 base materials (the basic FX material, and a decal one)

That being said, it is perfectly possible to have multiple impacts rendered in the same material, it’s a bit troublesome to pass on the points, and you need a custom node to iterate over it, but besides that the basic flow is the same.

2 Likes

More progress, add a central point with energy supplying the shield and some incidentals

3 Likes

Looks really cool :star_struck: :star_struck:

1 Like

FINAL :

  • Cleaned up player interaction
  • Added camera shake
  • Minor final adjustments.
8 Likes

I always had an impression that stacking multiple decal meshes this way will kill the performance. But looks like it works fine. It’s in Additive mode?
Looks impressive.

1 Like

There are only 2 meshes here that function as decals.

The impacts are always spheres, so I just align their size with the main sphere, no projection required.

Are you detecting the collision in a blueprint outside the niagara system or in the system itself? The impacts look great!

Collision Detection is BP as you suspect

1 Like

Hey! Awesome work!
One thing tho, how do you trigger multi pulses on the sphere when hit? I mean it should just read one pulse at one time and if there’s another hit at a different location it will just forget the previous pulse and emit new pulse?

@Jukerlaw
Collision detection is in bp.

It gathers impacts, and submits them to an array which gets sent to Niagara.
In niagara I’m using that array to spawn a set of spheres on which the pulses are rendered.

2 Likes

Awesome, thanks. Can you show me how you set it up in Niagara? I have been bothered by this issue quite a while :smiley:
Appreciated.
p/s: Btw there should be an array in the material doesn’t it? I don’t quite understand how it works yet.

No, I’m spawning a mesh per pulse, so the material doesn’t need the array.
(Although it is possible to do it like that as well if you want to write a little bit of custom code)

1 Like

That’s a very cool approach, also makes the standard shield material less expensive with the complexity of the impact effects being outsourced to another mesh and material.
I did it the other way around and allow two impacts at the same time with the older one being restarted on the third strike. A lot of overhead though since it needs two separate impact animations in the standard shield shader. Could be useful on more custom shield shapes though…
Btw, amazing work @Niels!

1 Like

I mostly went for this approach because I wanted to challenge myself to finding a solution that would work with only my default set of master materials.
It’s really fun because it forced me to think about ways to creatively use Niagara instead.

1 Like