I don't know how you do it, but every video on this channel is exactly what I want to learn in Unreal. No other channel comes close with how precious these tips are!!
This has been a lifesaver! Trying to line up mesh paths with doors and bridges is damn near impossible, so this method has genuinely saved hours of my life! I cannot thank you enough for this series. It has improved my environments beyond belief
I've encountered a strange issue where the path end falloff works perfectly in one direction, but in the other, it is reversed (starts full brick and gets less filled until it hits the next node where it instantly becomes saturated again). I think it has something to do with the changes mentioned at 7:22 in the text, but I'm not sure how to fix it to get it working correctly. Edit: Fixed it! For anyone encountering this problem. Go to the right side of the spline BP and make sure the first set custom prim data node has "index 0 + value 1" and that the second node has "index 0 + value -1". Next go into the path material bp and find the start end primitive data nodes next to the red colour. Set end to 1 and start to -1
This is a very smart use of the RTV, thanks a lot! I will be taking a look at this later, and the second part too! Thanks a lot for all the tutorials :)
Headsup, the spline Blueprint that was posted in the description has some typos. Particularly the values and indexes of the custom data at the end don't match the video. Follow what's in the video
Hey :) how do you use that mask for removing the grass? - do you sample the RVT in the grass material or do you sample it in the landscape? - idk but i use rvt for my landscape and i think i can not sample a new RVT inside of it or atleast it is not working for me.
Hey hey! That's a good question. I use it in the grass material itself, but you could do it to actually exclude grass from being spawned in the first place (if you're able to sample multiple RVT's)
Just what i did! I just figured it out! :D it only works to write and sample the same RVT in the landscape material when the sample is written to the landscape grass output. In my case the brush material stores this simply in the mask channel of the rvt, because the rest is used by the rendering of the landscape already (also funny the mask value has to be set to 0... 1 returns everything just as 1 not just the mask )@@PrismaticaDev
Unfortunately not - RVT’s always require the actors to be there for when it re-draws, since you can add and REMOVE anything at any time (unlike a Render Target)
Really cool stuff Charlie as always! I use really close methods to "bake" fields to landscape :o]] But you improve it as always, so I maybe little bit refactoring it. TY!
@@rabenfreund5323 double check that the RVT box is covering the whole landscape, particularly the Z direction. Also make sure the landscape is assigned to draw to the RVT’s :)
You're the best Charlie! In case anyone else bumps into it like me: don't forget to assign the run time virtual texture in the Add Spline Mesh Component node in the construction script of the spline.
I think I might be having a similar issue to what you're describing. Could you elaborate on what you mean? My spline meshes won't render and I think this might be the issue, but I'm not sure where to find what you're referring to
@@Liam-fd4uh at the 3:51 mark he describes the Add Spline Mesh Component. This is where you would add your own plane geo. If you click on that node there is a parameter to assign which run time virtual texture the spline will be output to.
How did you taper of the end? When I do it the taper is along the entire mesh. I see that yours only taper to the first node. Do I utilize an if statement and multiply with a scalar if true?
Hello, this is an old video so maybe no one will see this but, when writing the normal to the rvt, it does not take into account the shape of the landscape, so this would work on a flat landscape with a flat spline but for for anything else you would have incorrect normals.
Hey hey - that's correct, you'll need to make the spline conform to the landscape as best as possible. If you're using a separate dedicated RVT for roads/paths, you could write to it as Tangent Space and then sample it like normal in the Landscape, although you'd be sampling 2 RVT's. Usually when writing the Landscape's normals to the RVT you'd write them in world-space so you'd need to convert it from world to tangent at some point. Hope that makes sense, I haven't fully woken up yet haha
@@PrismaticaDev Thx for the quick reply, so I made a second rvt for the roads and then in the landscape master I blend anglecorrected normals of RVTlandscape with very high mip level together with the RVTroads. This way I essentially get rid of the normal map of whatever material was under the road before but still have the normal from the landscape shape. Then I lerp the result with the original landscape normal using the specular channel as a mask and a floor node to make it black and white. Works perfect! Thx for answering my comment because I hadn't thought of using 2 rvts
I cant get the spline material to print into the rvt somehow. Weird thing is I can get it working when I use the built-in splines in the landscape toolkit but then I dont have the control of the start and the end of the spline. Any ideas what I could be missing? EDIT: I found the problem! I forgot the option to make the plane mesh to write to RVT texture inside the spline blueprint.
Hey Charlie, really cool video ! I'm facing an issue trying replicate your material, my map is quite big and even with the highest settings in the RVT the rocks are blurry, is there a way to solve this ?
Any tip on attachine a physic material to a road? I'm testing with the physic material output in the landscape material, try to attach it to the road mask but I can't manage to have any result (and the mask work to remove the grass)
Good question... The Landscape Phys Mat output has been super buggy in my experience. I would try to smack your road spline just above the landscape if possible and use it as a collider
Thanks, yeah that solution would work for the road but I have another nightmare to solve. My next step is to texture the interior of a spline using a similar technique but with geo scripting. And I know I will never be able to make it fit the landscape properly :P @@PrismaticaDev
Awesome video, thanks a lot for sharing all these techniques. Is this still ok to use this technique with UE5 which is "deprecating" texture displacement?
While watching this video I got an idea: instead of projecting the material from the spline road onto the virtual texture you could project the UVs and then use them in the landscape material to map the textures.
I know im kinda late commenting but i have a problem with my opacity i think. My edges are not taking the dirt color they remain white instead and the grass doesn't dissapear neither. I have set up the grass oclussion with the rvt and all, it works on other objects but on the road it doesn't. I think the problem is with the textures but i don't know how to fix it. I imported a bunch of textures and nothing changes.
hi, what's the magic behind printing the texture to the terrains virtual texture ? I made a simple RVT output with a base color to test but nothings printing. Any help ?
You can also use RVT's for Decal's to remove the Draw Call required for them, Interlakes on YT videos on how to do this and even how to dynamically add them randomly / procedurally
Huge thanks for the awesome content. Just got a weird bug on this. Everything looks great in the viewport but once in playmode the material properties no longer works. It doesn't have the falloff. Any help!
Same problem here, either with UE 5.0.3 or 5.1 preview 1. I guess this is a UE bug? Good news though is falloff is working in standalone mode so will work in compiled game.
Hello! Could you recommend some resources where I could learn more details on optimizing RVT's and using RVT on very large maps? I'm about to use RVT for road splines, rock formations and more on a very large world partiotion map (well, maybe not very large from an industry AAA standard, but large) and don't know how to approach this... Should I use one RVT volume, multiple? how many? it's confusing and I want to make it right.
Hey I have an issues that my custom primitiv data seems to get removed after I press play. I tested if it gets assigned in the splinemesh via giving the first another Texture and it worked so the Problem seems to be the custom primitiv data
Hey there! I think it's an issue with RVT's interaction with custom data. I've noticed that some quality levels of the RVT work with the fade out, but some of them don't, eg. when zoomed way in or way out. Not sure how to find a fix, but I'll let you know if anything pops up.
incredible tutorial ! just one question, the spline seem's good but nothing is projecting on the landscape and i can't find the solution since i'm still learning the engin^^ But thanks for your amazing tutorials !
@@RazixStyle yep totally, just a question of trenslucenc priority, i was not using landscape on this project and it's because i had many meshes as same place that the road were projected below the first one
This is really amazing stuff! I have one issue though. The Spline material of the Blueprint is not projecting onto the landscape. It only projects when it is applied to the Landscape splines (Which is not something i want to do). Could anyone have any idea why this would be?
3:51 Click the "Add Spline Mesh Component" node in your spline blueprint and go down the the Virtual Texture section and add your landscape's virtual texture, and set draw in main pass to "Never." It's only displayed for 1 second in the video but that's where I found it.
Hello, really cool tuto thanks ! I have a small question about MF_UnpackNormal. When copying the BP code it is not taken into account. Can you tell me what is in this MF please. Best
Hello! I forgot to remove it from the paste - it’s a function that I use because my texture are formatted in a particular way. You can delete it as it isn’t needed :)
@@PrismaticaDev ok top. Then i connect "RGBNormal Texture directly" in "FlattenNormal" ? Also, i can't put my material in "RoadMaterial variable" in BP Spline, it tells me in red that it is not possible ! I work with UE 5.1.1
Hi Charlie, First, your work is awesome and your videos are really helpful ! Thank you ! Then, I used your technique to create the roads in my project. And I tried to improve it, especially for the tiling in X. I found a solution by assigning the Index of the MeshSplineComponent to a Custom Data and i used this Custom Data to offset the U coordinates in the Material. It works fine in the Editor, but when I'm in Game it breaks. Seems that the Custom Data are all set to 0 instead of their respective Index. Any idea why ?
Hi, not sure this is the same issue you're talking about, but my problem was the texture was stretched in X function of the spacing of the spline points. I found a solution here: forums.unrealengine.com/t/evenly-distribute-spline-meshes-along-spline/422981 . Hope this helps.
@@t3hpwninat0r Still it is a lot of wasted space on the screen and it is hard to see. Most people have a 16:9 or 10 nowadays and don't need to see his face or the rest of the bottom part
I don't know how you do it, but every video on this channel is exactly what I want to learn in Unreal. No other channel comes close with how precious these tips are!!
This has been a lifesaver! Trying to line up mesh paths with doors and bridges is damn near impossible, so this method has genuinely saved hours of my life!
I cannot thank you enough for this series. It has improved my environments beyond belief
Thank you for sharing! Hands down my favorite UE tutorial creator.
Heyhey! I have been able to set up the BP as well as the material but when I add the BP to my map there is no projection to the terrain.
the quality of this is outstanding
I've encountered a strange issue where the path end falloff works perfectly in one direction, but in the other, it is reversed (starts full brick and gets less filled until it hits the next node where it instantly becomes saturated again). I think it has something to do with the changes mentioned at 7:22 in the text, but I'm not sure how to fix it to get it working correctly.
Edit: Fixed it!
For anyone encountering this problem. Go to the right side of the spline BP and make sure the first set custom prim data node has "index 0 + value 1" and that the second node has "index 0 + value -1".
Next go into the path material bp and find the start end primitive data nodes next to the red colour. Set end to 1 and start to -1
This is a very smart use of the RTV, thanks a lot! I will be taking a look at this later, and the second part too! Thanks a lot for all the tutorials :)
Charlie! Amazing tutorial! You always showing a really useful and interesting tutorial! Thank you!
Headsup, the spline Blueprint that was posted in the description has some typos. Particularly the values and indexes of the custom data at the end don't match the video. Follow what's in the video
Hey :) how do you use that mask for removing the grass? - do you sample the RVT in the grass material or do you sample it in the landscape? - idk but i use rvt for my landscape and i think i can not sample a new RVT inside of it or atleast it is not working for me.
Hey hey! That's a good question. I use it in the grass material itself, but you could do it to actually exclude grass from being spawned in the first place (if you're able to sample multiple RVT's)
Just what i did! I just figured it out! :D
it only works to write and sample the same RVT in the landscape material when the sample is written to the landscape grass output. In my case the brush material stores this simply in the mask channel of the rvt, because the rest is used by the rendering of the landscape already (also funny the mask value has to be set to 0... 1 returns everything just as 1 not just the mask
)@@PrismaticaDev
Amazing tutorial as always ! I love the teasing at the end to change actual landscape heights… and now i want to know more on this :D
Is there a way to persistently print the road onto the RVT like you would, say, footsteps, so that you could delete the spline and keep the road?
Unfortunately not - RVT’s always require the actors to be there for when it re-draws, since you can add and REMOVE anything at any time (unlike a Render Target)
the construction script at 3:14 has a bunch of errors and warnings when I pasted it inside the blueprint. Do u know how to fix this?
Hey hey - you might need to add the Spline Component and replace the references (you can see it top left of the screen)
Really cool stuff Charlie as always! I use really close methods to "bake" fields to landscape :o]] But you improve it as always, so I maybe little bit refactoring it. TY!
Hey! Having some trouble with my landscape material, always gets all black when its writing to and reading from RVT. Anyone had the same problem?
@@rabenfreund5323 double check that the RVT box is covering the whole landscape, particularly the Z direction. Also make sure the landscape is assigned to draw to the RVT’s :)
@@PrismaticaDev I was running into this exact issue and this was the solution! Thanks for still responding to new comments on a 2 yr old vid!
You're the best Charlie!
In case anyone else bumps into it like me: don't forget to assign the run time virtual texture in the Add Spline Mesh Component node in the construction script of the spline.
I think I might be having a similar issue to what you're describing. Could you elaborate on what you mean? My spline meshes won't render and I think this might be the issue, but I'm not sure where to find what you're referring to
@@Liam-fd4uh at the 3:51 mark he describes the Add Spline Mesh Component. This is where you would add your own plane geo. If you click on that node there is a parameter to assign which run time virtual texture the spline will be output to.
How did you taper of the end? When I do it the taper is along the entire mesh. I see that yours only taper to the first node. Do I utilize an if statement and multiply with a scalar if true?
Solved it! was reading the book of shaders. I raised the y value of the linear gradient to a power of 5.
This tutorial is so helpful. Will there be an updated tutorial for UE5?
Hey there! It should work perfectly fine without any changes in UE5 (I still use it myself)
Where do i set the VT the spline draws into?
@@AAgomezAA on the spline Mesh component you’re creating (inside the blueprint, click on the node and it will come up in the details window)
any video on RVT settings for large scale landscape or ground? I have a lot of blurry textures
Hello, this is an old video so maybe no one will see this but, when writing the normal to the rvt, it does not take into account the shape of the landscape, so this would work on a flat landscape with a flat spline but for for anything else you would have incorrect normals.
Hey hey - that's correct, you'll need to make the spline conform to the landscape as best as possible. If you're using a separate dedicated RVT for roads/paths, you could write to it as Tangent Space and then sample it like normal in the Landscape, although you'd be sampling 2 RVT's. Usually when writing the Landscape's normals to the RVT you'd write them in world-space so you'd need to convert it from world to tangent at some point. Hope that makes sense, I haven't fully woken up yet haha
@@PrismaticaDev Thx for the quick reply, so I made a second rvt for the roads and then in the landscape master I blend anglecorrected normals of RVTlandscape with very high mip level together with the RVTroads. This way I essentially get rid of the normal map of whatever material was under the road before but still have the normal from the landscape shape. Then I lerp the result with the original landscape normal using the specular channel as a mask and a floor node to make it black and white. Works perfect! Thx for answering my comment because I hadn't thought of using 2 rvts
@@dimitrisyo123 No worries!
this channel is really great, i learned a lot of stuff even though im not a game dev
I cant get the spline material to print into the rvt somehow. Weird thing is I can get it working when I use the built-in splines in the landscape toolkit but then I dont have the control of the start and the end of the spline. Any ideas what I could be missing?
EDIT: I found the problem! I forgot the option to make the plane mesh to write to RVT texture inside the spline blueprint.
Could you kindly explain your solution in detail? I just can't find my mistake
@@Turnroot You have to click on the "Add Component Spline Mesh" node, then you scroll down until you see "Virtual Texture". There you select your RVT.
@@AeptaX it's really helpful for me! this question confuse me a lot , thank you again!
@@AeptaX Didn't help for me either. And with the landscapespline it does....
Hey Charlie, really cool video !
I'm facing an issue trying replicate your material, my map is quite big and even with the highest settings in the RVT the rocks are blurry, is there a way to solve this ?
Any tip on attachine a physic material to a road? I'm testing with the physic material output in the landscape material, try to attach it to the road mask but I can't manage to have any result (and the mask work to remove the grass)
Good question... The Landscape Phys Mat output has been super buggy in my experience. I would try to smack your road spline just above the landscape if possible and use it as a collider
Thanks, yeah that solution would work for the road but I have another nightmare to solve. My next step is to texture the interior of a spline using a similar technique but with geo scripting. And I know I will never be able to make it fit the landscape properly :P
@@PrismaticaDev
Awesome video, thanks a lot for sharing all these techniques. Is this still ok to use this technique with UE5 which is "deprecating" texture displacement?
This will work perfectly with UE5 :)
While watching this video I got an idea: instead of projecting the material from the spline road onto the virtual texture you could project the UVs and then use them in the landscape material to map the textures.
Wonderful and entertainment as always!
I know im kinda late commenting but i have a problem with my opacity i think. My edges are not taking the dirt color they remain white instead and the grass doesn't dissapear neither. I have set up the grass oclussion with the rvt and all, it works on other objects but on the road it doesn't. I think the problem is with the textures but i don't know how to fix it. I imported a bunch of textures and nothing changes.
Finally got it working . I don't know why but that 1-x at the rvt roughness fcks it all up. Removed it and workes like a charm.
hi, what's the magic behind printing the texture to the terrains virtual texture ?
I made a simple RVT output with a base color to test but nothings printing. Any help ?
Nvm, My problem was that my landscape was using its regular material instead of having the RVT sampler pluged in
You can also use RVT's for Decal's to remove the Draw Call required for them, Interlakes on YT videos on how to do this and even how to dynamically add them randomly / procedurally
Huge thanks for the awesome content. Just got a weird bug on this. Everything looks great in the viewport but once in playmode the material properties no longer works. It doesn't have the falloff. Any help!
Same problem here, either with UE 5.0.3 or 5.1 preview 1. I guess this is a UE bug? Good news though is falloff is working in standalone mode so will work in compiled game.
@@olaufr Ohh man thought it was just me. Glad to hear that. Thanks
Is this really a bug? I've been trying to find the solution for days.
Hello, do you have a tutorial on how to pack heightmap to blue chanel? For example take quixel normal map and somehow convert it?
Hello! Could you recommend some resources where I could learn more details on optimizing RVT's and using RVT on very large maps? I'm about to use RVT for road splines, rock formations and more on a very large world partiotion map (well, maybe not very large from an industry AAA standard, but large) and don't know how to approach this... Should I use one RVT volume, multiple? how many? it's confusing and I want to make it right.
man is there anyone like you for unity sheesh
Hey I have an issues that my custom primitiv data seems to get removed after I press play. I tested if it gets assigned in the splinemesh via giving the first another Texture and it worked so the Problem seems to be the custom primitiv data
Hey there! I think it's an issue with RVT's interaction with custom data. I've noticed that some quality levels of the RVT work with the fade out, but some of them don't, eg. when zoomed way in or way out. Not sure how to find a fix, but I'll let you know if anything pops up.
Definitely interested in a Part 2 with that radial texture quantization thingymajig!
Hi Charlie,I have a question ,wouldn't it be loop if sample a rvt basecolor to an rvt color output?
incredible tutorial ! just one question, the spline seem's good but nothing is projecting on the landscape and i can't find the solution since i'm still learning the engin^^ But thanks for your amazing tutorials !
Hey Vincent, were you able to figure out why nothing is projected?
@@RazixStyle yep totally, just a question of trenslucenc priority, i was not using landscape on this project and it's because i had many meshes as same place that the road were projected below the first one
This is really amazing stuff! I have one issue though. The Spline material of the Blueprint is not projecting onto the landscape. It only projects when it is applied to the Landscape splines (Which is not something i want to do). Could anyone have any idea why this would be?
3:51 Click the "Add Spline Mesh Component" node in your spline blueprint and go down the the Virtual Texture section and add your landscape's virtual texture, and set draw in main pass to "Never."
It's only displayed for 1 second in the video but that's where I found it.
Hello, really cool tuto thanks ! I have a small question about MF_UnpackNormal. When copying the BP code it is not taken into account. Can you tell me what is in this MF please. Best
Hello! I forgot to remove it from the paste - it’s a function that I use because my texture are formatted in a particular way. You can delete it as it isn’t needed :)
@@PrismaticaDev ok top. Then i connect "RGBNormal Texture directly" in "FlattenNormal" ? Also, i can't put my material in "RoadMaterial variable" in BP Spline, it tells me in red that it is not possible ! I work with UE 5.1.1
Hey is there any way to create pseudo volume texture from a mesh
Great work!
Hi Charlie,
First, your work is awesome and your videos are really helpful ! Thank you !
Then, I used your technique to create the roads in my project. And I tried to improve it, especially for the tiling in X. I found a solution by assigning the Index of the MeshSplineComponent to a Custom Data and i used this Custom Data to offset the U coordinates in the Material. It works fine in the Editor, but when I'm in Game it breaks. Seems that the Custom Data are all set to 0 instead of their respective Index.
Any idea why ?
Hi, not sure this is the same issue you're talking about, but my problem was the texture was stretched in X function of the spacing of the spline points. I found a solution here: forums.unrealengine.com/t/evenly-distribute-spline-meshes-along-spline/422981 . Hope this helps.
I KNEW you could do something like this in UE! For some reason it was hard to find. Thanks for making this, you saved my behind!
i made a small cameo in charlie video :D 5:25
You are brilliant.
Charlie: Lettuce now look at the material!
Lettuce: I'm looking already.
Awesome stuff!
Cool!
i love u, my god. tnk u for exist!
Great work
Integer = whole number
Float = Number with decimal
The more you know🌠
The Runescape music xD
Legend!
Thats it im joining your discord.
I have to remake all variables
can you make video about character?animation inplementation
Already ahead of you :) check out my “advanced animation application” playlist
Dude!
Bruh!
Charlie like runescape a little too much
Imagine sacrificing camera dump offset for RVTs and stupid roads
SMH
You should record in 16:9 it would be easier to follow and save time while editing...
It's all set up in OBS so there isn't much editing. If you check out Charlie's streams on twitch you will see what I mean :)
@@t3hpwninat0r Still it is a lot of wasted space on the screen and it is hard to see. Most people have a 16:9 or 10 nowadays and don't need to see his face or the rest of the bottom part
@@jonathanxdoe i have a 21:9
@@t3hpwninat0r I NOTICED...
Any video for splines for RVT on non landscape geometry? Im not sure how to set it to draw in virtual texture like i would a geometry decal