I just got finished making a new model for the Unity asset store. Something I’ve been wondering though is whether my texturing practices is very common in the industry. Because I’ve been doing things the same for quite awhile, and it always seemed like an outdated approach.
Once I’ve finished the model, I begin to unwrap the UV’s of the model so It can be textured in a program like photoshop. This process can take awhile.
Part of the reason why I fit the whole texture onto one image is to reduce the amount of materials needed, which increases performance for game engines.
A friend of mine told me that everyone’s using substance painter nowdays and I need to get it or something similar in order to stay competitive.
I’m looking to see if my texturing practices are still valid or is everyone just hitting the atlas button and sending the model off to a 3d painting program.
Here’s a different game model I found on the web. This model appears to be simply atlas mapped.
Creating UV maps is something I think would still be an asset especially with vehicles and characters. I personally use GIMP as my main texture creating program (though I’ve used PhotoShop and another image editor in the past; the other image editor came with a scanner that I used to have and I don’t remember the name of it). I also use GIMP to align reference photos and scan reference images onto my computer.
You still need the texture to be mapped somehow and that’s why you need UV coordinates. 3D painting programs like Substance Painter doesn’ change anything
Yes (and Substance Designer)
Very - all of the automatic tools will give you very unoptimized UV layout, so manuall work is still very much required
Yes - draw calls still matters a lot and I don’t think anything will change anytime soon
It’s not becoming obsolete, it already is. Manual UVs were mainly done in times when there were no sophisticated texture painting tools available yet, so many people were simply doing textures by had in photoshop.
Today, in the age of Substance Painter, Quixer Mixer or Marmoset Toolbag, UV mapping a model is a matter of clicking the “Smart UV Project” operator and then clicking Pack button on UVPackMaster if you have it. That’s it.
Sometimes ago I’ve read that, for runtime performance in games world, it’s important to have as less UV island as possible.
So, some manual tweaking it’s needed if you want to save performance.
For any other uses, probably it’s less important if the automatic tool is quite advanced and well developed.
Unwrapping is far from obsolete, certainly in realtime 3D.
Human readability is still a concern, as is amount of seams (adds to the true tri-count) and ease of projection.
Painter filters for instance function in 2d: You need to make sure a seam isn’t somewhere visible because a blur filter on a mask (often used) can create visible seams.
As someone who had done a great deal of unwrapping and painting in Substance here’s what I will say:
UV Unwrapping is still necessary since, as many have already pointed out, you still need a workable UV map for Substance Painter to be able to function. Newer versions of Substance Painter have an unwrap algorithm which can do it for you.
The efficiency of the unwrap is becoming a bit less necessary. Basically with Substance Painter using triplanar mapping, and of course the ability to tweak the surface paint as needed, your UV maps can be…messy…compared to having a nice and clean unwrap. Keep in mind that I work in the film/VFX side of things, so for me UDIMs and 16k textures aren’t out of the question. Game engines still need to work with well unwrapped and efficient maps.
Well technically there is simply no real alternative there. PTex has its drawbacks and also did not really become widespread so far. Vertex Painting would need pixel level density meshes to be on par. Its just that unwrapping algorithms became more sophisticated and/or their implementations more convenient, but that doesnt mean its importance is fading. Basically there are just newer implementations trying to solve a pretty old optimization problem, its a needed technique for bringing twodimensionally stored color information to the surface of a 3dmodel. Many solutions for such a mapping are possible and valid, not all lead to the same level of quality, the worse the solution is the more problems become apparent. Seams introduce vertex duplication and increase the complexity of a model and the cause a load for that model in a realtime environment and have drawbacks for aspects where continuity is important. Aliasing problems may arise. Uneven texel density may lead to a bad visual appearance especially with uneven densities along the seams. Mipmapping may be even more sensible to these problems. And nothing of that is solved or even touched by having a better painting environment by itself.
For this optimization you give the algorithm a specific degree of freedom, on what he can operate. A set of parameters that he’s intended to optimize by ignoring other criterias, like changing the face size, or the faces angles or its connectivity. You cant optimize over every criteria and the best compromise, or resulting solution may vary and is dependent on semantic decisions, like where important areas lie, where and how seams can be hidden or if symmetries can be exploited or not.
So no to date there are hardly other options to really bypass the need for uv mapping itself and if you ask if UV mapping will become obsolete anytime soon the answer is simply…no.
I should have have named the title is “manual” uv mapping becoming obsolete.
Some people have brought up the issue of seams when using atlas map. I think it depends on what your unwrapping. If your unwrapping a bunch of crates, it may not be an issue. A character however, might require manual unwrapping.
Most of what I make is hard body objects with sharp corners. So I think I could get away with using atlas map more often if I used a 3d painting program. But I don’t have one or learned any yet, which is why I feel dated manually unwrapping hard body stuff.
Sorry…I was referencing as general thought.
I’m not in a position to suggest some software for this.
At the moment, for my jobs I’m using standard tool.
Anyway I know that there are plugins as Unwrella (never tested , it’s born as 3dsmax plugin but now it seems that there is a version for blender too) or software standalone as Rizom
That’s the way that people are doing it, but it’s not necessarily the right way.
Take OP’s second screenshot as an example. Yes, it’s a very efficiently packed UV layout, with minimal distortion, but it appears that there’s a lot of texture repetition. If the identical islands were stacked you could have significantly higher texel density while also having a much lower resolution texture.
If you’re making VFX assets for film or TV you probably don’t care about texture memory or load times. But if you’re making game assets you really should.
Nothing prevents you to auto UV everything except the things you need to overlap, then lock the overlapping islands and auto-pack.
I am in fact making games, and I just do not unwrap manually at all. When you are indie game developer, there’s just no chance you can be even remotely competitive or able to achieve your goal of finishing your game if you spend time on such mundane things as auto unwrapping.
You can afford to do that probably only as a specialized pipeline employee in some giant triple A game studio which can brute force through inefficient workflows of individuals with money.
Here’s an example of a very simple lowpoly unit for my RTS game (there will be up to hundreds of them on screen at one time):
Yes, smart UV project does often produce many tiny islands on tiny mesh pieces, but I have yet to see any significant performance impact, at least in Unreal Engine.
I went as far as to mark every single mesh edge as UV seam and unwrap the model such that every single face is its individual UV island, and compared that to a front view planar projected UV over entire model (one UV island per entire model).
I’ve compared 1000 of the per face UV island meshes to 1000 per model UV island meshes and could not spot any significant performance drop.
And even if there was some, unless it was significant, it just would not be worth it to sacrifice so much artist time for it.
That makes sense. I would really like to forgo manual uv mapping. Although what if you have parts of your model that repeats several, possibly, hundreds of times?
I am in the process of modeling a tank as well. Mine is higher poly though, for realistic games like battlefield. I have nuts scattered all around my model (like on the wheels). It would make sense to overlap the uvs so they dont take up alot of texture space. Smart uv mapping them would evenly scatter them across the whole texture map.
If I was to sell models on turbosquid, etc. Will the seller mind if the UV map is completely smart mapped? Or would they want a nicely layed out and optimized map. Smart mapping the whole mesh would probably make the map uneditable for a 2d program like photoshop.
I would still like to hear others opinion on the matter.
For me, it wouldn’t be the performance degradation as much as the quality I’d worry about. For example, don’t you need to carve up your UVs in a very certain way to get the most out of your normal bakes?
Uh Smart UV Project is far from ideal and doesn’t replace manual unwrapping. Unwrapping in itself doesn’t take long. Like if you do something for game dev (and especially if you bake normal), you already get most of your seams from sharp edges, what usually left is just seams on smooth shapes and you usually prefer where seams are on them.
Manual packing of UV on other hand is what got replaced, because that what machine can actually do not only at fraction of time, but also better on top outside of very specified situations.
I think seams matter less and less as the technologies get better and better. But I wrote it already above. If you are a pipeline drone in a huge triple A studio, then you can probably spend time making manual UVs to hide seams on a scope the company will be selling for $20 microtransaction, but if you are indie developer, there’s no chance you can ever get stuff done if you waste time 90% time to get maybe 10% better result at best.
Rather use a little more time marking few seams where needed, than deal and wasting even more time with seams that aren’t needed or misplaced while texturing.