Ognjen Ilkic : Sketch#55

Current effect:


Hey all :slight_smile:

This will be my first ever entry in any sketch so far, so I’m really excited :smiley:

Lately I’ve been experimenting with Grid2D and fluid sims in UE, so I guess this is a good opportunity to push myself and hopefully make it in time.

My idea is to recreate the Hiss effects from Control.
Since it’s a very complex system which is an artistic pillar of the game, my guess is they spent quite a bit more than a month to make it :smiley:
So I will try my best to make it look as authentic and perform in a similar way on the tech side as much as I can, but certainly not going to be the actual thing guys at Remedy did for this effect.

Even if I don’t make it in time, it will still be a nice excuse to spend some time to learn new things :slight_smile:

My ultimate goal is to make a working sequence which uses the levitating debris attack on some NPC, explosion + Hiss fluid sim like in this clip:

Wish me luck :slight_smile:

10 Likes

Still in a experimental phase, trying out different stuff. I’m still focusing on the fluid sim part.

At first I was trying to do it all with just particle position reading, but that wasn’t going to get me far. So I opted to use the gBuffer layers for sourcing. Still a lot of work to do, but it’s a start.

In this example I’m using custom depth to mask out what I need for sourcing the simulation, so the mesh and particles work without any separation. There is also some basic noise advection, chromatic aberation and desaturation filters.

Next on the list is to investigate how to use the velocity buffer to further advect the sim and a lot more tinkering :slight_smile:

14 Likes

This is looking fantastic already! Nice work :smiley:

1 Like

Update time :slight_smile:

Ok, so might not look like much, but a lot has changed on the tech side for the Hiss part (and a lot more has to come to make it the real thing). So that’s the reason I haven’t posted anything in a month :smiley:

Mainly, the fluid simulation part now uses forces for advection instead of noise and it is transfered to a Postprocess material instead of a camera locked quad since it caused some artifacts.

A lot of Renderdoc diving, trial and error, experiments and asking for help lead to the conclusion what is really needed for this effect to work correctly. I’ve partially done it, but still some issues to fix. The main headacke is ofc the depth reprojection to make the fluid be grounded in the world and not just slapped on the screen.

Issues can be seen while moving forwards / backwards, the ‘zooming’ of the texture doesn’t work, and also camera rotation on the edges of screen isn’t quite right. But I guess those 2 things are connected and the texture displacement isn’t correct. Currently there isn’t a separate Fluid depth mask, just using Scene depth for reprojection.

But anyway, I’m still going to continue working on this until I make it right. I want to understand the math behind this 100% and also polish the visuals as much as possible.

So, for now, I’ve put up a little demo with pickable projectiles and some placeholder enemies. Characters are from Mixamo and the environment is free on UE marketplace.

5 Likes

Little bit late, but here is some progress :slight_smile:

I will continue working on this, and will probably update the progress in my sketchbook thread :slight_smile:

6 Likes

Hey, could you share more info on how to achieve the 2d sim advection in engine if possible? I love it so much, it’s been weeks since I’ve been trying to find out and learn by myself how to advect 2d simulation by depth buffer, basically how did you make it 2.5d!? it’s super cool that it goes front and back as well but it’s just all actually happening on render window. I am not trying to recreate the exact look but was thinking this would look so good for cigarette smoke trails too.

I am aware of other means to achieve it, for example, using particles only with the Niagara system but I just want to try this too. I also have some basic understanding of vertex and fragment shaders, and I’m aware of what a G-buffer is and what consists of it. But I am new to real-time fx and just trying to learn these ways which I rarely heard of. I really wish to know how much crazy we can go with FX using fragment shaders like gbuffer! So please help out a student here! Any insight will be helpful…

I used depth reprojection and achieved the same effect as you,but I don’t know how to make this effect more three-dimensional.I very much hope to get your help.

Ah, few months since i worked on this :smiley:

https://twitter.com/ognjen_ilkic/status/1651717420115951618

This is what i ended up with (actually there is a update to this but didn’t make a post)

The issue is that it is not 3D :slight_smile:
So the best you can do is add a lot of variation, secondary movement, warping etc to make it look more believable.
When I started working on this the ‘Hiss Mask’ part looked kind of strange and pointless, but actually it ended up carrying the majority of the effect. I used it in a number of ways, for distortion and dissipation.
The reprojection part is the technical requirement for making this effect grounded in space, but it sure isn’t 3D, but it’s the best workaround for having ‘volumetrics’ and still have relatively easy access to modify it (2D sim stuff)

@Riuzei As for your question, sure it can be used for something like cigar smoke, but, again, depends on your usecase. If its a fully 3D environment then you are going to have a hard time making it grounded, because cigar smoke is something we know from real life.The Hiss is something out of this world so it can look wierd and broken and its still good :smiley:

What ended up my entry for that monthly sketch is actually criminally bad and not even close to the final effect :smiley:
I’m glad I used 5 month of my life to really invenstigate and learn new things to achieve an adequate attempt :slight_smile:

Hey! thanks a ton for your response, been waiting for it since months! Yes you are right… Also I recently learned about render target and what you’re doing now clearly makes sense. So I will need to play around to get more accurate look to a cigarette smoke once I set it up. Your recent demo build cleared some of my questions. I’ll download to soon and try to study more on this. Thanks again for your help and research on this!