Transparent opaques... or banging one's face on one's desk

Long story short, I want clouds. LOTS of them. Opaque enough to cover up stuff, fluffy enough to look neat in a graphic novel like style. With bieberable dissipation as you run into them. So I’ve been toying with blurred dithering clips and trying to get that stuff to render in differed. Still looks weird though. Oh well… I tried. Not sure if this is going to pan out or if I’ll just revert to a much less volumetric way.

1 Like

Might be a dumb question, but have you tried over cranking your Opacity past 1? We’ve done that a few times with stuff we want to look opaque, but needed to fade it out or have depth fade on it. In UE4 we’ve gone as far as a value of 5 or 6 in Opacity for Color Over Life.

Not sure that’d help. My problem with them is not too much about the density, but rather that I’m not sure if blurring dithered aplha test can cut it in terms of look and feel… i.e am I falling too deep the rabbit hole suffering from sunk cost fallacy?

Is the tech worth pursuing or should just go another direction. :confused:

It’s hard to tell with only a small sample size of the style you’re trying to go for. Do you have any reference on hand for the graphic-novel style you’re going for? Seeing just the clouds, which you’re already unsure on, and the plane from the back, I’d had to give feedback in the wrong direction.

This looks like it’s based off Paths of Hate isn’t it?

They had a demo showing off how they did their clouds.
https://youtu.be/LBovH7_um_s?t=998

You might be able to recreate these by having a bunch of texture planes breaking up the shape of the cloud, with a fresnel to have them fade off when you start seeing the angles. The trickier thing would be getting the lighting to be smooth across the geo and the planes.

Andreas Glad also had a demo on how he did the clouds for BF1, which was more particle reliant.

1 Like

This looks like it’s based off Paths of Hate isn’t it?

It is very much so indeed. Trying to get that real time is quite a challenge though. At first I tried the technique shown in PoH’s breakdown vid but I had 2 major issues with it.

  1. Overdraw, it was nonsensical for the budget I am shooting for. (Needs to run on Switch)

  2. Lighting is baked at verts. Can’t rely on normals for it, since you need each scattered plane to have normals face aligned for proper fresnel like fading. So lighting on normals is a no go. While baking it in verts does a good job at smoothing things out. I need to be able to instance them.

The only thing that could give the diversity needed while instancing the meshes would be generate a UV2 for each unique instance once the level is set. (Similar to Lightmap UVs, but different ) The trick would be to write that baker, and tbh I may end up going there but I don’t have that yet. And we’re still stuck with Mr. Overdraw.

I tried to render them in a separate pass using OIT in attempt to use the Front to back transparency accumulation in order to lessen the overdraw burden. It was quite a boost in perfs but still not quite there. And on top of it, there was all sorts of other transparency problems showing up with this, explosions were notorious to break everything in there. But they looked pretty good… If only emissive in OIT didn’t fuck everything…

So that led me to this and to try to do them in opaque altogether. So I could benefit from early Z and deferred lighting. The 1 major problem I have with it at the moment is I am not sure how I can fool unity into recognizing 2 sets of normals on the cloud mesh. (One smoothed for lighting, one for fresnel fading)

@Partikel’s tech looks very interesting though, that’s one I have not tried. I’ll look into it for sure!!

Realistically speaking this is volumetrics and thats already expensive as it is in most PCs depending on the amount used. Games like warthunder have nice volumetric clouds in their own engine but the problem is as mentioned the targeted platform.

you need a good way of sorting everything out as it all goes through a pass and usually explosions themselves have issues sorting their own particles cant imagine what happens mixed with even more particles.