Hi there,
(sorry for the long post - the question is at the end, the rest is just explanation)
I’m totally unsure on the proper or best way(s) to texture my models for using them within Unreal Engine. I worked through several online courses about modelling, texturing and designing worlds in UE. Anyway: none of all the tutorials, guides and courses I took explained how to create textures for my own models in such a way that it remains performant, (re)usable and nice looking.
For the game background: I’m trying to create a game with a first person perspective in a stylized (maybe slightly cartoonish) environment where the character can explore the environment and might enter buildings. So I will have at least these three kinds of objects and textures:
- small objects (like properties/interior for the buildings such as tables, chairs, …)
- large objects (like buildings, maybe modular)
- environmental terrain (rocks, pathways, meadows, …)
After taking all the courses I understand that there are many different ways to create my materials and textures for game objects. Let me summarise and describe what I learned so far and what my problems are with these approaches. I definitely ask for any advice on these workflows: which one to use and maybe when?
Let’s assume I created all models in a stylized way as a low poly version (using Blender):
- A1) a simple modular house with some walls (concept: concrete, broken concrete, underlying bricks), posts to hold the walls (like medieval half-timber houses), doors & windows and roof
- A2) some interior like a bed, a table, a chair, a candle, a bookshelf, some bottles and books and some environmental properties like little rocks/stones, flowers
From my current point of view I have these options to get/create some textures for my models:
1 - Buy/Download
So I’d search some websites offering stylized PBR textures that I like and purchase/download them.
Pros: fast & easy approach if you just want to have a texture on the models and don’t care about any consistent look & feel in the game (or scene)
Cons: never found any appropriate textures, as they are usually not the way I want my models to look like
2 - Create Procedural Textures (Blender / Substance Designer)
I took courses on both approaches and tried to create some textures / materials.
Pros: the textures are reusable and thus (I guess) more performant friendly when using them in UE.
Blender:
I’m not that happy with Blender as it is heavily based on vector math and understanding how to mix the nodes feels like magic.
Anyway: creating highlights for edges is very easy here
Substance Designer:
A quite complext software without any good tutorials/guides/courses; most designers tend to use it not for generic patterns like wood but for more complex things like wooden planks, stone ways etc.
3 - Model proprietary Textures (Substance Painter)
Another approach would be to use Substance Painter. So having a 3d model, uv unwrap and use Geometry / ID Maps to pack all paintings to one texture set.
Pros: I could use high poly models and bake the details to the low poly textures, which avoids high poly count but looks still really cool.
Cons: all textures are proprietary to their model and might be (my fear) very expensive on heavy usage
Seems to be the best option for modelling / designing objects whenever the amount of textures used isn’t a problem for performance (like for a portfolio) or used to create very special game assets like eye catchers.
Conclusion / Questions
I’m not sure if there is “the one” way to create textures and if so would it really be an option to create proprietary textures per object like when using Substance Painter.
For my half-timbered house I have three wooden posts in different lengths. I can rotate them to avoid repetition, but I don’t want to scale the texture size by scaling the model itself. So I need three different proprietary wood textures, while also having more wood textures in the same kind for the windows (2 textures) and door(s) (2 textures). That might end up in ~7 textures for very similar wood.
My thought: all should be using the same wood texture (either procedurally created or bought externally), same could be true (with another wood texture) for tables and chairs.
On the other hand there are models that don’t share a lot of “base textures”, especially when having some kind of eye catchers (properties like a chest with some runes on it etc). What about the performance when having lots of properties in the map (or active viewport)?
QUESTION(s)
So, after all my text (sry for the long post) here is the simple question: what is the best approach to texture game assets for usage in UE? Would it be an option to use something like mipmaps or atlases?