Jump to content

Readpeated Textures: Good or Bad?


Recommended Posts

*I mean Repeated!!!

I'm new to modelling and especially texturing. I have a question on the best way to unwrap a model while considering tris/quads and vertices. Sorry if this has been asked before, I checked the forum and some tutorials but couldn't find a "best practice" answer.

First a quick background: I'm trying to make a new command pod, shown in the first picture below. Originally, my plan was to outline my texture's pattern on the model itself by splitting faces and such, then I would use seams to separate each area so I could texture them separately. You can see my seams in red in the first picture.

So my main question is about the bottom section of my pod, with all the little squares. These are all meant to be individual heat tiles, which would share up to four separate textures (just different shades of black). Each would be unwrapped separately, as in the second picture, then overlayed on each other, then all the islands would be scaled up as one so that I can use larger and higher quality textures. BUT doing it this way increases the number of polygons by quite a bit. A lot of these faces are on the same plane and can be merged together, but then I would have a lot of long parts that don't fit onto a UV map as nicely.

Is separating parts like this the best way to apply textures? Should I merge planes together and just use lower quality textures? I've been reading that less polygons is better...

In fact if I use "limited dissolve" the number of vertices/edges/planes/tris goes way down (third picture).

If you have any other advice/opinions about my model, I'd like to hear them! For example tris vs. quads.

Also, side question: if anyone knows how to unwrap their model in Blender without things getting rotated, I'd like to hear it. Some of my heat tiles are rotated 90 degrees when unrapped, and it'll be annoying to figure out if it's plus or minus 90 degrees for each one...

TGtSZDWh.png

kSethrch.png

URbT9DMh.png

Edited by ev0
Title
Link to comment
Share on other sites

I think you would be better off unwrapping your bottom plate in quarters. Then overlaying all four islands on top of each other. I think separating your model like you did earlier would create too many unsightly seams.. That's just my opinion though.

As for Tri's and quads, I usually aim for no more that 1500 tri's on a finished model, even though I don't think it would much of an issue if you went higher. I think the most I've seen on a model that was originally in ksp was around 3 or 4k tris.

If you use quads in your model they'll just be converted to tri's once you import to Unity, so using tri's in your model isn't too big of a deal. What I would worry about more would be the Ngons (more than 4 sides). I think those would give you unpredictable results once you import to unity, like messing up your textures. At least that's been my experience.

Link to comment
Share on other sites

Tri counts are not as limiting of a factor as you might think. I have several models with tri counts >10k, with negligible (unnoticeable) performance impact in my games/on my comp (even when used in larger craft with lots of other parts). Granted, these parts take the place of 4-8 stock parts, so there is a decent tradeoff there anyway.

