Thursday, November 30, 2023
HomeVisual Effects Repair ribbon hole Mini Tutorial

[Niagara 5.0] Repair ribbon hole Mini Tutorial


Repair ribbon hole

RibbonFix001

The intention of those mini tutorials is to have simply searchable reference for the implementation of primary concepts in Niagara.

In the present day I need to have a fast have a look at how we’d resolve a typical concern when utilizing Ribbons.
Until you spawn a particle each single body, there’ll all the time be a spot between the supply of the ribbon and the ribbon itself.

Spawning a particle each body, generally is a answer in some instances, but it surely’s usually higher to discover a answer in which you’ll be able to bridge that hole
There are a couple of methods to cope with this, however I’d prefer to current a reasonably primary one that can work in a lot of conditions.

Fundamental Setup
The technique right here will likely be to reliably discover the final spawned particle and snap it to our supply location (the emitter place on this instance).
We do that by, for each particle, evaluating the index of that particle with the whole variety of particles which were spawned within the emitter. Within the case that we do have the final spawned particle, we set the Place of the particle to the simulation place.

Now to know the whole variety of particles we nonetheless must hold monitor of that in some way.
To do that, we’ll regulate the SpawnPerUnit and SpawnRate modules. (You’ll most likely need to create a duplicate for this.)
On the finish of the modules we will add a bit part that reads the spawn depend and provides it to Emitter.TotalParticlesSpawned.

And growth now the final particle of your ribbon will stay connected to the supply.

Besides that’s not completely the case.
As a result of tick order it’s attainable that this script will likely be executed earlier than the motion script of the supply.
This may create a one body hole between the final particle and the supply.
We will resolve this on a case by case foundation, by forcing the Niagara Tick to later within the body.
That is usually ailing suggested as a result of it takes away the engines means to utilize threading in an environment friendly means, but when used sparingly it may be useful.

And there you go, a fairly strong option to make your ribbons gap-less.

Take pleasure in.




9 Likes

After GPU Ribbon is obtainable to Niagara I’m not too bothered with this concern, however I nonetheless need to share a much less correct however barely simpler answer to the hole concern when utilizing Spawn Fee.

This method assumes the person to stay with a continuing spawn charge worth, as a result of there may be little or no level of randomizing the spawn charge worth each body in a ribbon emitter. Anyway as a result of the spawn charge worth is fixed, we will merely calculate the spawn interval in second by 1/SpawnRateValue, then in Particle Replace stage, do a Lerp Place and select between SimulationPosition and Particles.Preliminary.Place by checking if the Particles.Age is smaller than the spawn interval.



1 Like

@ifurkend Humorous sufficient, somebody asking easy methods to do your described technique for spawn per unit, is what triggered me to search for the offered technique.



1 Like

If we’re speaking about the identical man, he really needed the latest particle to transcend the actor place, which is feasible with our strategies, but it surely saddens me that it not issues now (not due to the GPU ribbon).

That is really the identical technique as Partikel’s tip proper, simply not executed in scratchpad :smiley:
and thanks for the good tip as properly Niels!



1 Like

I’ve a query, as a result of I’m unable to learn what’s earlier than this (or extra like they’re too superior!), what does SpawnOutputInfo return? To my understanding, it appears you’re taking out the each depend of particle spawn and accumulate them to the Emitter.TotalParticlesSpawned.
It might be nice when you may clarify extra about this half, thanks.

it appears you’re taking out the each depend of particle spawn and accumulate them to the Emitter.TotalParticlesSpawned.

Yup, that’s precisely what we’re doing.

Spawn information is the construction a spawn module passes onto the engine to point that it desires to spawn new particles.
In the event you open up one of many epic offered spawn modules, you’ll discover that the final node in these modules is the one I marked in white.

So we merely copy the epic present modules and put these nodes within the image behind it to examine what number of particles this modules desires to spawn and add it to our depend.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments