In motion TSR isn't as terrible as the static picture, but I still don't like it

Show thread

Hmm, one thing I've found with UE5 is that the new Temporal Super Resolution AA (r.AntiAliasingMethod=4) creates a lot of ghosting on world-space widget displays. Switching to TAA (r.AntiAliasingMethod=2) is much much cleaner.
These are screenshots of some world-space scrolling text with TSR and TAA compared

Is it my imagination or did Blueprint debugging get a lot better in UE5? It was always a bit hit and miss but feels better now, and I don’t think it’s just the UI refresh?

This is one of those cases where I'm really glad to I have fine-grained, flexible source control. Sometimes I look at all that version history that I hardly ever look at and think "why am I keeping all that data" and then something like this happens and I'm glad I did

Show thread

Didn’t work, even after saving materials it kept recompiling shaders for no reason. Screw it, I’ve fixed with the nuclear option of forking history before I started messing around with Nanite and cherry picking everything else back on top. Horrid but works

Show thread

I *could* just re-save the materials with the bUsedWithNanite flag enabled and trust that I'm not in fact using it, but it's annoying and wrong dammit

Show thread

Urgh, even though I've disabled Nanite on all of my meshes, and re-saved all my levels, at startup I keep getting "Material X was missing the usage flag bUsedWithNanite" and all my shaders recompile. I can't figure out what's requiring it, every mesh has it disabled again now 😑

Using it does mean that if you need to e.g. revert a change to a file, LFS will have to download it from the server again. Git's usual local autonomy is broken, which is why it's not the default. But, if you want to save space, it's there as an option.

Show thread

"git lfs prune --force" is extremely powerful. It deletes ALL the secondary DB copies of your LFS files, *except* the ones that only exist locally (have not been pushed). This gets you back to basically the same as a Perforce full tree, instead of the default 2x LFS objects

Show thread

Those of you who lament the fact that by default git lfs keeps a secondary copy of all your binaries locally (to conform with git principles of local automomy), let me introduce you to a parameter of "git lfs prune" you might not know about - because I'd forgotten & I wrote it 🙄

So if like me you thought that Nanite was something you could enable to get some improved LOD / batching for basically free even if you weren't upgrading the rest of your pipeline to all the new shiny dynamic GI, I can save you some shader compilation time: it's not

Show thread

Another weird thing I noticed was that some of our static Nanite meshes had some really weird excess specular that I didn't remember having before, and sure enough it's gone now that we've turned it off. I think it's that Nanite doesn't sample baked lighting properly at all

Show thread

Ugh, Nanite also breaks lightmap density debug views. I guess, again, because it's designed for use with all the other new tech like Lumen.

I'm calling it, this is clearly not meant for us.

I've updated my 2 year old UE + Git + LFS setup blog post so that it's appropriate for setting up a UE5 project as well now, just in case anyone is still referring to it. Main change is the recommended plugin stevestreeting.com/2020/08/09/

VSMs run slower and look worse in our scenes so if this turns out not to be a sustainable solution it’ll be Nanite that goes out the door first - regular LODs were basically fine for our needs anyway but we had to try the new shiny

Show thread

It appears static (mobility) Nanite meshes render OK with regular shadow maps & stationary lights but I’m not sure if that’s intended / a fluke / non-optimal. Movable meshes don’t render shadows from stationary lights at all if they’re Nanite so I’ve turned it off for those

Show thread

I’m sure VSMs are great for large outdoor scenes but ours is entirely the opposite of that, completely enclosed, mostly static or stationary lighting with shadows tuned for that. Stationary gives us both precomputed light bounce (no lumen) and dynamic shadows hence why we use

Show thread

I kinda thought Nanite was the new tech you could switch on mostly for free and still keep approximately the same hardware target, (we won’t be using Lumen) but if I’m forced to use VSMs as well hmmmm

Show thread

I really should have read this before I spent a couple of hours converting everything to Nanite. We use a lot of stationary lights and I don’t really like the look or performance of virtual shadow maps (although maybe that’s a tweaking problem)

Show older
Gamedev Mastodon

Mastodon server focused on game development and related topics.