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.
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;
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
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 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?
Due to work reasons, I haven’t done this effect for a long time. I have been free recently and have re-implemented this effect. This is the latest screenshot.