Is there a way to create procedural curvature maps and dirt maps in UE5? I would imagine UVW's would not be strictly necessary anymore for non-game/concept environments if you can use procedural texturing with tri-planar mapping + procedural curvature and dirt maps.
Renderers like Arnold or Corona can create dirt maps and cavity maps on the fly during rendering based on topology. Since Nanite stores so much detail compared to previous methods it would make sense to skip creating UVW's altogether (for concept work).
Would this be technically possible at some point? I found this screenspace Cavity map (but maybe there are better (non-screenspace) solutions):
https://www.youtube.com/watch?v=Qmi9LgH5N2E&ab_channel=MarkSerena
Replies
AFAIK Unreal doesn't offer an out of the box way to generate procedural maps. My personal opinion is that I always found Arnold's procedural maps to be a bit annoying to control and gimmicky, so I suppose I don't see the point in replicating that. They might do for some background objects.
That said. Nanite may have given us something that once seemed impossible but please be careful if you're thinking of doing large scale projects with ideas like this. Restrictions of real-time still do apply.
in most cases though, if it was a good idea to do it in a shader then we'd already be doing it instead of paying for a texture.
A texture will go faster and look better in all the situations you list
"I understand, but I do not want to use it for a real-time game, just for concept and personal stuff."
What are you actually trying to do ? Your first post is asking for a way to generate these things inside UE, while your last post seems to suggest that you only need UE to read the data, not generate it.
UE can read vertex colors and use them in materials like any other color information, so if your need is indeed merely for UE to read vcol data from your mesh then it's always been possible, without even needing the new tech.
@OccultMonk Similar to what thomasp has said about scripting in engine may be a waste for concepting.
Just a thought, something that would be kinda useful in a game engine however is a smart material library in engine, that when one is applied to a mesh, it will automatically bake the mesh maps required. Skipping the step of opening up Substance Painter or Quixel Mixer. This really is just a convenience though, and you'd have to make sure your material slots and UVs are configured up front for this.
I've checked out a lot of ways to do this when I was making a material function for unreal for this.
I prefer to do it at export time via substance automation toolkit since you can change the bake processing part later without writing new code
They could be both generated in screen space too, but thats kind of unstable especially near the edges of the screen so this method is not ideal for texturing stuff with it.
https://youtu.be/TMorJX3Nj6U