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

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 182

  • @BenCloward
    @BenCloward  3 роки тому +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 3 роки тому

      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  3 роки тому

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

    • @FerlinDev
      @FerlinDev 3 роки тому +2

      My landscape went from 70 to 120 FPS
      Thanks a lot

    • @FerlinDev
      @FerlinDev 3 роки тому +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  3 роки тому

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

  • @andreiblackfish1185
    @andreiblackfish1185 11 місяців тому +5

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

  • @Gorongirl
    @Gorongirl 7 місяців тому +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!

  • @skol45
    @skol45 Рік тому +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 3 роки тому +13

    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 2 роки тому

      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 Рік тому +2

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

  • @Al1987ac
    @Al1987ac Рік тому +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.

  • @cablekingtv6557
    @cablekingtv6557 3 роки тому +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 3 роки тому +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 2 роки тому +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 2 роки тому +2

    Great teachings here . Thank you very much for your time

  • @HOUCEMATE
    @HOUCEMATE 2 роки тому +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

  • @chlbrn
    @chlbrn 3 роки тому +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.

  • @StarCourtesan
    @StarCourtesan 2 місяці тому

    Please make more of these for the newer UE world partition HLODs and stuff, you explain things so well

  • @artemaung5274
    @artemaung5274 3 роки тому

    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 3 роки тому

      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.

  • @wilismatrix9847
    @wilismatrix9847 3 роки тому +3

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

  • @lexmurden5221
    @lexmurden5221 2 роки тому +1

    This is very good! It helped me a lot.

  • @tech-ii5sh
    @tech-ii5sh 2 роки тому +1

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

  • @theobai8986
    @theobai8986 3 роки тому +1

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

    • @BenCloward
      @BenCloward  3 роки тому

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

  • @TelesphorosGAMEDEV
    @TelesphorosGAMEDEV Рік тому +1

    Amazing tutorial, thanks again

  • @pizzaman11
    @pizzaman11 3 роки тому +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 3 роки тому

      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 3 роки тому

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

    • @weirdshit
      @weirdshit 3 роки тому

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

  • @seansopata5121
    @seansopata5121 3 роки тому +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.

  • @shoaibraza6019
    @shoaibraza6019 Рік тому +1

    Thanx Sir
    Helped a lot

  • @sams_3d_stuff
    @sams_3d_stuff 3 роки тому +1

    Thank you sensei!

  • @oozly9291
    @oozly9291 3 роки тому +1

    Fantastic channel!

  • @TorQueMoD
    @TorQueMoD Рік тому

    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!

  • @cgkrab
    @cgkrab 2 роки тому +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.

  • @pixelflow2180
    @pixelflow2180 3 роки тому +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 3 роки тому +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.

  • @well.8395
    @well.8395 3 роки тому +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  3 роки тому +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 3 роки тому

      @@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 ❤️

  • @PijarnJangsawang
    @PijarnJangsawang 3 роки тому +1

    amazing

  • @ArcaneTurbulence
    @ArcaneTurbulence 2 роки тому +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.

  • @ahmadnaweedrustami7354
    @ahmadnaweedrustami7354 7 місяців тому

    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.

  • @tgykurtulus
    @tgykurtulus Рік тому

    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

  • @tr1tu
    @tr1tu 3 роки тому +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  3 роки тому +3

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

    • @tr1tu
      @tr1tu 3 роки тому

      @@BenCloward Ok! Thank you again :)

    • @Paul-xu6gt
      @Paul-xu6gt 2 роки тому

      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

  • @ediksidorov5037
    @ediksidorov5037 4 місяці тому

    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?

  • @letsplaysomthing3799
    @letsplaysomthing3799 Рік тому

    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?

  • @ElShotte
    @ElShotte 3 роки тому

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

  • @Atl3m
    @Atl3m 2 роки тому

    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

  • @kinggore5229
    @kinggore5229 3 роки тому

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

  • @TheJackalxy
    @TheJackalxy 3 роки тому +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  3 роки тому +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 3 роки тому +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

  • @Restart-Gaming
    @Restart-Gaming 3 роки тому

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

    • @BenCloward
      @BenCloward  3 роки тому

      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.

  • @marekcahyna9342
    @marekcahyna9342 Рік тому

    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  Рік тому

      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 8 місяців тому

    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  8 місяців тому +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.

  • @hammertl2673
    @hammertl2673 3 роки тому

    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)

  • @LordAssassinLych
    @LordAssassinLych Рік тому

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

  • @Hotrood999
    @Hotrood999 3 роки тому

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

  • @vegitoblue2187
    @vegitoblue2187 3 роки тому

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

  • @senopatict
    @senopatict Рік тому

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

  • @IRONFRIDGE
    @IRONFRIDGE 3 роки тому

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

  • @unrealdevop
    @unrealdevop 3 роки тому +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 3 роки тому +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....

  • @ShortBusTrip
    @ShortBusTrip 3 роки тому

    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  3 роки тому

      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.

  • @Paul-xu6gt
    @Paul-xu6gt 2 роки тому

    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

  • @frycs1255
    @frycs1255 2 місяці тому

    it seems impossible just in theory, but is there any way to distance blend between two virtual textures?

  • @greatsol2444
    @greatsol2444 Рік тому

    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  Рік тому +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.

  • @stephenmaloney424
    @stephenmaloney424 3 роки тому

    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  3 роки тому

      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 3 роки тому

      @@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  3 роки тому

      @@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.

  • @xnicktendox7501
    @xnicktendox7501 Рік тому

    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?

  • @oswinlost8786
    @oswinlost8786 3 роки тому

    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

  • @semirukiya5308
    @semirukiya5308 2 роки тому

    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 Рік тому

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

    • @semirukiya5308
      @semirukiya5308 Рік тому

      @@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 Рік тому

      @@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

  • @ethanwasme4307
    @ethanwasme4307 3 роки тому

    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  3 роки тому

      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.

  • @wolfwirestudios
    @wolfwirestudios Рік тому

    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

  • @Albert-III
    @Albert-III 3 роки тому

    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  3 роки тому

      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 3 роки тому

      @@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

  • @primm4991
    @primm4991 3 роки тому

    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  3 роки тому +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.

  • @keenanrvndr
    @keenanrvndr 3 роки тому

    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  3 роки тому

      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.

  • @vegitoblue2187
    @vegitoblue2187 3 роки тому

    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  3 роки тому

      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 3 роки тому

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

  • @Restart-Gaming
    @Restart-Gaming 3 роки тому

    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?

  • @nicolarre
    @nicolarre 3 роки тому

    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  3 роки тому +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 3 роки тому

      @@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.

  • @danielgraham4616
    @danielgraham4616 3 роки тому

    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  3 роки тому

      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 3 роки тому

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

  • @Restart-Gaming
    @Restart-Gaming 3 роки тому

    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?

    • @BenCloward
      @BenCloward  3 роки тому

      Sounds like you're using a different version of Unreal.

    • @Restart-Gaming
      @Restart-Gaming 3 роки тому

      @@BenCloward yes 4.26

  • @Restart-Gaming
    @Restart-Gaming 3 роки тому

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

  • @Atl3m
    @Atl3m 2 роки тому

  • @argieforever
    @argieforever 2 роки тому

    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  2 роки тому +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 2 роки тому

      @@BenCloward Thanks! I'll try that.

  • @HaloDude557
    @HaloDude557 2 роки тому

    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  2 роки тому

      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.

  • @fran.fernandez
    @fran.fernandez 3 роки тому

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

    • @fran.fernandez
      @fran.fernandez 3 роки тому

      my fault, it wont work with tesellation

  • @allashama
    @allashama Рік тому

    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  Рік тому

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

    • @allashama
      @allashama Рік тому

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

    • @BenCloward
      @BenCloward  Рік тому +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.

  • @marcinesa1336
    @marcinesa1336 3 роки тому

    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  3 роки тому

      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 3 роки тому

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

  • @marcinesa1336
    @marcinesa1336 3 роки тому

    can I use paralax onclussion in lanscape with virtual textures ?

    • @BenCloward
      @BenCloward  3 роки тому

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

    • @marcinesa1336
      @marcinesa1336 3 роки тому

      @@BenCloward meaby bumpoffset ?? also not ?

    • @ethanwasme4307
      @ethanwasme4307 3 роки тому

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

  • @Restart-Gaming
    @Restart-Gaming 3 роки тому

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

    • @BenCloward
      @BenCloward  3 роки тому +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 3 роки тому

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

  • @superfluousvii9686
    @superfluousvii9686 3 роки тому

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

    • @BenCloward
      @BenCloward  3 роки тому

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

  • @openroomxyz
    @openroomxyz 2 роки тому

    Does Unreal 5 Suport Runtime Virtual Textures ?

    • @BenCloward
      @BenCloward  2 роки тому

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

  • @RiverFox_YT
    @RiverFox_YT Рік тому

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

  • @Albert-III
    @Albert-III 3 роки тому

    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  3 роки тому

      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 3 роки тому

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

  • @tylerevangelista8845
    @tylerevangelista8845 3 роки тому

    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  3 роки тому

      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 3 роки тому

      @@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 3 роки тому

      @@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

  • @Khalid_Looby
    @Khalid_Looby 3 роки тому

    Then why my fps drop when i use virtual texture?

    • @BenCloward
      @BenCloward  3 роки тому

      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 3 роки тому +1

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

  • @hanye4701
    @hanye4701 3 роки тому

    Who else found that intro clip so brainwashing?

  • @Restart-Gaming
    @Restart-Gaming 3 роки тому

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

    • @BenCloward
      @BenCloward  3 роки тому

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

  • @Madlion
    @Madlion 2 роки тому

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

  • @Zeriel00
    @Zeriel00 2 роки тому

    RVTs in just 50 easy steps 😭

  • @TNTMEKKI
    @TNTMEKKI 3 роки тому

    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 3 роки тому

      and sorry for bad english

    • @TNTMEKKI
      @TNTMEKKI 3 роки тому

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

    • @BenCloward
      @BenCloward  3 роки тому +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 3 роки тому

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