Runtime virtual texture sets landscape to lower mip

​Hey guys,

Testing out the new runtime virtual texture system on my landscape object and while the virtual textures render great, the landscape’s original texture beneath it is doing this bizarre thing where it gets stuck in a certain state of mipping. Some parts of the landscape stay high res and other parts stay low resolution and it doesn’t change no matter where the camera moves. Here’s what it looks like without RVT:


and then with RVT plugged in:


(you may have to view the images at full resolution to see the difference easily)

I’ve got all the size settings at maximum in the RVT asset. Has anyone seen this before?

3 Likes

I am having the same issue.

ue-vt-lowmips

As I move the view around the patches are changing and some get stuck at a low mip level until my view covers more of the patch. Perhaps something to do with the view frustrum.

Can anyone help?

Thanks.

RVT is the only way of using complex landscape material with more than 4 or 5 layers without serious performance issue. My landscape material is 3 times more heavy on BasePass than the same material with RVT.
The problem is that lile people here, I can’t find a way of using it without having those visual issues (slow mipmap switching, no mipmap switching unless you move the camera, tiles switching to lower mipmap while not moving the camera, etc.)

There’s a lot of settings in the virtual texture settings, landscape settings, RVT volume settings, RVT node settings, material editor settings, etc. but no documentation about how to use them.
What are the settings we should use to get rid of those issues?

+1 experiencing the same and as you point out no clues on how to prevent/minimise these artefacts…

I tryied “enable continuous page updates”, “enable adaptive page table” (has to be enabled in material settings too. Sounds close to “adaptive virtual texturing” technic used in Ubisoft games like in most recent Far Cry and Assassin’s creed games), I tryied large amount of small size tiles, small amount of large size tiles, I spent days trying each setting. None of them is resolving the issue.
I used the commands “stat virtualtexturing” and “stat virtualtexturememory” to check if there is an issue here but my stats are even better than the ones posted on the Runtime virtual texturing documentation.
I watch this GDC conf to see if there’s some info from Ubisoft “adapative virtual texturing” that can be used on UE runtime virtual texturing but no. Adaptive Virtual Texture Rendering in

1 Like

I thought there is something wrong with my setup, or my hardware.
But if so many people are having the same issues with the virtual texturing on landscape, does that simply mean that it’s still not a production ready feature?
Or is there a way it should be used and works well?

I have flickering/blurry runtime virtual textures as well. Very little information about the problem and how to fix it.

Had this problem for a while and it’s in every version that supports RVT’s it would seem.

Came across this thread on my hunt for solutions to this issue as well… I’d been holding off from using RVTs until diving into UE5, and seeing some of the awesome stuff people have pulled off with the RVT system.

Now in an ongoing project that I recently updated and moved over to the RVT pipeline… I’m underwhelmed. I’m assuming we’re all doing something wrong? That’s gotta be it. I’ve watched ~8 hours combined, of YouTube videos from both Epic and Quixel, and other notable environment artists, and pretty much they all have the same setup. I’ve read the official docs. I’ve read unofficial tutorials and docs. I’ve checked my settings dozens of times, scrapped everything and started again… Same result.

Obviously performance is going to be great if we’re working with 512x512 quality-level results.

Any fix yet?

Hi,

I also have this isse, however it happens only on a nanite mesh that has many materials combined. I think it might has something to do with the fbx scaling, I will try to import and export it again with blender in cm scale… Edit: No this didn’t work, still blury. :frowning:

Hey guys,

Same issues here, just wanted to write down what I’ve tried so far, for others to read.

At first I changed (reduced) the feedback ratio hoping that would speed up the mip swapping to hide the transition better. All that did was speed up the flickering rate, it was flickering between 3 mip levels and with a random pattern across the SVT tiles.

So then I thought maybe it was my chaotic auto uv unwrap that is the issue, so I repacked my uv islands so that the islands were more contiguous to the face locations.

That made things a little bit better, but I still had issues with the level 0 mip not transitioning fully. So I set up my own camera/object distance mip levels and changes my texture objects to an explicit mip level.

In 4.27.2 that works perfectly (at least as I remember), but in UE5 EA and preview 1/2, nope.

Next I tried increasing the cache in the baseengine.ini for the virtual texturing pool. The first time I did that the result was pretty good, it fixed the aggressive flickering, but the transitions were still very slow or never occurring. So I tweaked the cache values and played around with the different flags not really understanding what they do. That broke my project, so I reverted back and tried to find the sweet spot.

That’s where I am now, I still can’t find the sweet spot and I’m just thinking about ditching SVT for now.

I’m not even trying to push the system hard with quick camera motion, I’m just sitting still just looking at a tree trunk, where half of it is covered in like the 5th mip level and the other half level 0.

I’ll update this if I figure it out :man_shrugging:

Same issue here. Can anyone from Epic tell us how far is RVT development for UE5 and if this is an engine related bug? And if not what causes it and how to solve it?
Otherwise we’re all just spending time trying to find a way to fix it when it’s not up to us.

3 Likes

same here


Dang like you guys I really need some answers for this. It looks quite terrible in my setup. At least now I know that I am not the only one so Hi! :smiley:

I have same issue. It is flickering mip level and very often it stucks on wrong mip level until I move camera. With UE5 it is even worse. Any update on this topic?

+1 on this, the mip levels are inaccurate and slow to update. I too have experimented with practically all available options to no avail and it has definitely become more problematic since 4.27.2

Are people still suffering with low res virtual textures in patches like this?

I’ve been using UE5 for a while now and it looks terrible with flickering patches, blurry textures and now since using virtual heightfield mesh (as tessellation has been removed) jumping z axis flickers (1 or 2cm).

This on top of DX12 crashing constantly and DX11 not supporting Nanite.

I’m seriously thinking of going back to UE4 :frowning:

Not a word from Epic about the issues :cry:

2 Likes

Bumping, cause i have the same issue with landscape blending via RVTs

1 Like

Working in 4.26.2 and it’s working well enough, but I just wanted to say that yes, this presents in this version as well (if it helps).

Enabling ‘continuous page updates’ seems to work for me in terms of ‘resolving’ the issue (it comes at a cost). The issue (from what I think is going on) is that the VT’s are reactive, in that as shader-lookups, they are rendered on demand, not pre-rendered. That’s why a tile here and there flickers b/c the engine hasn’t set that particular tile to render until you forced it to. Otherwise, setting to continuous streams/orders the tiles in a different way so that all the stuff you see is prioritized.

You can see this if you have a snow-effect, wetness, etc that affects the whole landscape. Zoom out to see the whole thing, and set whatever from 0 to 1 and you can see that as you scroll around, the engine will update various tiles. Even here though, for me at least, setting cotinuous doesn’t make the whole landscape turn at once, I can see the tiles changing 1 by 1 over a quick second or two, but the behavior can be see that the tiles are more ‘actively’ updated…

Hope this helps.

bTW - in some version of 4.26 and/or circumstances I was doing there was a bug with setting continuous updates caused my triangle count to go from ~400k with the heightmesh to lik 7million+, like it was rendering the entire thing. It doesn’t present anymore for me so I cannot say it doesn’t pop up so fyi…

Looks like most “new amazing feature that will be an Unreal Engine game changer” it has been added and will never get any update nor any better documentation or any clear info from Epic staff about how it should be used and all those cryptic settings means :man_shrugging: