Home Technical Talk

"That's not how you do it!" - floating geo

polycounter lvl 7
Offline / Send Message
doeseph polycounter lvl 7
Okay, so I've started questioning my decisions while modeling and I decided to ask other folks this time around instead of pushing it to the side and ignoring the issue. Now in my head the question/answer seems so simple, but then I get worried that it's actually far more complicated because it seems so simple. Bah.

So here we go:

1. I'm modeling away at this stone support column when I forget to add a small cylindrical design that it has at the base of it. Well, simple enough, I'll just go back and add it.

2. There we go! Nice floating geometry if I do say so myself. Well, all done...wait a minute.

3. Do I really want- no need to be using floating geo here? This is a primitive shape after all, why not just cut into the base and target weld the verts? It might even make texturing a bit easier, maybe.

4. Yeah, good choice. I totally won't question myself in fifteen seconds as to whether or not this is the proper way to do it.

5. This is wrong, all wrong. Game over man. GAME OV- Okay I now see that I've created an N-Gon by chopping into the base of the model. I always assumed N-Gons were bad so...

6. I decide to take the cut ALL the way up the model which, while ridding me of the N-gon problem, adds tris, looks completely wrong, and makes me question myself even more.

wtfnrd.jpg

So I ask, when is it right to use floating geo, and when isn't it? Is floating geo bad? Are N-gons bad? Which of the two methods is the correct way to go about adding the half-cylinder? Are they both wrong?

I'm tired of second guessing myself, someone set me straight. Thanks!

Replies

  • ImSlightlyBored
    Options
    Offline / Send Message
    ImSlightlyBored polycounter lvl 13
    whats it for
    floating geometry would be less tris (though if you need those for something, its not the end of the world.) I'd never actually float it, but sink it in a little bit to eliminate any chance of flashing edges on consoles

    the difference is you'd get a defined hard edge on this, where if it was attached you could get a smoother transition with your normal map.

    Depends on your engines lighting set up and other requirements, too.
  • PredatorGSR
    Options
    Offline / Send Message
    PredatorGSR polycounter lvl 14
    Floating geometry is almost always better, but there are a couple key factors that affect your decision.

    Factors to Evaluate:

    Polycount: Floating geometry will always be cheaper.

    Speed: Floating geometry is usually quicker to create, especially with denser meshes.

    Texture Space: Floating geometry wastes texture space since there is a big chunk in the wall that will never be seen. How much is wasted will vary wildly depending on the shape that it is in the uv map and how much is occluded.

    High Poly construction: If you create the high poly as 2 pieces, you generally want the low poly to be 2 pieces as well so that you can bake hp 1 and lp 1 individually. This will depend on the design of the mesh, but its a good guideline.

    So for each piece, you have to evaluate the tradoffs and the limits you are working with and where you are in relation to those limits.

    To give you a clearer example, on the square part of that model, you have a square and another square extruded out of it. If you create 2 separate boxes, you'll save 6 tris, but you'll have to uv map that entire square where 90% of it is hidden. In that case, saving that huge square of uv space is much more important than saving 6 measly tris.

    On the flip side, say you have a 12 sided bolt that is extruded out of a washer. By making those 2 separate pieces, you'll save 12 triangles, and waste a small circle of uv space. But since you'll use the same texture on every bolt, and you have 10 bolts in the scene, suddenly the texture space is insignificant, and those 120 tris become much more valuable.

    In general, texture space is usually more valuable than polycount, at least in the current engines, so the decision is usually weighted towards saving texture space. But that changes if you are usually tiling textures, cause then texture space doesn't matter, so its always a tradeoff, there is no concrete rule.

    In regards to high poly baking the floating geometry, generally you want outer edges to be smooth, but creases aren't that important to be rounded, they can just be penetrated. So if you were doing a high poly for that round piece in your example, you can bake the square piece and the round piece separately and just penetrate them together as floating geometry and the AO at the crease will do the job of polishing the look of it.

    Oh, and if you were going to penetrate it, you wouldn't cut all the way up the model, you would cut to the nearest edge to end the loop as near as possible, that would fix the ngons, and give you triangles instead, which is just fine.
  • rooster
    Options
    Offline / Send Message
    rooster mod
    Texture Space: Floating geometry wastes texture space since there is a big chunk in the wall that will never be seen.

    worth noting this is only the case for unique texture maps, this looks like a building and would probably have tiling textures, so no worries there

    edit: never mind you mentioned that later on :)
  • ralusek
    Options
    Offline / Send Message
    ralusek polycounter lvl 10
    ya peppi is correct. for anything that's obscured as far as texture space, you can use overlapping UV's to redeem whatever space you need
  • peppi
    Options
    Offline / Send Message
    peppi polycounter lvl 18
    I don't see how that texture space would be wasted, you can leave the geometry and UVs completely unaltered and just use the obscured portion of texture space for something else that'll fit in there, be it unique details or tiles.
  • EarthQuake
    Options
    Offline / Send Message
    High Poly construction: If you create the high poly as 2 pieces, you generally want the low poly to be 2 pieces as well so that you can bake hp 1 and lp 1 individually. This will depend on the design of the mesh, but its a good guideline.

    I think this point is a bit over-generalized. More often then not with a complex mesh i will have a HP made of of 50 or so separate meshes, but only a few mesh chunks in the low. If you split up your low too much, you dont get a nice "seamless" result, ie: intersecting parts getting that nice AA and such. This really depends on what you're doing however, but for complex assets with a lot of HP chunks, it isnt good advice.
  • doeseph
    Options
    Offline / Send Message
    doeseph polycounter lvl 7
    @PredatorGSR: Wow, thank you for the detailed response! That clears up a lot :) I have another quick question now though: Since you said you want to bake a HP in pieces (if it has them), are you saying that for every piece of floating geo I should bake a separate map? Why wouldn't I attach everything and bake one map? Especially if my HP has a ton of floating geo?

    @ImSlightlyBored: Well that small cylindrical piece is actually sinking in a bit as well so theres no empty space between the two, AO blends the two just fine for example, but that's still considered floating geo isn't it?

    Thanks for all the replies!
  • PredatorGSR
    Options
    Offline / Send Message
    PredatorGSR polycounter lvl 14
    Earthquake: Yea you're probably right, just depends on the mesh. This is mainly referring to extrusions and stuff like that that lends itself to floating geometry. I find that matching the high poly in a lot of cases helps with a clean bake, especially with small complex pieces that bleed onto each other if they are too close together. In those cases having separate pieces is great because you can explode the mesh and bake them separately and cleanly. But its not a hard and fast rule.

    Doeseph: Having one map is better, as long as you have the space to do it. If you bake pieces separately you get cleaner results because the rays won't hit the unnecessary pieces by being too close together. What I do is put them all on the same uv map, bake each piece separately, and then combine them back onto the same map in photoshop. The separate pieces is only for the bake process. The other method that works well is to explode the mesh, which means to move all the pieces so they aren't close together, and bake them all at once. Same result, slightly different method. But just selecting the whole mesh and hitting bake will lead to a lot of errors on complex meshes.
Sign In or Register to comment.