I wanted to know alternatives on how to achieve this same technique in UE 5 as I know that there have been some changes related to how RVTs are handled.
The idea is to be able to read and write different RVTs in order to paint into Landscape in runtime persistently.
I noticed that UE 5.5.4 has this restriction where reading and writing is not supported in the same material, so any alternatives would be greatly appreciated.
Hey there! I wouldn’t recommend using RVTs the way the tutorial described, I’d be worried about issues with tile selection and losing accuracy. You’re always able to spawn additional “brushes” that draw into the RVT, but costs could add up there pretty quickly if you’re trying to do this dynamically.
Instead, I’d prefer if you used simple render targets localized to the player. Alex and Sam have a demo of this from quite a while ago, but the principles should all still work in UE5: https://youtu.be/1Z\-V1Buk6z8
This whole idea has come up somewhat recently and we noticed internally that the Draw Material to Render Target calls can get a little bloated on the CPU and render thread, especially if you end up scheduling it at the wrong time and end up flushing the render queue. Going down the global shader route means that you have a lot more flexibility and control over what, how, and when this gets executed.
As for sizing, my gut tells me no more than 2k, at about 1px per cm. Depending on your player camera you could get properly fancy and offset and rotate the render target so it’s always maximizing the view space in front of the camera, but going back 15 years I think most folks have gotten away with the volume being centered on the player character.
Hey Matt! (Can’t believe I got an answer from legendary Oztalay himself!)
Thanks a lot for the insight, and the guidance, I sort of figured as much during these past couple days trying out some other techniques.
The idea was to paint in the terrain/landscape in sort of a persistent fashion but trying to be as performant as possible.
I was able to read and write RVTs in later versions of the engine but with some artifacts going on and, then figured that probably I won’t need to actually cover that much of a terrain area for what I’m going for.
Would you have any other advice regarding reasonable size and best practices for the RT approach? I probably would be looking somewhere around 15-20 actors trying to write to the same render target moving fast on large portions of terrain. I’ve been trying to be super conservative about it, since I’ve read that using SceneCapture2D can be quite expensive or not super optimized.
In any case, thanks a lot for the super prompt answer and professional guidance.