Physics updates (specifically rigidbody calculations) are the single largest limiting factor for most computers running KSP (CPU limited). I would wager even mediocre video cards should be able to handle 100-200k tris without issue (100k or so is actually Unity's maximum guideline for MOBILE, with 1-2 million tris for desktop). Keep in mind that the rest of the universe would also use some of those tris (rendering planets when they are rendered as 3d, most notably when you are low enough to see terrain).

I would go with whatever makes the best use of UV space / allows you to use the smallest texture while still achieving good looking models / whatever is faster for your development time. Also, keep in mind the limitations that using AO bakes has on your UV unwrapping/mapping methods -- you need mostly unique UV mapping to get the most out of AO bakes. They are of course, optional, and you can certainly omit using them. A good compromise to allow UV re-use while still using AO bakes is to use mirroring of any symmetrical areas to reduce the amount of identical quads that need to be individually mapped; most models can be easily split into 2-way, 4-way, or 8-way symmetry on just the horizontal axis; as long as they are truly symmetrical, the AO bakes will work out fine. It looks like the bottom area on your pod is a prime candidate for the mirror-reduction method; it is symmetrical and the angling between the lower portion and top means that the AO bake for the lower sections would not be effected by the asymmetry of the upper portion.

Texture size is a major concern for modded installs; I am (and probably many others) running into the 32-bit ram limitations, limiting adding more mods to my games. So making the most out of your UV maps is one of the best ways to reduce distribution size and problems with modded installs. Keep the textures as small as possible (while maintaining detail!) and use as much of the available texture as you can. I generally aim for 128px/meter uv scale, and squashing everything as close together as I can in the texture (usually leave about 8 pixels between islands, for MIP-map/texture reduction purposes).

Others have already mentioned the problem with N-gons, so I won't go over that... other than to say that they are a PITA to UV map properly, and do -not- grant any performance increase (they are all converted to tris in the end for rendering, at least in the current engine version). They do work properly in-game (as they are auto-converted to tris during export from blender/import into unity); however the UV mapping on them can be....akward and unpredictable, generally resulting in very skewed/stretched unwraps.

TL;DR:

An extra few hundred or thousand tris on a (semi complicated, such as a pod) part is likely a good tradeoff for efficient use of UV space and development time. Sharing textures wherever possible is generally a good idea and will result in better overall texture quality and use of texture memory.

Link to comment
Share on other sites

Some great answers already. I'll just throw in another $0.02.

IMHO it's horribly wasteful to spread the polygons out with huge gaps around them in your texture. At the very least, adjacent polygons can be grouped together to receive a contiguous texture. And as others have pointed out, you might divide up an area into 3 or 4 sections of similar polygons and overlap them to share.

Sometimes I break up cylindrical sections to texture it in quarters or eighths, and sometimes I overlap every single polygon from such a ring if the pattern looks good with it. Other areas you'll probably need to not overlap, for instance if they have a unique shadow (ambient occlusion for instance), or unique decal, or whatever.

Link to comment
Share on other sites

I think you would be better off unwrapping your bottom plate in quarters. ...

Will do!

Tri counts are not as limiting of a factor as you might think. ...

... AO bakes ...

By AO bakes, do you mean texture mapping, or normal mapping (AO = Ambient Occlusion)? Or something different?

Thanks for the replies! Looks like there's some different opinions about how many tris to be aim for... so I'll try the best of both worlds. I did a pass over the model and red-seamed the hell out of repeating textures (might even be able to do a bit better, or I may have gone overboard). I saved about 800-1000 tris down to ~2,700 while being able to use similar textures for all those heat tiles. I'm not too worried about seam in the texture itself, as each tile will have a thin border anyway.

See pics below. Don't worry, all those small pieces in the UV map are going to be overlayed and scaled up, and the white space minimized.

Which brings me to another question, does anyone know how to center/converge multiple islands in on each other? Would save me a lot of time. If I select a group of islands and try to center, the GROUP centers as a whole, not as individual islands...

O1M1CVHh.png

dDWBEPph.png

Some great answers already. I'll just throw in another $0.02.

IMHO it's horribly wasteful to spread the polygons out with huge gaps around them in your texture. ...

Oh yeah I know:D Originally I was going to use the unwrap in the pics below, but even then the textures were too low in my opinion. On 1024x1024. Eventually I want to try to overlay all the small square islands in the above pics over each other to share up to 4 textures for heat tiles. Just didn't get to do that yet.

pyXVlbEh.png

0TeBtAvh.png

Link to comment
Share on other sites

Just beware of putting the islands too close together as well, unless they have similar colors at the edges. Something to keep in mind is that when rendering in-game at various distances, the accuracy of the UV vertex positions isn't that great, plus there's mipmapping which blurs things a bit by reducing resolution, and the player can also choose to reduce resolution of the textures at load-time. So colors will definitely bleed between your polygons if the mappings get too close together. I try to colorize a good 5+ pixels outside of each polygon, which often means 10+ distance between UV edges.

But yeah, for centering things, you can select them one at a time and edit the coordinates on the right side. Often I just use snap, though. Sometimes I also find it easiest to just grab individual vertices and snap them or move them with a constrained axis. Lots of different ways to do what you want.

Link to comment
Share on other sites

Just beware of putting the islands too close together as well, unless they have similar colors at the edges. Something to keep in mind is that when rendering in-game at various distances, the accuracy of the UV vertex positions isn't that great, plus there's mipmapping which blurs things a bit by reducing resolution, and the player can also choose to reduce resolution of the textures at load-time. So colors will definitely bleed between your polygons if the mappings get too close together. I try to colorize a good 5+ pixels outside of each polygon, which often means 10+ distance between UV edges.

But yeah, for centering things, you can select them one at a time and edit the coordinates on the right side. Often I just use snap, though. Sometimes I also find it easiest to just grab individual vertices and snap them or move them with a constrained axis. Lots of different ways to do what you want.

Ohhh thanks for the tip on bleeding textures. I'll keep that in mind.

Editing the coordinates manually would take forever since I probably have 100s of little squares to match up. I was using it before to help align certain vertices that didn't have a place to snap to, and it definitely wasn't very fast. Snapping vertices definitely seems quickest, I just wish there was a way to center each island from a highlighted group with respect to their respective medians.

Link to comment
Share on other sites

Will do!

By AO bakes, do you mean texture mapping, or normal mapping (AO = Ambient Occlusion)? Or something different?

[...snip...]

Yes, AO = Ambient Occlusion. If you are familiar with normal map baking in blender, AO baking is a very similar process. If you are not familiar with AO baking in blender a decent read on the subject can be found at:

http://www.katsbits.com/tutorials/blender/basic-ambient-occlusion.php

Which brings me to another question, does anyone know how to center/converge multiple islands in on each other? Would save me a lot of time. If I select a group of islands and try to center, the GROUP centers as a whole, not as individual islands...

Unfortunately no such operation is available in blender. The closest you can come would be to delete all but one of the quads, UV unwrap it to where you want it, and then duplicate and rotate it into place. The duplicates would all share the same UV coordinates. A very similar process is what I use for unwrapping with various mirror symmetry. Manually snapping them on top of each other is the only other way that I'm aware of.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...