Home Technical Talk

Capping a circle

I_R_Hopo
polycounter lvl 14
Offline / Send Message
I_R_Hopo polycounter lvl 14
Hi, I've been watching these forums a bit, decided to finally join :) I want to go into game design as a career, and this community seems fantastic!

So, for my first question (and I hope it's not one that'll make me look stupid), I'm wondering the best way to go about capping a circle on a low-poly model. I've read a few different ways people have said to go about it, but I'm not quite sure what the best would be, or if it even matters.
Now, I've done it two ways here that I've read about.

The first here, I've read that it helps with shading issues. When I used to use Blender this was the case, and this eliminated bad shadowing erros for the most part, but I'm not quite sure if 3DS Max has the same issues with shadows.
cap1f.jpgcap2g.jpg

The second way I've read is better for Tri-Strips, but I've also heard tri-strips are no longer important, so I don't know what information I'm getting is correct :poly105:
cap1ps.jpg

So which one would be best to use? Or is there a better way?

Sorry again, if this was a stupid first post, I just couldn't find the answer by searching on here. Thanks very much for helping!

Replies

  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    The 2nd method there is probably better since it's more regular.

    However the way I do it is to actually have a vertex in the middle of the circle and just connect up all the circle vertices to that center vertex (like a pizza in slices). It's only one triangle more than your 2nd solution, and it smooths much more regularly, which is good for normal-mapping. It also makes it easier to UV-map in more ways.
  • I_R_Hopo
    Options
    Offline / Send Message
    I_R_Hopo polycounter lvl 14
    You know, right after I posted this, I thought about that way... Can't believe I forgot about that haha. Thank you though, as it brings me to another question (again, probably missing an obvious answer here, but in my defence I'm tired this time :P ). How would I go about putting that vertex right in the center of the others? Am I right in thinking that I could just create a vertex, select the circle, and copy over all of the x/y/z coordinates, thus having an average of each? Or is there a better way of going about it?

    EDIT: Ya... I'm tired. I just remembered how to do it much easier. Sorry for the time wasting :P Thank you very much for the help though! Much appreciated, and now I don't need to wait for my posts to be checked by an admin.
  • [HP]
    Options
    Offline / Send Message
    [HP] polycounter lvl 13
    Just select the poly, extrude by 0.00, right click on the new poly and select collapse.
  • fearian
    Options
    Offline / Send Message
    fearian greentooth
    I've been putting verts in circles for a while now and I can't believe I never thought of that! Thanks HP for saving me alot of accumulated time in the future! :D
  • Tumerboy
    Options
    Offline / Send Message
    Tumerboy polycounter lvl 17
    ya, I always just collapse the circle to a single point in the middle. I know some people claim that radial polys are bad, but I've never had an issue with them, and I often find that if I need to go back and work with it more, the pie method gives me an easier surface to work with again. Plus, it's only 2 more triangles over your other method.

    In terms of putting the vert there, collapse is your friend. If I've already been using bevel or extrude to get it there, I'll do it that way. But if I am trying to cap a hole, I'll select the loop, scale it down holding shift, and then collapse. Holding shift while moving edges just extrudes those edges for you.
  • DarthNater
    Options
    Offline / Send Message
    DarthNater polycounter lvl 10
    MoP wrote: »
    However the way I do it is to actually have a vertex in the middle of the circle and just connect up all the circle vertices to that center vertex (like a pizza in slices). It's only one triangle more than your 2nd solution, and it smooths much more regularly, which is good for normal-mapping. It also makes it easier to UV-map in more ways.

    MoP, how do you get these to subdivide without getting the stretching and bumps like you see in subdivided cylinders?
  • glib
    Options
    Offline / Send Message
    DarthNater wrote: »
    MoP, how do you get these to subdivide without getting the stretching and bumps like you see in subdivided cylinders?

    Usually you delete every second edge to make quads out of them all. He was talking about leaving it all tris on a lowpoly (hence the talk of normals and UVs).
  • Whargoul
    Options
    Offline / Send Message
    Whargoul polycounter lvl 18
    Technically, the first one draws more efficiently. But I prefer the 2nd one for useability (usually with the "zigs" removed so you have quads in the middle).
  • [Deleted User]
    Tumerboy wrote: »
    ya, I always just collapse the circle to a single point in the middle. I know some people claim that radial polys are bad, but I've never had an issue with them, and I often find that if I need to go back and work with it more, the pie method gives me an easier surface to work with again.
    The argument I've always heard against them is that an engine can't use tri-stripping on fan polygons, so they get drawn slower. It has nothing to do with which is easier to work with
    DarthNater wrote: »
    MoP, how do you get these to subdivide without getting the stretching and bumps like you see in subdivided cylinders?
    Supporting edges

    supportingedges.jpg
  • DarthNater
    Options
    Offline / Send Message
    DarthNater polycounter lvl 10
    Kaskad wrote: »
    The argument I've always heard against them is that an engine can't use tri-stripping on fan polygons, so they get drawn slower. It has nothing to do with which is easier to work with


    Supporting edges

    supportingedges.jpg

    I still get some tearing with turbosmooth... +1 for meshsmoothing ha
  • glib
  • [Deleted User]
    No point going to the effort of deleting those edges just to keep quads on an HP
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    MoP wrote: »
    However the way I do it is to actually have a vertex in the middle of the circle and just connect up all the circle vertices to that center vertex (like a pizza in slices). It's only one triangle more than your 2nd solution, and it smooths much more regularly, which is good for normal-mapping. It also makes it easier to UV-map in more ways.

    It may smooth better but it's less efficient for tri-stripping.
  • Ghostscape
    Options
    Offline / Send Message
    Ghostscape polycounter lvl 13
    sprunghunt wrote: »
    It may smooth better but it's less efficient for tri-stripping.

    with how many polys we can push I'd rather a model light better than look worse but be slightly more efficient. With the # of triangles we can push being ridiculously high, I don't think there is much point in sacrificing visual fidelity for a near-zero performance gain.

    To cap a cylinder with a vert for a fan, rather than extrude for 0.0 on the cap face, then collapsing, if you use the inset tool and collapse it doesn't require you to zero-out your extrude tool, which is useful for saving a whole click :)

    edit: obviously this is for modern games, not DS/PSP/iPhone-spec work
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    sprunghunt wrote: »
    It may smooth better but it's less efficient for tri-stripping.

    Yeah, but in terms of normal-mapped in-game next-gen assets, tri-stripping is probably the least of your worries.
    In fact I've never been told by anyone hell-bent on optimising rendering pipelines to worry about tri-stripping before (including graphics programmers, technical directors, art leads etc.).

    And anyway, even if it did make a difference, I'd much rather have nicer smoothing there for more reliable normal-maps and better options for UV mapping other than a planar cap, than worry about the performance hit that not triangle-stripping a whole 10 triangles is going to cause...
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    It may smooth better but it's less efficient for tri-stripping.
    lawlz

    Guys, just collapse to center and move on!
  • EarthQuake
    Options
    Offline / Send Message
    I've actually had some areas where collapsing to the center vert fucks up my projection, i know, you would think it would improve it. But i've had areas like screws where sometimes the center vert method gives me irregular projection. So i generally do the other method.
  • Daaark
    Options
    Offline / Send Message
    Daaark polycounter lvl 17
    Strips aren't used that much. They might be used programatically on some cheap particle effects (where convenient), but not on skinned models or objects. The only benefit of the strip is to save on vertices sent to the gpu to process.

    That's done with indexed arrays now. All the vertex data is dumped into an array, and the index list just tells the gpu which 3 make each triangle. The alternative is just dumping the info for every polygon into the array, duplicating data.
Sign In or Register to comment.