Landscape Optimization Using Runtime Virtual Textures - Building Worlds In Unreal - Episode 22

Sdílet
Vložit
  • čas přidán 29. 08. 2024

Komentáře • 180

  • @BenCloward
    @BenCloward  Před 3 lety +20

    I'm excited to hear from each of you - how many GPU milliseconds does this technique save in your scene? Also, since I made this video, I found a technique I can use in my materials that makes the results much sharper and higher-resolution. I'll be sharing that next week.

    • @MR3DDev
      @MR3DDev Před 3 lety

      I don't get what "much shader" means. Did you mean much shadier? I don't think you did but it sounds funny.

    • @BenCloward
      @BenCloward  Před 3 lety

      @@MR3DDev Thanks for pointing out my typo. I meant "sharper." It's fixed now.

    • @FerlinDev
      @FerlinDev Před 3 lety +2

      My landscape went from 70 to 120 FPS
      Thanks a lot

    • @FerlinDev
      @FerlinDev Před 3 lety +1

      Also, while using that technique. One does not have to multiply specular and AO in a single channel as only Specular is used

    • @BenCloward
      @BenCloward  Před 3 lety

      That’s so awesome to hear! Thanks for sharing that!

  • @Gorongirl
    @Gorongirl Před 4 měsíci +3

    If you have a black RVT after the setup (noobie me crashing into every problem haha) make sure you press Set Bounds in your Runtime Virtual Texture Volume > Transform from Bounds after selecting your Bounds Align Actor as your landscape, if you are in 5.3. Thanks again Ben!

  • @andreiblackfish1185
    @andreiblackfish1185 Před 8 měsíci +4

    Iv seen alot of VRT videos in my days, but this one is by far the clearest.

  • @skol45
    @skol45 Před rokem +4

    Its insane how calm, precise and understandable you describe what you are doing, its really something special that not a lot of Tutors have, looking forward to your channel!

  • @yahootube90
    @yahootube90 Před 3 lety +12

    Thanks for making all these shader tuts, Ben. Not many people around to teach these things with such depth and expertise. You should consider making a post over on places like r/gamedev and r/unrealengine etc., now and again to draw more attention to such great tutorials.

    • @Paul-xu6gt
      @Paul-xu6gt Před 2 lety

      when i modify the coordinates of one material in its blueprint it modifies the coordinates of every material in my map, for example if i modify the coordinates of the material of my terrain, it also modify the coordinates of the tiles texture on my walls, why is that? ps im new to ue

  • @laughingjackaso8163
    @laughingjackaso8163 Před rokem +2

    only 7 minutes in ... now i finally understand what/why RVT. not actually explained anywhere else i've found.

  • @cablekingtv6557
    @cablekingtv6557 Před 3 lety +3

    It’s crazy. For the past couple weeks I’ll explore a technique on my own and then BAM 💥 Ben drops a sick video about it 🤣🤣 Nice!!

  • @nk361
    @nk361 Před 3 lety +3

    Love it! Especially how you went through the detective work to find the problem instead of just giving the problem and solution. Also, I've seen a technique where people use a runtime virtual texture (I think) that has color data in it and then they use that color data to alter the look of all the textures in that area. This technique was used in a game called The Witness really well for colored trees, rocks, and all else. I've always wanted to know how to do it since it can really help get the Quixel megascans assets to blend well together. Thanks again for all you do. :)

    • @Zeriel00
      @Zeriel00 Před 2 lety +1

      Yea this, so many teachers just tell you, ok do this and this and that but never tell you why you do it or how you reached that conclusion and it's so hard to follow like a robot without knowing what you're doing.

  • @gabrielepardi5178
    @gabrielepardi5178 Před 2 lety +2

    Great teachings here . Thank you very much for your time

  • @Al1987ac
    @Al1987ac Před rokem +1

    Thank you very much for such concise tutorial!
    Once I understood that RVT basically is about baking shaders, it all clicked for me. Unreal docs on the topic were a little bit confusing.

  • @HOUCEMATE
    @HOUCEMATE Před 2 lety +1

    I've been watching a bunch of tutorials on UE4 purely out of interest (haven't even tried it myself) and I gotta say the structure, pacing, and depth of your videos are perfect, well done man

  • @wilismatrix9847
    @wilismatrix9847 Před 3 lety +3

    Thank you for the deep tech explanation. Learned a lot today !!

  • @chlbrn
    @chlbrn Před 3 lety +1

    This is great, exterior scene with landscape always takes a lot of time to render each frame, this helps optimizing scenes for a huge amount! Thanks man.

  • @artemaung5274
    @artemaung5274 Před 3 lety

    Great tutorial as always!
    One note for those who want to do this on world composition - sadly it won't work.
    Runtime virtual textures have a hard limit of 7, but even if you never stream more than 7 tiles at once, as soon as you move beyond first seven tiles your landscape will stop rendering.

    • @pizzaman11
      @pizzaman11 Před 3 lety

      There are a lot of things that don't work as they're supposed to with RVT. They have the beginning of adaptive virtual textures implemented which allows for much larger higher resolution vt's but unfortunately I haven't got it working.

  • @lexmurden5221
    @lexmurden5221 Před 2 lety +1

    This is very good! It helped me a lot.

  • @TelesphorosGAMEDEV
    @TelesphorosGAMEDEV Před rokem +1

    Amazing tutorial, thanks again

  • @theobai8986
    @theobai8986 Před 3 lety +1

    Actually, you could use the mip level node of RVT to replace the distance blend, which could fix that blur landscape.

    • @BenCloward
      @BenCloward  Před 3 lety

      That's a really interesting idea. I'll give it a try. Thank you very much!

  • @pizzaman11
    @pizzaman11 Před 3 lety +1

    One thing to watch out for is the projection of the RVT on slopes. It causes some real bad stretching. Supposedly you can just use RVT for flatter areas and then use traditional methods for cliffs and hills, but I havent tried that yet to see if its performance viable.
    Also (you might have mentioned in one of your previous videos but just in case) the shader complexity visualization only accounts for the number of instructions for the shader, not the cost of each instruction on your hardware. So things can have low performance but still be labeled as green on the visualization and vice versa, at the end of the day your ms is what matters.

    • @weirdshit
      @weirdshit Před 3 lety

      rvt is top down projection. I had performance issues with two landscapes side by side when using rvt in 4.25++. Hopefully performance has changed for the better.

    • @pizzaman11
      @pizzaman11 Před 3 lety

      @@weirdshit two landscapes in general should give you performance issues.

    • @weirdshit
      @weirdshit Před 3 lety

      @@pizzaman11 that is with rvt as compared to normal landscape texturing.

  • @TorQueMoD
    @TorQueMoD Před rokem

    You'd imagine you'd be able to set the landscape to Static or Stationary and then the engine would do all of the RVT automatically. It's weird this is something you have to implement manually. Fantastic video though!

  • @oozly9291
    @oozly9291 Před 3 lety +1

    Fantastic channel!

  • @sams_3d_stuff
    @sams_3d_stuff Před 3 lety +1

    Thank you sensei!

  • @shoaibraza6019
    @shoaibraza6019 Před rokem +1

    Thanx Sir
    Helped a lot

  • @tech-ii5sh
    @tech-ii5sh Před 2 lety +1

    This is a great video, and I have one question. Do you have a video on RVT Cache?

  • @pixelflow2180
    @pixelflow2180 Před 3 lety +8

    Nice but the tradeoff is huge, low res, no displacement, no ambient occlusion. Also tried it in world comp and it doesnt work very well.

    • @TheLordOfWolves
      @TheLordOfWolves Před 3 lety +2

      I had so high hopes with RVT but when i saw the resolution on the textures + the lack of AO and Displacement... this is to be used on phones or something as it offers 2010 quality.

  • @seansopata5121
    @seansopata5121 Před 3 lety +3

    After the last video, I have to say ... I'm having more fun than I probably should have using landscape splines to create roads and paths. Just have to modify my material so I can erase grass.

  • @ArcaneTurbulence
    @ArcaneTurbulence Před 2 lety +1

    your streaming pool is going to take a pretty massive hit if you do this. I went from 1800 to 2350, and I'm trying to stay under 2000 budget. Granted my world is 128 sq Kilometers. For those using large worlds, definitely keep it in mind.

  • @cgkrab
    @cgkrab Před 2 lety +1

    Great video! :D Do you happen to know if RVT resolution can be tiled or optimized for very large landscapes somehow? I was watching Epic's deep-dive video on RVT for landscapes and it seems to me that the largest RVT size you can make is too small for large, open-world landscapes...they acknowledged this as a problem in the video and mentioned expanding it in the future, but it seems to be mostly unchanged since then in newer UE versions. I might be misunderstanding the process, though, but it seems like this could kill your landscape texture resolution if your level is too big (and cause some major TD problems). Seems like potentially a big issue for UE5 since I think RVT is REQUIRED for Virtual Heightfield Meshes, which are the only current alternative for landscape displacement since tessellation was removed.

  • @PijarnJangsawang
    @PijarnJangsawang Před 3 lety +1

    amazing

  • @ahmadnaweedrustami7354
    @ahmadnaweedrustami7354 Před 4 měsíci

    Besides using more ram there is a bigger problem with rvt, that is if you have a fast moving object in your scene if it is interacting with landscape, a car for example. I used a rvt spline tool to create a road for a racing game that I was working on some years ago. When the car moved it left an ugly trail behind it which forced me to abandon rvt altogether.

  • @well.8395
    @well.8395 Před 3 lety +4

    Hi Ben, thanks for the video. There’s a problem, I think? After 15:54 to 17:09 you can check the framerste and its still 45-46ish mark and the gpu stat still shows 21ms like before.
    When you went far back, it will obviously increase the fps as the grass won’t be rendered.
    Except the number of instruction reductions, there’s absolutely no change in the performance?
    Any thoughts? Thanks

    • @BenCloward
      @BenCloward  Před 3 lety +2

      Yep, you're right. I'll need to investigate this a bit and maybe get more scientific with my measurements. The second time I measured performance, it was from a slightly different camera angle, so that could be throwing things off. The other thing that will make performance worse for the non-RVT material is if I start painting layers. What we're looking at here is a version of the material that's only using the first material layer, but if I were to paint several of the other materials in this area, the complexity and cost for the non-RVT version would go up even more, so the RVT savings would be more obvious. What savings are you seeing when you implement it?

    • @well.8395
      @well.8395 Před 3 lety

      @@BenCloward Cool, that’s making a lot sense now. Multi layers make the shader complexity of those landscape components go really high. I’ll have to test it for my open world mobile game and let you know if theres some performance improvement.
      Thank you again, Ben. Keep them coming ❤️

  • @marekcahyna9342
    @marekcahyna9342 Před rokem

    Hey Ben, Hope you can answer my idea, Am I able to make blend between two setups for landscape, Im pointing at next video where you had to plug only near/Micro detailed version. So how about to make 2 rvt for Micro and 2nd for Macro detailed and later blend Material attributes via some distance mask and then plug it into main Material output to be rendered? Also I would use use 3rd low res rvt only for BC for my Stylized grass meshes. What do you think about it? I think it could possibly work 😅
    BTW great videos, Im fan since 2019!
    Thanks for them ❤

    • @BenCloward
      @BenCloward  Před rokem

      Yes, I believe that could work and it's an interesting idea. The one thing I'd be concerned about is the amount of texture memory that it would require as RVTs tend to take up a lot of space. So you may want to try it and check to see how much GPU memory you're using before you start depending on it.

  • @mindped
    @mindped Před 5 měsíci

    curious... in previous videos you set up materials to have a far version of textures and a near version... do RVTs utilize that? Because it seems like ud need multiple RVTs for that.

    • @BenCloward
      @BenCloward  Před 5 měsíci +1

      No they don't. When rendering to an RVT, there's no camera, so it's not possible to know how far from the camera you are.

  • @ediksidorov5037
    @ediksidorov5037 Před měsícem

    Hey Ben, it’s amazing you helped me a lot with optimizing the landscape, but the objects that has rvt samplers in my scene red how can I make them green? I have tried the same method with rvt sampler but it’s not working maybe I’m doing something wrong? What is the right setup for meshes that have rvt in it?

  • @LordAssassinLych
    @LordAssassinLych Před rokem

    UE 5.2 doesn't even crash. It just freezes completely when trying to pick that virtual texture.

  • @tr1tu
    @tr1tu Před 3 lety +1

    Thanks for these great tutorials, Ben!
    How is the transition between near and far textures working when you enable RVT? Given that the textures are rendered only once, is it possible to use this transition? Or are we always using the far textures? Thank you in advance!

    • @BenCloward
      @BenCloward  Před 3 lety +3

      I'll be talking about this in next week's video.

    • @tr1tu
      @tr1tu Před 3 lety

      @@BenCloward Ok! Thank you again :)

    • @Paul-xu6gt
      @Paul-xu6gt Před 2 lety

      when i modify the coordinates of one material in its blueprint it modifies the coordinates of every material in my map, for example if i modify the coordinates of the material of my terrain, it also modify the coordinates of the tiles texture on my walls, why is that? ps im new to ue

  • @Hotrood999
    @Hotrood999 Před 3 lety

    Thanks, Ben!
    You said we trade memory for performance, is it RAM or VRAM?
    looking forward to the next video

  • @wolfwirestudios
    @wolfwirestudios Před 11 měsíci

    Didn't work. I altered the material but when I save to apply it crashes with this "......Assertion failed : .... Failed to acquire space for VT (32 x 32).........". I'm using UE5.0.3

  • @letsplaysomthing3799
    @letsplaysomthing3799 Před rokem

    its realy good video thank you and i got so problems my landscape is much bigger and when i put max VT textures anyway blur how i can fix it?

  • @tgykurtulus
    @tgykurtulus Před rokem

    hello,great idea ana tutorial! In my case the fog partickle uses alot of source. Do you think virtual texture work with that? or what i can do for optimisation of such these partickles

  • @greatsol2444
    @greatsol2444 Před rokem

    If you lose some resolution using this method, can’t you just increase the resolution of the original texture to offset that? Also could you use runtime virtual textures for other things like buildings, or other static objects? Or non-static objects/vehicles?

    • @BenCloward
      @BenCloward  Před rokem +1

      Once the original textures are rendered to the virtual texture, it's the resolution of the virtual texture that matters, not the resolution of the original. Making the original a lot higher resolution than the virtual texture won't improve the result.

  • @Atl3m
    @Atl3m Před 2 lety

    Can you make a video on dynamic landscape material and how to turn it on and off at run time. . aka turn on when snow and rain and turn off when sunny day

  • @ElShotte
    @ElShotte Před 2 lety

    Hey Ben, quick question - do you know if RVT's work with level streaming?

  • @Ugly_Baby_Gaming
    @Ugly_Baby_Gaming Před 3 lety +1

    what do I do about multiple landscapes using the same material? i.e world composition

    • @mic007129
      @mic007129 Před 3 lety

      I am wondering the same thing.

    • @Ugly_Baby_Gaming
      @Ugly_Baby_Gaming Před 3 lety +1

      @@mic007129 i did get it to work by going to each level giving each a RVT but had stretching of textures worked it out and created an instance material for each level now it works not exactly ideal though but if you just use world composition to set up and build the levels then seperate them after it doesn't seem to get the stretching as its not getting confused to who the texture belongs to... will it work if loading more than one level using one RVT not tried it yet ???

    • @mic007129
      @mic007129 Před 3 lety

      @@Ugly_Baby_Gaming Thanks that is good to know, I need to learn a bit more about this but I will do some tests soon.

  • @senopatict
    @senopatict Před rokem

    I try thats and got better green optimazion but not foun texture or I see grey color, dont know whats wrong?

  • @Paul-xu6gt
    @Paul-xu6gt Před 2 lety

    when i modify the coordinates of one material in its blueprint it modifies the coordinates of every material in my map, for example if i modify the coordinates of the material of my terrain, it also modify the coordinates of the tiles texture on my walls, why is that? ps im new to ue

  • @xnicktendox7501
    @xnicktendox7501 Před 10 měsíci

    I just followed this tutorial up to the 12:40 mark and once I saved the material my entire project crashed. Now I can't open my project without it immediately crashing. Do you have any idea why or what I can do to fix it?

  • @HaloDude557
    @HaloDude557 Před 2 lety

    How could you make this work with a distance blend? The RVT is essentially caching my landscape's far distance UV scaling so it doesn't shrink and become more detailed as you move closer, making it look terrible.

    • @BenCloward
      @BenCloward  Před 2 lety

      In the next episode - #23, WszelkieBro posted a comment explaining how this can be done. I haven't tried it yet myself, but give it a shot and let me know how it goes.

  • @IRONFRIDGE
    @IRONFRIDGE Před 2 lety

    Hi i use World Composition. Ue4 says its not supported for this kind of Maps?

  • @allashama
    @allashama Před rokem

    its working but gained no performance at all, dont know why.. before and after, my GPU still remains at 16ms. but the Shader complexity now show the landscape green everywhere, instead of multiple green tones as before.

    • @BenCloward
      @BenCloward  Před rokem

      You may need to build and run the project outside of the editor to see a difference. Did you try that?

    • @allashama
      @allashama Před rokem

      @@BenCloward no i didnt try it, i'll try it thanks :P

    • @BenCloward
      @BenCloward  Před rokem +1

      @@allashama Very frequently, the performance characteristics of running the built version of the game are VERY different from what the editor is showing you, so when judging performance, it's always best to look at it outside of the editor.

  • @unrealdevop
    @unrealdevop Před 3 lety +1

    Great Video this was super helpful. I have a strange bug though that's being caused by this technique. When launched in 'Standalone Game' mode, I get flickering at the tops of my mountains where the snow is. I didn't notice it until I did this so I tested it and I can confirm it stopped when I switched back to the old method. It seems to be going from solid snow to a combo of snow and stone.
    Update: So it has something to do with the size of my terrain vs the RVT resolution settings. Setting the Border Padding to 0 creates a white border at each tile but completely eliminates this effect I'm seeing

    • @unrealdevop
      @unrealdevop Před 3 lety +1

      I figured it out....I turned down ''Size of each VT tile'' to see if it would fix it and it made it worse, so I turned it all the way up but then I was getting untiled tiles showing up randomly....Finally as a last resort I thought...let me try setting it to 0...and it fixed it. I ended up setting it to 1 and it still worked...So yeah I guess it just depends on the size of your terrain....

  • @TheJackalxy
    @TheJackalxy Před 3 lety +1

    I don't know if it's correct but it hink the biggest problem trying to optimize this landscape is that it is HUUUUGE. I tried walking with the default third person mannequin from side to side and it took me 22 mins and 35 seconds. As reference, walking as much in skyrim (tried without sprinting, so with more or less the same speed) was enough to make the long side almost TWICE.
    I'm not sure if it is a correct way of mesuring, but if it is I think maybe there is a way for optimizing using more smaller landscape, culling the one out of sight?

    • @BenCloward
      @BenCloward  Před 3 lety +1

      Yes, making the landscape smaller will always make it go faster. But the real challenge is - how can you make a big landscape run fast? So if you don't need a big landscape, by all means, make a small one, and then you won't have to worry as much about making it fast. But if you need to create a big map for your project, you're going to need to find some other way of optimizing it, and RVT is one such solution. (I'm pretty impressed with your method for measuring size with walking speed, btw. That's cool!)

    • @TheJackalxy
      @TheJackalxy Před 3 lety +1

      @@BenCloward Thank you very much for your answer :D I always appreciate your dedication to optimization, your video lessons are a treasure! I'll definitely try RVT, I think there is an enormous potential in those

  • @stephenmaloney424
    @stephenmaloney424 Před 3 lety

    Hi Ben! Quick suggestion for a future video - UE4 supports HLSL code in the custom node; is there any chance you could explain how that works a bit in a video? It seems to me like you might be the perfect person to explain/understand it. I've been able to do some very basic stuff with it, but I want to be able to make my own wireframe material (in order to make the wireframe thicker) and I can't figure out really where to start, because the custom node doesn't have much (any) documentation and it doesn't seem like you can just type any HLSL in there and it work. Thanks!

    • @BenCloward
      @BenCloward  Před 3 lety

      Thanks for the suggestion, Stephen. Are there some specific things you'd like to do with HLSL that you can't do with the regular node graph? The HLSL node is there for when you want to do something in the material that isn't possible to do with the available set of nodes. It would be easier for me to do a tutorial on HLSL if I had a specific thing I was trying to do with it.

    • @stephenmaloney424
      @stephenmaloney424 Před 3 lety

      @@BenCloward Thanks for the response Ben! The specific thing I was trying to do was to make my own wireframe material, so that I could control it's wire width. This way when I deploy the game to Quest, the wireframe hopefully would look less aliased. Currently in UE4 the only way to make a wireframe material I'm aware of is to use the wireframe check box, and it has no settings. So I searched for tutorials on how to make my own wireframe, and found a few small examples that I couldn't figure out how to translate into something I could use in UE4. For example: codea.io/talk/discussion/3170/render-a-mesh-as-wireframe

    • @BenCloward
      @BenCloward  Před 3 lety

      @@stephenmaloney424 Ok, I’ll see if I can find some time to play with this. It’s fairly off-topic for what my videos are focused on right now, it’s also interesting. I’ll see what I can do.

  • @semirukiya5308
    @semirukiya5308 Před rokem

    This is really great, but do You have any idea why the landscape textures are all blurred and it takes them a while to sharpen out? The same goes for Virtual Texturing for normal meshes... And my PC is an actual monster, so it cannot be the case.
    Cheers!

    • @adriamedina2893
      @adriamedina2893 Před rokem

      Did you manage to solve this issue? I'm having the same problem and can't seem to find a solution

    • @semirukiya5308
      @semirukiya5308 Před rokem

      @@adriamedina2893 hi, unfortunately not. I had to give up RVT for good as no matter what I tried to use, I still had some blurriness from time to time which in my case is not acceptable :/ Even changing configs didn't help.

    • @adriamedina2893
      @adriamedina2893 Před rokem

      @@semirukiya5308 If you still want to use it, I opted for using the Brushify free landscape material with the textures I was using for my project in custom layers and seems to be working well

  • @Restart-Gaming
    @Restart-Gaming Před 3 lety

    hey great but my landscape did not change its now just a big blur and its a bright red trees are green

  • @fran.fernandez
    @fran.fernandez Před 2 lety

    did this setup change in 4.26 ? all i get is black color but the texture is ok (content browser)

  • @ShortBusTrip
    @ShortBusTrip Před 2 lety

    Curious if you have solved the issue with the RVT not being compatible with the camera node? I went through the rest of the playlist and don't see a fix for this

    • @BenCloward
      @BenCloward  Před 2 lety

      It's not solvable. There is no camera when the RVT is rendered - so if you use RVT, you have to create a shader that doesn't depend on a changing camera location. Mine does unfortunately, so we'll need to re-think the method we use for breaking the tiling.

  • @vegitoblue2187
    @vegitoblue2187 Před 3 lety

    so is this exclusive to terrain or it can be used on static meshes as well?

  • @vegitoblue2187
    @vegitoblue2187 Před 3 lety

    this virtual texuring sounds a lot like the megatexture tech John Carmak made for idtech 5 and 6. How would this be different considering they ditched it for texture streaming in idtech 7.

    • @BenCloward
      @BenCloward  Před 3 lety

      It's very much like megatexture - yes. It's ideally suited for terrain/landscapes. idtech attempted to use it for everything - which was a challenge, especially considering the disk speeds at the time.

    • @vegitoblue2187
      @vegitoblue2187 Před 3 lety

      @@BenCloward interesting. So I could use it for skeletal meshes too in theory? And what about static meshes in the environment?

  • @hammertl2673
    @hammertl2673 Před 3 lety

    Hi Ben, have no idea what is wrong with my material. When I am using runtime virtualtexture sample instead, the base pass shader increase from 115 to 234? It is really weird. (I am using 4.26)

  • @Restart-Gaming
    @Restart-Gaming Před 3 lety

    Hope to hear from you soon should this be done after every thing is down like grass trees rocks etc

    • @BenCloward
      @BenCloward  Před 3 lety

      If you know of a way to make things render faster - I say go ahead and do it. There are a lot of people who say you should save the optimization until the end, but personally, I like to do it all along the way. If you have all of your grass, rocks, and trees placed when you apply the optimization, you'll get the most accurate measurement of how much of a difference the change makes - but if it's something you're going to do anyway, you might as well go ahead.

  • @kinggore5229
    @kinggore5229 Před 3 lety

    Wait...I think there's a bake material button that could save our ass. :D

  • @Albert-III
    @Albert-III Před 3 lety

    Have virtual textures changed since this tutorial was posted? (I'm using 4.26.1) I'm seeing different options in the RuntimeVirtualTextureVolume with a 'Virtual Texture Build' section and different 'Transform from Bounds' options.

    • @BenCloward
      @BenCloward  Před 3 lety

      I think I may have been using 4.25 for this tutorial. Under 4.26, you just need to select the landscape in the drop-down box called "Bounds Align Actor" and then hit the Set Bounds button.

    • @Albert-III
      @Albert-III Před 3 lety

      @@BenCloward Thank you! That issue is now solved :) but still having trouble with my Virtual textures. I've disabled them like you for now and will look back at the tutorials another time

  • @Atl3m
    @Atl3m Před 2 lety

  • @ethanwasme4307
    @ethanwasme4307 Před 3 lety

    Hey ben, what does it mean to move code to the vertex shader? I am aware of custom UVs, but they only save me an instruction or two per unique UV
    also when people say that they are only rendering X or Y texture per pixel instead of ghfghfghfhth (Distance blening uses both textures when it could be X or Y for example), is there some custom code that achieves this?

    • @BenCloward
      @BenCloward  Před 3 lety

      If you have a bunch of math to do that doesn't involve sampling textures, and especially if it does involve UVs, vertex colors, or vertex normals, it's best to do that math in the vertex shader instead of the pixel shader. You can do that with a Vertex Interpolator node, where data going into the node on the left will be done in the vertex shader and data coming out on the right will be interpolated from vertices to pixels and ready for use with the rest of the material.
      I don't understand the second question.

  • @primm4991
    @primm4991 Před 3 lety

    I was thinking that if it is rendered only once, it means that I can use all those expensive nodes like noise, texture boming etc. Well... Not exactly. I noticed that I get huge performance issues related to VT when I was moving my camera. I think that the whole terrain is not rendered once, but rather the "chunks" of RVT are generated when they are needed. Am I correct?

    • @BenCloward
      @BenCloward  Před 3 lety +1

      Yes, that's correct. RVT updates tiles based on what's visible in view. So if your landscape materials is super duper expensive, you'll get hitching as you move around and tiles are updated. It is true that you can make your landscape material a bit more expensive with RVT, but that doesn't mean you can make it ridiculously more expensive.

  • @RiverFox_YT
    @RiverFox_YT Před rokem

    when i do this, it makes no difference to the landscape whatsoever

  • @keenanrvndr
    @keenanrvndr Před 3 lety

    Hi sir. Do i need to Enable virtual Texture streaming at texture import settings for every texture that will going to RVT output? If i dont, is it possible to use texture 2d array for virtual texture?

    • @BenCloward
      @BenCloward  Před 3 lety

      I don't believe turning on virtual texture streaming is required for every texture, no. For the other question about using an array, that may be possible but I haven't tried it. My main concern would be the method that you're using to select which array element to use. You want to make sure it's a method that is static (not animated over time) so that the virtual texture can only update itself periodically and get consistent results.

  • @openroomxyz
    @openroomxyz Před 2 lety

    Does Unreal 5 Suport Runtime Virtual Textures ?

    • @BenCloward
      @BenCloward  Před 2 lety

      I haven't tried it myself, but I believe it does.

  • @Restart-Gaming
    @Restart-Gaming Před 3 lety

    hey just retried this and mine is still very very red I think this only work on your landscape material not any from the asset store if you have a discord could sent you a photo of my material and let me know where I went wrong?

  • @danielgraham4616
    @danielgraham4616 Před 3 lety

    Hey! I was wondering if it's possible to use methods to break up tiling landscapes with RVT, I can't seem to fit the workflow after connecting the RVT sample to the output as it seems to overide anything relating to my tiling breakups in material functions that route through to the RVT output.

    • @BenCloward
      @BenCloward  Před 3 lety

      RVT doesn’t have a camera, so if you’re using tiling breakup techniques that depend on distance from camera, you’ll need to replace those with methods that don’t use the camera. There’s a pretty nice method used in one of the standard materials that ships with Unreal. I think it might be the gold material. It uses octaves of noise. Take a look and see if you can find it.

    • @danielgraham4616
      @danielgraham4616 Před 3 lety

      @@BenCloward Got it thanks! Ah yes I remember you saying about RVT and Camera!

  • @argieforever
    @argieforever Před 2 lety

    Hi. I was following all this superb playlist of tutorials on a Mac and got stuck in this one for lack of support for the platform. I bought a PC and restarted from here, with the Runtime Virtual Textures working like a charm, but a previous issue, that I thought was also related to the OS, popped up again.
    It seems that I exceeded the max amount of Texture Samplers with the material. To solve it on Mac I just disconnecet one of the detail levels at the Landscape MF, but I expected it to work on PC, which didn't happened: still exceeded the max (I have 12/16 with those nodes deactivated on the MF).
    Somebody have any idea on which step I'm doing wrong to having the excess on samplers?
    Thanks in advance.
    Best regards.

    • @BenCloward
      @BenCloward  Před 2 lety +1

      Select each of your texture sampler nodes and set the Sampler Source setting to Shared:Wrap. That will tell the engine to share/reuse texture samplers for all of the textures instead of using a unique one for each sample and will allow you to bypass the 16 sampler limit.

    • @argieforever
      @argieforever Před 2 lety

      @@BenCloward Thanks! I'll try that.

  • @nicolarre
    @nicolarre Před 3 lety

    Hey Ben, you said the runtime texture updates only once in a while. Where can this setting be found? Can I tell the RVT to just render only once and never again?

    • @BenCloward
      @BenCloward  Před 3 lety +5

      There is not enough texture memory for the entire landscape to be rendered all at once. So the runtime texture only renders what is needed for the current view. When the view changes, it needs to re-render some of the tiles depending on how the view has changed. So the system manages the tile rendering based on what is needed for the view.

    • @eugeneamirov4533
      @eugeneamirov4533 Před 3 lety

      @@BenCloward , thank you for explaining this. Does it at least mean that, while we are concerned about memory, we can be less concerned about texture lookups in the material? I am asking because I am having an issue packing RG-normals for normal maps having negative Z (as deriving doesn’t get the sign accurately due to sqrt), so I need to have one more channel, which in case of 4+4 packing means that I am going to have another texture.

  • @Albert-III
    @Albert-III Před 3 lety

    Followed the whole series and somehow ended up with my landscape material having 963 instructions whereas Ben's has 324, I wonder where I went wrong! XD

    • @BenCloward
      @BenCloward  Před 3 lety

      I think you may have your project set to use the forward renderer instead of the deferred renderer. When you first created your project, did you set it for Maximum Quality and Desktop/Console, or did you select Mobile / Tablet?

    • @Albert-III
      @Albert-III Před 3 lety

      @@BenCloward If I remember correctly I set it to Maximum quality and desktop/console

  • @Restart-Gaming
    @Restart-Gaming Před 3 lety

    hey was trying this at 10:21 your show source actor mine show Bound align actor did that but there is no copy bound or copy rotation I have set bounds but its grayed out? then below that is snap to landscape?

  • @marcinesa1336
    @marcinesa1336 Před 3 lety

    hello Can you make a tutorial from start to finish how to make your landscape virtual textures I do not know how to connect further so that it works with disp

    • @BenCloward
      @BenCloward  Před 3 lety

      I chose not to use displacement since it was draining performance. You might be able to pass the height into the mask input of the RuntimeVirtualTexture Output node and then connect the Mask output of the Runtime Virtual Texture Sample node to the Height input of the MI_LandscapeDisplacement node. Then connect the displacement and tessellation outputs of that to the root. I just tried that and it worked. I also had to convert the the RuntimeVirtualTexture to YCoCg Base Color, Normal, Roughness, Specular, Mask - so that it would store the mask data. The results aren't that nice looking since the landscape resolution is only 1 vertex per meter. This means that the resulting tessellation isn't high enough to make the displacement look good. You can still do it of course, but I don't think the benefit is worth the extra cost.

    • @marcinesa1336
      @marcinesa1336 Před 3 lety

      @@BenCloward ok thanks but what do You recommend to use instead of virtual textures ?? make it all look better

  • @Khalid_Looby
    @Khalid_Looby Před 3 lety

    Then why my fps drop when i use virtual texture?

    • @BenCloward
      @BenCloward  Před 3 lety

      I don't have any way of knowing that. I don't have any details about your setup. If the technique isn't working well for you in your situation, then don't use it.

    • @Khalid_Looby
      @Khalid_Looby Před 3 lety +1

      @@BenCloward im using it on mobile and using ver 4.25 they made it better in 26, ill install it and check

  • @Restart-Gaming
    @Restart-Gaming Před 3 lety

    Is it true that run time virtual texture will not work with large tiled landscape in world comp?

    • @BenCloward
      @BenCloward  Před 3 lety +1

      That is my understanding, yes. I read somewhere that Epic wasn't planning to support world comp going forward because they're going to replace it with something else, so they're not spending time making other systems support it.

    • @Restart-Gaming
      @Restart-Gaming Před 3 lety

      @@BenCloward so its best to wait for my open world game until that time? still Great video learn a lot

  • @Restart-Gaming
    @Restart-Gaming Před 3 lety

    I tried this on mine and getting all above 22 looks like my computer needs to be updated

    • @BenCloward
      @BenCloward  Před 3 lety

      I do have a fairly beefy machine. I'm running a Ryzen 3900X and a RTX 2070.

  • @oswinlost8786
    @oswinlost8786 Před 3 lety

    Hi Ben, Thanks again for the new video. I don't remember if you stated your system specs in other videos. I sent you an email with pictures of my material shader but cleaned up a lot in that shader I have way fewer base pass shader instructions and using only 1 texture sample the only thing I have done differently than you made functions for everything and place them into the master material my texture ps lookups are at 24 I am running a 1060 and getting around 100 fps without RTV Textures. If you could please check your email and look at those pictures maybe you can find something I did that made the master material lighter than yours (Functions is what I am thinking here) thanks again

  • @tylerevangelista8845
    @tylerevangelista8845 Před 3 lety

    my instructions went from 221 to 250 and my PS lookup went from 27 to 71 when implementing a RVT. Any idea what would cause this?

    • @BenCloward
      @BenCloward  Před 3 lety

      It sounds like your landscape wasn’t that complex to begin with. If you don’t plan on making it any more complex than that, you’re probably better off not using RVT.

    • @tylerevangelista8845
      @tylerevangelista8845 Před 3 lety

      @@BenCloward thanks for the quick response, shader complexity is showing as dark red so I had hoped to improve performance a bit in that area.

    • @ethanwasme4307
      @ethanwasme4307 Před 3 lety

      @@tylerevangelista8845 then your materials display of 221 is false... you need to set the preview weights in your layer blend node to see true instruction counts...
      for example, setting 4 layers to 1.0 preview will show the instructions as if 4 layers have been painted

  • @Madlion
    @Madlion Před 2 lety

    This technique is flawed when I use to blend with megascans, their shader complexity skyrockets

  • @superfluousvii9686
    @superfluousvii9686 Před 3 lety

    i keep getting D3D compile exception error every time i apply, any help? Im on 4.26

    • @BenCloward
      @BenCloward  Před 3 lety

      When did you start getting this error? Was it during this episode or before? I noticed you posted the same comment in episode 23.

  • @marcinesa1336
    @marcinesa1336 Před 3 lety

    can I use paralax onclussion in lanscape with virtual textures ?

    • @BenCloward
      @BenCloward  Před 3 lety

      No, parallax occlusion requires a camera vector, and there is no camera when the material is rendered into the RVT.

    • @marcinesa1336
      @marcinesa1336 Před 3 lety

      @@BenCloward meaby bumpoffset ?? also not ?

    • @ethanwasme4307
      @ethanwasme4307 Před 3 lety

      @@marcinesa1336 also not... displace the vertices or use (wait for) virtual heightfields

  • @hanye4701
    @hanye4701 Před 3 lety

    Who else found that intro clip so brainwashing?

  • @TNTMEKKI
    @TNTMEKKI Před 3 lety

    how to work your setting in Brushify Material bcs i buy Brushify material in market i make your settings in my Brushify material not work for me my landscape its red and my sky and water red can you help me how to fix that or maybe give me your material files

    • @TNTMEKKI
      @TNTMEKKI Před 3 lety

      and sorry for bad english

    • @TNTMEKKI
      @TNTMEKKI Před 3 lety

      i fix my landscape now its green but my water and sky its red

    • @BenCloward
      @BenCloward  Před 3 lety +1

      I've never seen or used the Brushify materials, so I'm not going to be much help with that. Also, this is a tutorial about landscapes. I haven't done anything with water or sky yet. I'm not really sure what you did to make them turn red.

    • @TNTMEKKI
      @TNTMEKKI Před 3 lety

      @@BenCloward I bought the sea and sky mutant from marketplace

  • @Zeriel00
    @Zeriel00 Před 2 lety

    RVTs in just 50 easy steps 😭