In the video i made a typo when editing .ini file, you will not need to re-enable it via console (everything else is the same); fixed lines to add to config: r.Nanite.AllowTessellation=1 r.Nanite.Tessellation=1 A super quick example with revolved-type geometry with UVs: imgur.com/a/fkYdiGi help support the AAAAAAAAAAAAAAA gemedev (take that ubisoft) by joining my patreon www.patreon.com/osong Thanks for watching! Don't hesitate to leave a comment with suggestions and ideas. Music: open.spotify.com/track/3018lp7ePr6sm4HeGyKTzu?si=3528709587bc4845 my anticlimactic twitter with zero cat videos: twitter.com/oossoonngg
outstanding video! great to see something tying together ORD textures from quixel, buggy tesselations settings, displacement plugin *and* a bonus quick riff on world space texturing. boot camp for the next generation, nanite displacement is pure magic
You have a typo in your ini file. You wrote 'tesellation'. Because of this it did not enable Tessellation and you had to activate it with the command I recreated the tutorial and without the typo it works right out of the box😉
What I want to know is how to make the Texture Variation node work with this. Because when I try and use it for Landscapes, it messes things up. Which is unfortunate since it gives a great random effect that if it did work would make landscapes look even better.
What would really blow my mind, is when we could vertex paint with displacement and see the displacement while actually vertex painting...also i am trying to figure out how to make an on top shader like snow for example where only the snow has displacement but not the rest!!
seems like this could be sorta done with niagara? just thinking out loud at this point, don't quote me on this one edit: seems like what you have in mind can be done with materials as well, not sure how well the transition from underlying mat to snow will look though
@@ianzander5057 Yes, i already knew how it works with landscapes and since today i know how the top shader for meshes with displacement only for the top shader works! It basically works with a vertexnormalws node, masking the blue channel and of course some additional nodes, then lerping bottom and top using the vertex normal setup as alpha)
FYI, Easy Mapper allows use for up to three material blends with nanite tessalation. For those having issues like in comments. Research! I've found this very helpful.
So not sure why, but if I have a cube the Tessellation only appears on one side but is flat on the others. Even if I rotate the cube (Standard UE cube) the tessellation stays on the one side.
hey. make your assets with UVs in such a way that it can repeat textures seamlessly, or paint the displacement maps (in sbsP for example) that it does not go over seams i did a test with amphora-style pottery with megascans, UV so it perfectly wraps it, and it worked great imgur.com/a/fkYdiGi
this is world-aligned/triplanar method. you need to adjust UV to decrease (or otherwise) the repetition. i plan to cover materials in depth beginning this november, dont miss the new vids 👍
@@oossoonngg so if you create a rock and the player steps on it, the foot will go through the displaced geometry until it reaches the original collision? Therefore displacement has no opt-in for generating collision. Is that right?
Hi, thanks for the tut, i am on 5.4.2 final release, and using your tut, i could get the displacement to work, exactly as u instructed.....the only issue i am having as a beginner, is that, how am i supposed to make adjustment to the UV size to adjust the tiling of this material....please help coz using texture coordinate and its scalar parameter is not able to edit the texture...
thanks for this tutorial. I have a question though.. is it possible to do that with a blend material? i activate nanite, but then only one channel shows up and the materials i painted on disappear. Do you know what i am missing? Or could you show how to do it with material blender if it is possible? Or maybe there is a workaround?
Found some good tips in this video. Any idea what the performance cost is versus just using normal maps? I guess for repeating textures across wide areas like floors and walls, this could be the answer since a lot less geometry is needed. The only worry is that when I made this work, and with regular object UV's, the GPU fans went full speed, and I noticed as you get further away from the object with tessalated displacement, you don't seem to see the usual level of Nanite triangle reduction in the visualiser view? Any thoughts?
normals definitely faster than any of that, as your full speed fans suggested haha as for other things - needs extensive testing/evaluation. it is version 0.1beta after all
HI, my UE5 just updated from 5.4.2 to 5.4.3, and now this method is not working, the 2 lines are seen added in the ini file, but the material is not displacing as it should, please help
For natural formations like rocks, caves, as well as repeating patterns like stones, bricks, pottery the nanite displacement is definitely the way to go. Much more efficient asset workflow, and tweakable with interactive feedback at will. Definitely not limited to the examples i named, can work good for scifi paneling, greeble, you name it.
@@RonnieMirands One of the primary reasons for this feature was disk size, having a tonne of super high res assets will make your game size/and repo enormous. it can also be harder to work with multi-million poly assets in other applications outside of say zBrush etc.. But there is a slight performance cost for Material displacement over pure geometry assets, there are pros and cons to both, your project requirements will dictate if you use one over the other or a combination.
I've tried at least 20 different tutorials by now but I just can't seem to get this working at all. I've done everything exactly right but when I enable nanite on my mesh it just turns invisible. I tried re-applying the material, restarting, all kinds of stuff but nothing helped. Anybody else have this issue?
What made it work was implementing the Use Material Attributes. Plugging the WorldAligned pins into the regular material node did not work right. There seems to be a sweet spot for the multiplier where 4.0 to 6.0 worked and other values hardly did anything. Also the effect diminishes when you try to scale the textures with TextureSize node. Finally, I discovered the Displacement Magnitude in the material properties and this allowed more room to work with. Without using the Displacement Magnitude, the displacement programmed with the material nodes was stuck in a weird range and couldn't be scaled well with TextureSize, but now it can! The result is now what I imagined. This feature/method in it's current state is inflexible and not good enough, I hope Epic puts more work into it!
5.4 is full of "surprises", both on mac and pc. i've been scrolling through forums (and posting problems as well), there is a lot of instability, let alone experimental features 🎆
Hello and thank you. I have a question, how we could make Displacement Magnitude as a parameter in material? When I mixed Displacement with multiply of course it change heightmap intensity, But I need "nanite displacement Magnitude" value which is available in material self in editors. Thank you
Thanks for the tutorial! How is this different from the Nanite Tessellation feature that we already had in 5.3? To me it looks like they just added another step to set it up with having to enable the plugin?
i mean... have your landscape as a mesh, displace it as you want, render. just treat is as a static mesh - or indeed treat a static mesh as a landscape
@@oossoonngg oh ok :) it seems there is not a way to apply it directly to the landscape object. I was asking for that as I use a landscape auto material (that use displacement) that need height information. If I work on a mesh as landscape it is impossible to make use of it.
parallax occlusion mapping is cheaper but it isn't real geometry, same with bump off set mapping. With that said if you want actual geometry its cheapest to pre-make the mesh. this probably is the cheapest way to do dynamic material tesselation but its not super cheap per say.
Does nanite displacement on landscapes also work with Virtual Textures? That and the performance has kept me away from heavy nanite usage for the time being
yes but still majorly broken. I use RVT on a nanite poly mesh with displacement... and it will drop to 1 fps if i zoom really close to it and sometimes freezes the editor.. and if i ctrl at delete the editor at that point it locks up my computer causing the need for me to hit hte power button on my tower.
@@mindped I am yet to find a tutorial on a complex auto landscape which shows tesselation😢 I just have poor technical knowledge so it makes it harder ..
copy-paste from same Q: hey. make your assets with UVs in such a way that it can repeat textures seamlessly, or paint the displacement maps (in sbsP for example) that it does not go over seams i did a test with amphora-style pottery with megascans, UV so it perfectly wraps it, and it worked great imgur.com/a/fkYdiGi
This was been in 5.3.2 already. For me this tessellation it's a just a joke because still in 5.4 version no any workaround for mesh holes when mesh has sharp edges or multiple materials.
I'm a bit disappointed, but we still need to manually modify the Default Engine. ini file to make the replacement effective. Why can't developers add these two pieces of code to the Default Engine. ini file?
I think the feature is still in Beta or experimental, once it becomes a production ready feature, it might be enabled by default. or a toggle on the project settings instead of the ini
dont get it twisted.. the feature is still majorly broken. If i zoom in really close to mine it well drop the fps to like 1 fps or freeze the computer. At least thats what was happening with my RVT to nanite displacement tests.
@@oossoonngg and i appreciate that. Just wish it was useable. Im working with it right now because i want to release an asset, but i have to work very carefully lol.... literally gotta disable and only enable it when my camera is far enough away from it.
or you can do the "Todd Howard on live TV" and suggest to upgrade your PC, hehe. ps - it was sorta heavy handed and goofy, but sometimes it is not as outlandish an idea. does not excuse non-optimized mess though
Lol, what a joke of a new feature. You have to enable it in 72340 different places: the plugin settings, 2 .ini file lines, 2 editor commands, a checkbox in the material, the mesh itself...
Its because this is still an experiment / beta feature, not a production ready feature, its why they had a particular studio talk about it, because they built their workflows around using it for the game. Once it is updated to production ready, then a lot of this will most likely be not needed at that time.
In the video i made a typo when editing .ini file, you will not need to re-enable it via console (everything else is the same); fixed lines to add to config:
r.Nanite.AllowTessellation=1
r.Nanite.Tessellation=1
A super quick example with revolved-type geometry with UVs: imgur.com/a/fkYdiGi
help support the AAAAAAAAAAAAAAA gemedev (take that ubisoft) by joining my patreon www.patreon.com/osong
Thanks for watching! Don't hesitate to leave a comment with suggestions and ideas.
Music: open.spotify.com/track/3018lp7ePr6sm4HeGyKTzu?si=3528709587bc4845
my anticlimactic twitter with zero cat videos: twitter.com/oossoonngg
man I'm about to cry, been trying to find away to displace my textures for days. Thank you so f...much
finally a material that works without falling apart at the seams literally
about 4 years ago I was trying that in 3Ds Max and it works but the results wasn't good enough , now this is super time saver. I love it!!
outstanding video! great to see something tying together ORD textures from quixel, buggy tesselations settings, displacement plugin *and* a bonus quick riff on world space texturing. boot camp for the next generation, nanite displacement is pure magic
Little Sidenote: CVARs have their syntax without "=". This is only for the ini.-file. If you're in the editor console type: r.Nanite.Tessellation 1
Thank you for taking the time to actually show this, and so clearly!
Thank you so much for this tutiorial :)
have a great day
You have a typo in your ini file. You wrote 'tesellation'. Because of this it did not enable Tessellation and you had to activate it with the command I recreated the tutorial and without the typo it works right out of the box😉
yeah, i goofed
What I want to know is how to make the Texture Variation node work with this. Because when I try and use it for Landscapes, it messes things up. Which is unfortunate since it gives a great random effect that if it did work would make landscapes look even better.
What would really blow my mind, is when we could vertex paint with displacement and see the displacement while actually vertex painting...also i am trying to figure out how to make an on top shader like snow for example where only the snow has displacement but not the rest!!
seems like this could be sorta done with niagara? just thinking out loud at this point, don't quote me on this one
edit: seems like what you have in mind can be done with materials as well, not sure how well the transition from underlying mat to snow will look though
You mean with the heightlerp function? ruclips.net/video/VXYFfRnKw04/видео.html
you can
and you can use tessellation for landscape materials and blend them
@@ianzander5057 Yes, i already knew how it works with landscapes and since today i know how the top shader for meshes with displacement only for the top shader works! It basically works with a vertexnormalws node, masking the blue channel and of course some additional nodes, then lerping bottom and top using the vertex normal setup as alpha)
FYI, Easy Mapper allows use for up to three material blends with nanite tessalation. For those having issues like in comments. Research! I've found this very helpful.
So not sure why, but if I have a cube the Tessellation only appears on one side but is flat on the others. Even if I rotate the cube (Standard UE cube) the tessellation stays on the one side.
Hi. Without a triplanar, tears appear on the UV seams. Do you know how to avoid this?
hey. make your assets with UVs in such a way that it can repeat textures seamlessly, or paint the displacement maps (in sbsP for example) that it does not go over seams
i did a test with amphora-style pottery with megascans, UV so it perfectly wraps it, and it worked great imgur.com/a/fkYdiGi
By following the tutorial, I only get a lot of small copies of the texture on the face of a plane. Any idea why?
this is world-aligned/triplanar method. you need to adjust UV to decrease (or otherwise) the repetition. i plan to cover materials in depth beginning this november, dont miss the new vids 👍
Just curious, the tech is impressive in terms of visuals, but what happens with complex collision (if anything at all)?
Collision entity is (can be) decoupled from geo itself, so no worries about that
@@oossoonngg so if you create a rock and the player steps on it, the foot will go through the displaced geometry until it reaches the original collision? Therefore displacement has no opt-in for generating collision. Is that right?
You can always tweak the collision afterwards, but yeah you got the gist more or less.
@@oossoonngg gotcha. That still makes me wonder how that would apply to tesslated landscape geometry where collision is somewhat important. 🤔
this is to add detail and all that, definitely not end all be all solution, at least in its current form, or that's how i see it
Hi, thanks for the tut, i am on 5.4.2 final release, and using your tut, i could get the displacement to work, exactly as u instructed.....the only issue i am having as a beginner, is that, how am i supposed to make adjustment to the UV size to adjust the tiling of this material....please help coz using texture coordinate and its scalar parameter is not able to edit the texture...
hey, the tutorial on working with material system is in the list of upcoming topics to be covered
thanks for this tutorial. I have a question though.. is it possible to do that with a blend material? i activate nanite, but then only one channel shows up and the materials i painted on disappear. Do you know what i am missing? Or could you show how to do it with material blender if it is possible? Or maybe there is a workaround?
I am hoping to do extensive testing and experiments when 5.5 arrives, will record videos
@@oossoonngg i rang the bell.. keep up the good work, it is very appreciated. 😉😉
it is official then, I can't wiggle out of this one, the internet remembers everything ha
Found some good tips in this video. Any idea what the performance cost is versus just using normal maps? I guess for repeating textures across wide areas like floors and walls, this could be the answer since a lot less geometry is needed. The only worry is that when I made this work, and with regular object UV's, the GPU fans went full speed, and I noticed as you get further away from the object with tessalated displacement, you don't seem to see the usual level of Nanite triangle reduction in the visualiser view? Any thoughts?
normals definitely faster than any of that, as your full speed fans suggested haha
as for other things - needs extensive testing/evaluation. it is version 0.1beta after all
Thanks for the tut!
Hi, thanks for this video! I'm trying to control uv tile with "texture coordinate" but not working, any solution?
will record vids on material system soon™️, should help in many cases including yours
HI, my UE5 just updated from 5.4.2 to 5.4.3, and now this method is not working, the 2 lines are seen added in the ini file, but the material is not displacing as it should, please help
Ignore my above comment, fixed the issue, somehow the mesh lost its apply nanite feature, though i had it applied before.
What's the music at the end?
where can i find quality controls like tesselation density. I saw it somewhere but i losti t.
What do you think is the better resouces worklow: uses the pure geometry as nanite or use a low poly geo with displacement maps?
For natural formations like rocks, caves, as well as repeating patterns like stones, bricks, pottery the nanite displacement is definitely the way to go. Much more efficient asset workflow, and tweakable with interactive feedback at will. Definitely not limited to the examples i named, can work good for scifi paneling, greeble, you name it.
@@oossoonngg thanks a lot for your reply and tips man, really apreciated! :)))
@@RonnieMirands One of the primary reasons for this feature was disk size, having a tonne of super high res assets will make your game size/and repo enormous. it can also be harder to work with multi-million poly assets in other applications outside of say zBrush etc..
But there is a slight performance cost for Material displacement over pure geometry assets, there are pros and cons to both, your project requirements will dictate if you use one over the other or a combination.
@@nfarquhar slight?... i lose 10 fps on dual 3090s.
plz explain how to control texture size.... i found out alone but it took my some time.
will record vids on materials, including your question when 5.4 drops
I've tried at least 20 different tutorials by now but I just can't seem to get this working at all. I've done everything exactly right but when I enable nanite on my mesh it just turns invisible. I tried re-applying the material, restarting, all kinds of stuff but nothing helped. Anybody else have this issue?
Same, I can't get any of the tutorials to work for this...no displacement happening at all. UE 5.4.2
What made it work was implementing the Use Material Attributes. Plugging the WorldAligned pins into the regular material node did not work right. There seems to be a sweet spot for the multiplier where 4.0 to 6.0 worked and other values hardly did anything. Also the effect diminishes when you try to scale the textures with TextureSize node.
Finally, I discovered the Displacement Magnitude in the material properties and this allowed more room to work with. Without using the Displacement Magnitude, the displacement programmed with the material nodes was stuck in a weird range and couldn't be scaled well with TextureSize, but now it can! The result is now what I imagined.
This feature/method in it's current state is inflexible and not good enough, I hope Epic puts more work into it!
It was working then suddenly it wasn’t and now my nanite visualization and lumen visualization viewports don’t work anymore.
5.4 is full of "surprises", both on mac and pc. i've been scrolling through forums (and posting problems as well), there is a lot of instability, let alone experimental features 🎆
Hello and thank you. I have a question, how we could make Displacement Magnitude as a parameter in material? When I mixed Displacement with multiply of course it change heightmap intensity, But I need "nanite displacement Magnitude" value which is available in material self in editors. Thank you
When the project is built as a standalone app, the displacement isn’t there. Any ideas how can i go about enabling it when packaging the project?
you need to change it in the config
is it possible to make it dynamic? as in the displacement being run by procedural noise?
you can overlay multiple textures and manipulate that at material level, so there's at least that
Should be masking out the B channel from the ORDp texture to get the actual displacement
Did that on the vase example
Thanks for the tutorial! How is this different from the Nanite Tessellation feature that we already had in 5.3? To me it looks like they just added another step to set it up with having to enable the plugin?
What about skeletal meshes? Will that work too?
Same restrictions and workarounds as nanite
Is it possible to apply permanently displacement to landscape so I can see it in path trace render too?
pathtracer does not support nanite, so displace it in modeling mode or something else
@@oossoonngg i know that i can displace a mesh in modeling mode but is there a way to apply displacement to landscape too?
i mean... have your landscape as a mesh, displace it as you want, render. just treat is as a static mesh - or indeed treat a static mesh as a landscape
@@oossoonngg oh ok :) it seems there is not a way to apply it directly to the landscape object. I was asking for that as I use a landscape auto material (that use displacement) that need height information. If I work on a mesh as landscape it is impossible to make use of it.
why i dont have this ini files
is this the cheapest way of creating depth at the moment?
parallax occlusion mapping is cheaper but it isn't real geometry, same with bump off set mapping. With that said if you want actual geometry its cheapest to pre-make the mesh. this probably is the cheapest way to do dynamic material tesselation but its not super cheap per say.
I have got stupid question, Time 10:27 What key do you use to invoke multiply, value etc. :)
M, S
I'll cover this on upcoming vids
Thank you for this video! it's beautiful! Displacement is amazing all around, question would be if it works with AMD cards too
it should i guess
Does nanite displacement can be used with decals or at runtime for example as footsteps or terrain deformation from car tires?
Does nanite displacement on landscapes also work with Virtual Textures? That and the performance has kept me away from heavy nanite usage for the time being
yes but still majorly broken. I use RVT on a nanite poly mesh with displacement... and it will drop to 1 fps if i zoom really close to it and sometimes freezes the editor.. and if i ctrl at delete the editor at that point it locks up my computer causing the need for me to hit hte power button on my tower.
@@mindped is it possible to apply tesselation on a auto landscape material? i am having trouble doing it
@@suraj.1889 dont see why not. All the tutorials on youtube or for terrain and tessellation
@@mindped I am yet to find a tutorial on a complex auto landscape which shows tesselation😢 I just have poor technical knowledge so it makes it harder ..
Nice video! Ive been tinkering with this feature but cannot solve the issue of the displacement breaking at seams. How did you get around that?
copy-paste from same Q:
hey. make your assets with UVs in such a way that it can repeat textures seamlessly, or paint the displacement maps (in sbsP for example) that it does not go over seams
i did a test with amphora-style pottery with megascans, UV so it perfectly wraps it, and it worked great imgur.com/a/fkYdiGi
outstanding
This was been in 5.3.2 already. For me this tessellation it's a just a joke because still in 5.4 version no any workaround for mesh holes when mesh has sharp edges or multiple materials.
I came here to try and fix the hard edge gap that appears with the tesselation... so no way to solve that? damn!
continuous topology (result subD for example) will do fine
Will these features work with avatars or skinned geometry?
same limitations/workarounds as nanite
does this work with path tracer?
Nanite doesn't work with it iirc
Hi, great preview vid, small typo in config "r.Nanite.Tesellation=1" !== "r.Nanite.Tessellation=1".
You are right! My bad. Fixed the typo in the description. Thanks. I feel so foolish overlooking this haha
I'm assuming this is why you had to re-enter it into the console@@oossoonngg
Great video btw, saved to my useful info playlist ;)
yep, just checked, it was because of the typo
I'm a bit disappointed, but we still need to manually modify the Default Engine. ini file to make the replacement effective. Why can't developers add these two pieces of code to the Default Engine. ini file?
I think the feature is still in Beta or experimental, once it becomes a production ready feature, it might be enabled by default. or a toggle on the project settings instead of the ini
I hope so@@nfarquhar
Things like this and terrain deformation when a player walks over it should be a lot easier to add in... With how easy other things are come on lol..
Does it work on Apple Mac?
I heard people had trouble with it
Great stuff 👌🏽
Thanks! Good video! :)
dont get it twisted.. the feature is still majorly broken. If i zoom in really close to mine it well drop the fps to like 1 fps or freeze the computer. At least thats what was happening with my RVT to nanite displacement tests.
I showcased an experimental feature and how to enable it. It's not game of thrones, there are no twists
@@oossoonngg and i appreciate that. Just wish it was useable. Im working with it right now because i want to release an asset, but i have to work very carefully lol.... literally gotta disable and only enable it when my camera is far enough away from it.
cant wait for the next wave of unoptimised lazily made games
or you can do the "Todd Howard on live TV" and suggest to upgrade your PC, hehe.
ps - it was sorta heavy handed and goofy, but sometimes it is not as outlandish an idea. does not excuse non-optimized mess though
5.4 is fully-released, so where's the materials tutorial? You promised us, pwease???? 4:27 UwU
🫠 running a bit late
Its kinda to many steps , but hey its unreal
list should get shorter when this will be considered 'ready'
@@oossoonngg yes I think your right
tks
that is, nothing has changed since 5.3?
"step by step" * RANDOMLY SKIPS STEPS AT 5:37 *
Yep, that's annoying.... Can't find these quick commands..
Crashes VR every time
all aboard the paintrain
Noooooooo! why is there another UV format please no lol
Lol, what a joke of a new feature. You have to enable it in 72340 different places: the plugin settings, 2 .ini file lines, 2 editor commands, a checkbox in the material, the mesh itself...
Its because this is still an experiment / beta feature, not a production ready feature, its why they had a particular studio talk about it, because they built their workflows around using it for the game. Once it is updated to production ready, then a lot of this will most likely be not needed at that time.
Does this works on macos?
5.4 barely runs on macos, forums have postings and workarounds for the nanite, but it is pain from what i hear