Questions about Light Maps

You still have way too many islands. Get the total number of UV islands for the everything except the wheels down to no more than 3. Try to get it all into one big stretched out skin.
Download a trial version of Max 2015. Add an Unwrap UVW modifier to the model, hit the edit UV’s button. Select every surface on the body of the bus and then hit that button I showed you.
It will all end up as one island.

Also I looked closer at your topology there is a lot of wasted triangles on this model.
You can accomplish a 100% exact same shape by welding vertices and cuttinng the tricount down.
What jumped out at me was the roof. The rectangular space is split where the windows are. It should stay that way on your raw file
in case you want to change it later. But doesn’t need to remain split in the production version especially if it creates additional unnecessary faces
across the entire model.

And I think I saw some 5 sided nGons in your model. Looks like you have some in the top rear corner of the bus. Split those up into triangles or Quads.
If I bought an asset with nGons I would complain. It is just not professional to leave those things in. You should break it all up.

And if you don’t mind more critique. Post up a picture of your normal map also. I want to have a look.

Your critiques are very welcome, there is no nGons, I use a plugin in maya to export to xnormal, if there is any nGons it will fail and won’t export, also triangulated and cleaned on Engine, maybe you are thinking that some components in it are normal maps when they are geometry. I saw once this modifier and seems a vey cool tool( it is the same developer from Unwrella I think), it will be a busy weekend but I will definitely take a look on it.
I have 5 UV sets for this model, this one is from main body, the top shape to ventilation and the front

The normal map looks good. looks like you got a nice clean bake.
There is some waste and things that will cause extra overhead,
which I explained how to fix in a different reply.

about the nGons
I can’t really tell without the model.
but here is what looked like an nGon from your screenshot.

4132fe21f949ce6b50cc9354b53ff39e260f71a2.jpeg

and as I am looking I see another face that looks like it could be an nGon
that large rectangular face behind the left front wheel
appears to have extra more than 4 vertices making it up which usually makes an nGon in disguise as a quad

5 UV sets?

This will cost at least 5 draw calls. Draw calls are a scarce and precious resource.
They are much more costly than extra triangles.
Use too many and your frame rate drops.
When you build and decorate a proper level, the draw call count goes way up fast.
This is the first thing I am always fighting with when optimizing a level
draw call count not the polycount
I wouldn’t want to have 5 draw calls without a very specific reason and an extremely important level piece.
even then I question the wisdom of doing it that way.
I think your model is identical on both sides, If not. It can easily be made that way.
I usually accomplish this by building half a model, unwrap it and then when it is unwrapped make it symmetrical.
This trick will double your texture resolution
Jam the other 3 UV sets into all that extra space you just got
I try to keep only the lightmap on its own channel.

The only time I use extra draw calls is if the shader is just completely different for one texture.
Like glass or water vs a hard surface

Ngons don’t matter for a game mesh

Darth,

I was taught that you could lose control of certain aspects of your model like normals, tangents, smoothing group information
if you import a model with nGons into an engine and just let the engine figure out what those faces were supposed to be.

I have never questioned it since someone who knew more than me told me not to use them.
and Since then I have declared a war against nGons.
I find them and remove them wherever they hide.
and I can sight them from miles away.

has this all been for nothing?
Was I taught wrong?
and does it not matter?

PS. What do you think of my other suggestions?
- Get the drawcalls down to 1 (or 2 if you want separate shader on the glass)
- Make the model symmetrical
- Cut the face count by welding unnecessary edge loops wrapping the model
- Get the UV islands on the lightmap down to <3

Am I being too critical or is this what you would do also?

In a game, it will of course convert everything to tris. The concern is that in some cases it might triangulate in a direction that messes up how that polygon looks. Internally, your 3D program is already doing it as triangles, but it may do it a different direction than what the game engine will translate it to.
Most of the time, it doesn’t matter which direction it triangulates, but there can be cases where it does. The main reason to avoid N-Gons is for subdivision modeling because quads are predictable in how they subdivide. Though even then there’s times where you can look at the result and decide if it’s causing an issue after subdividing.

Yeah, you’ll want to avoid having too many draw calls, having 5 UV channels will not change your draw calls though, that only changes the amount of memory that the mesh uses. What will change draw calls is how many materials you use on a mesh, each material is an additional draw call. However, if most of what you’re using it for is solid colors, like blue and black, then you might be able to use a very simple texture map where you have your colors as swatches and then you just group all the parts for a color onto the appropriate swatch, that way you can avoid using multiple materials just for a solid color. For glass, you can’t avoid that, and it’s better for rendering not to make the whole vehicle use a translucent material just for the parts that have glass.

He can’t make it symmetrical though, since the driver seat and the door on the side aren’t symmetrical. And there’s not that much unnecessary loops, wouldn’t really save much memory there. Also, I don’t think he can reduce the UV islands to 3 since he has things like the lights which are separate meshes.
If this vehicle is meant to be driveable then there’s some parts that would need to be separated so that it can be animated, like the tires.

Yes you are right. I made assumptions about the 5 materials.
What do the extra channels do? Do they make 5x as many verts in the final model?

I forgot about the assymetrical elements like a drivers side.
Doesn’t look like he has an inside from the pics. But ultimately their should be an inside.
Especially if the windows are glass.

Me personally, I always try to go for as much symmetry as possible.
And if I can use any symmetry, I do it.
Even on models that aren’t 100% symmetrical.
I build everything that I can go symmetrical first.
Unwrap, Add symmetry. And then build out the assymetrical parts.
But that is just me.
I am very conscious about texture use optimization.

About welding the verts. to cut the tris down. Yes she probably doesn’t need to.
Honestly, on my own stuff I am usually too lazy to do that.
Unless it was a modular piece I was planning on instancing all over the place.

Again Just my opinion on this. But I think as an artist putting it forward as an asset for sale.
They should take the extra time to make everything absolutely perfect and super optimized.
I guess I represent the typical customer. I am a sucker for buying assets.
I buy a lot of assets on the unreal asset store, Unity store, and turbo squid.

When I buy assets if I see really immaculate work from the vendor.
I will go right back and check out every other asset they are selling
And I will want to buy more from that artist.
I might even buy something I was not sure about just because I now trust the artist vendor as a professional.
Especially if they did everything better than I could have done it myself.
But if I see anything I don’t like. I will never buy from that vendor again.

Smoothing groups are the only thing that change the vertex count, because UE4 doesn’t use smoothing groups–everything gets smoothed together so it splits the mesh along the smoothing groups to get the same effect. UV channels increase the memory usage of the mesh since it has to keep that information in memory. It’s a similar deal with skinning vertices, each bone that influences a vertex is another number that has to be saved which increases memory usage.

His mesh is like 95% optimized, so the few polygons that he would save aren’t a big deal since the memory usage is negligible. Overlapping UV’s can save space for your material, but doesn’t help for lightmaps since they can’t overlap.