Is it possible to turn off some features of a material without using static mesh LODs? For example, I want to turn off SImpleGrassWind when camera is far from the material.
Maybe something with use of camera distance inside material? But how to set it up?
There is also “Quality Switch”, but i’m afraid that it can’t be used for dynamic switching depending on camera distance?
Have you noticed performance gains with this approach? I can’t tell if the “If” node actually saves on performance, or if you still eat the cost for the instruction count?
Material LODs would be a great feature for Unreal, if it doesn’t already exist - would be really helpful for reducing fill.
Unfortunately I didn’t tested the performance with more complex materials, but as far as I remember, this didn’t make noticeable difference - but maybe because SimpleGrassWind is quite cheap, idk. I’ve reworked my system a bit and now I don’t need this material LOD switching, so I don’t use it anymore. But material quality LOD would be a really useful feature to have.
Did you guys find a way to solve this? I tried this myself but the IF condition doesn’t work the same way as a Switch Param, so both calculations are loaded regardless.
I’m trying to do something similar but stripping calculations based on the distance.
The closest workaround that I have in mind is to create different material versions and assign them to mesh LODs in mesh editor, but that of course will work only with meshes that have LODs.
Hmm, I see, that’s not the ideal solution, as I’ll be having an extra material per object, pretty much doubling my entire draw calls for the entire project.
Even without the IF solution, there’s no way to output a node the same way you do with Material Attributes or Bent Normals that would allow you to link different stages of your material to LODs? That’s kind of a very rational and almost must when working on budgeted projects.