Need help with Control Hiss VFX

I’ve been working on this effect for two months,this is what I can do so far

just depth reprojection!

This link is from another guy who has achieved this effect, but I didn’t get his reply.

Does anyone know how to make this effect three-dimensional, very much looking forward to getting your help.

I think i see now what your question really is. You are having trouble with reprojection?
I see that the trail is projected on the environment, thats because the only Depth info you are using is the Scene Depth (the depth pass of your environment).
To make the trail stand in its position, you need to save the depth info for it separately.
So, you currently accumulated the color of the particles to make the trail (each frame you combine with the previous).
So, you need to do the same thing with Depth. Make the same trail but just with its depth values.
Then, use THAT depth for reprojection. Because, think about it, you want to move the pixels of your trail as you move around. To do that, you need motion vectors. Motion vectors are the difference between positions. Objects that are further away move less than closer object relative to the eye. Thats how perspective works.
So you are currently just using the depth for boxes and the environmnt, not the trail of the particle.

1 Like

One more thing, when you figure out what I told you here, you will still have issues :smiley:
Look closely on my breakdown example and the Depth RT preview :slight_smile:

1 Like

I’m so excited that you replied :grin:. I have to read your reply carefully. I really want to make this special effect. (Excuse my poor English :joy:)

After several days of production, I have achieved a three-dimensional effect, but how to flow this effect in a three-dimensional space confuses me. I tried adding the noise map to the world position, but the value of the noise map in each frame was repeatedly added to the world position, causing a very strange flow phenomenon in the SceneColor;

Um, please upload a video for things like this. Effects are not static :smiley:

Dont have a clue what you are working on

This is the final three-dimensional effect obtained by calculating WorldPos through CustomDepth and calculating screenUV.

This is the effect that can be achieved currently. I added worldVelocity and ScreenVelocity

This is currently a particle effect

These particles are discrete, not continuous. Can I know your email? Because this website limits gif size, I can send you the video and my niagara. I can also describe the production ideas in detail.

Find me on the rtvfx discord.
So, if i understand when you move the camera the simulation also adds velocity? Making it not stable in space?

If that, then you try including motion vectors also to the screen velocity you use. Because if you debug the Screen Velocity you sample from gbuffer its not only the objects relative movement, but also the camera movement. You need to subtract that camera movement

Did you advect for SceneColor.It looks like the SceneColor are flowing.

Your effect looks very sticky

Yes, advect everything pretty much. From my research i think in Control they advect Depth a bit less, so it has some weight to it.

Make sure to use depth to mask out the velocity. Closer things should move more then things further away. Also make a stable screen velocity pass, that doesnt have camera movement in it, just object velocity like i said previously.

I didnt use a lot of turbulence or noise to advect, just a little bit, and a little bit of bouyancy/gravity. But, again as far as i saw in Control those parameters are quite low, so dont focus on them. Screen velocity and reprojection are key

I don’t have much to add sorry :frowning: but was wondering if you can share some insights of how you’re sampling your g buffer are you using a post process material or spawning screen space particles?

I sampled GBuffer from niagara, you can see the example in UE’s ContentExample project, the Map is called Advance Niagara.

OK, I will try to improve this effect again. It is not easy to modify this effect to be better.