Download

Noob texture and material questions

Hi guys. I’m new to UE4 and have been working for about two weeks on some terrain and texturing. I have a background as a software developer for many years, and an avid gamer, but little experience with modern graphics/game engines. So far I am having a lot of fun, but naturally have a stack of noob questions that are building up around the edges while I push forward.

One thing I was wondering is about collecting material functions/expressions into libraries somehow. Is there a standard way to do that? From what I have encountered so far projects have assets and you can migrate assets from one project to another, but is there a way to have a common body of functions that you can simply reference from within a project?

Another area that still confuses me is LOD for textures. I understand how LOD functions for static meshes, and have some grasp of what is happening when LOD changes for the terrain mesh. I’m not sure how different levels of detail are handled for textures. For example, if a game offers a choice of texture quality, does that usually mean multiple textures for each asset, or selected assets, or does it mean programmatic limits on procedural detail mixing? I guess another way of asking this is: are detail and diffuse textures stored in LOD levels the same way meshes are, or is varying texture detail always the result of material expressions mixing textures at different scales?

The last thing I’ll ask here is more specific to my current project. I’m using L3DT to create height maps as well as normal and alpha masks for the terrain. I have a material network that creates a base layer by mixing grass, dirt, and moss in a noise mask, and then uses the exported alpha mask (splat map, I guess) from L3DT to layer in rock textures on cliffs, gravel on the shore, etc. That’s all working well, but the results aren’t perfect. So my question is can I combine this procedural technique with weight painting? In other words, can I have the output of my splat map-driven texturing be one layer in a blend, and then have the other textures, i.e. dirt, gravel, etc. feed in to other layers so that I can hand retouch certain areas with specific textures?

Thanks for any advice, and sorry for mixing several topics in one message.

Inside your UE4 folding in the following location, 4.7\UnrealEngine-release\Engine\Content\Functions you will find Material Functions that do exactly what you are talking about.

I believe you are talking about Mip Mapping. Its basicly like you said, LOD’s for your Textures. Every texture imported into UE4 will use Mipmaps unless you set it to not use them. However there is not a lot that you need to worry about as the creation, processing, and interaction with MIP maps, for the most part, is all done behind the scenes.

Yes you can mix and match procedural content with hand painted stuff you just need to make sure you use two separate Landscape Layer coords as the Texture titling is probably going to be different between the two.

Hope that helps!

Thanks, Sam. That helps quite a bit. I assume the functions in the location you referenced are essentially the “standard lib” for UE4? Can I create my own importable libraries?