Home Technical Talk

Learning how to optimize Geometry

I'm currently in school learning about game design, and game art production. My school teaches us how to model, texture, and light as well as getting our work into UDK. However since learning how to model within Maya I'm constantly having my meshes either being too low poly or too high poly for their purpose. My school doesn't really teach us how to optimize our meshes. I dug around the archives section to make sure I just didn't miss a awesome thread that might have been bookmarked (although there are a few that I'll have to revisit in there :))

I'm starting to feel a major crutch as I'm trying to work on a group Environment piece for our class and I'm having a hard time keeping up with the modeling when I don't quite understand when and how to optimize my meshes. I also feel that this slows me down when I go to UV, then eventually when I go to texture, so on and so forth. If you have a crap foundation, the house won't stand so to speak.

So I'm reaching out to the community for thoughts, and opinions on the matter. How did you guys learn to create good, clean game assets? Obviously on the job your forced to, but in school it feels like I'm unable to get that guidance. This whole topic started after a fellow classmate noticed my geometry had way more tri's then needed. Obviously its probably dependent on what your modeling, but I'm opening up to the community for advice on this.

Replies

  • Artifice
    Options
    Offline / Send Message
    There's no set of rules for optimization, short of 'what looks good', or 'what works', which will depend a lot on your specific circumstances. A good rule of thumb is you need enough geometry to support your silhouette given the confines of your engine.

    Here's a decent place to start learning:
    wiki: Polygon Count
    specifically the Articles about Performance section.
  • chrisradsby
    Options
    Offline / Send Message
    chrisradsby polycounter lvl 14
    There are a lot of things to consider when it comes to optimization, if you want to go down to some of the technical stuff. But you should be fine just making sure you're not wasting polys with unnecessary edge loops etc.
  • mdeforge
    Options
    Offline / Send Message
    mdeforge polycounter lvl 14
    At least in Maya, actual geometry seems to render faster under Mental Ray than displacement maps. I don't know how this works in game engines, but I'm willing to bet more geometry would be easier to render than a displacement, or other map, of some sort depending on what you're asset is. Are displacements pretty costly? I don't think displacement maps have been used very frequently in games until recently, right?
  • Jonathan
    Options
    Offline / Send Message
    When you're working on a specific game with specific hardware, you should get to know your engine.

    You'll be wasting your time if you just take forum advice and never check PIX or any other performance tools.

    Every engine is different, and the way you construct art assets will defer from the way you'd make an efficient asset in another.
  • samcole
    Options
    Offline / Send Message
    Thanks for the feedback, and links to useful pages. @Dustin, I hadn't thought of making a modeling inspiration folder to reference good edge work, and models. I'll have to do that. Orb's stuff is real clean, I'll have to ask him maybe for some un-triangulated screenshots since the tri's tend to make it a bit confusing to look at.

    Yes, we are taught to normal map, so I try to consider what I can leave in the normal map, and what needs to be in the mesh itself.

    @Jon, Yes, that is very true. Engine, and hardware are critical. This is also the reason why I wanted to open up some discussion with the community to get a range of thoughts on the issue.
  • Jonathan
    Options
    Offline / Send Message
    Btw, here's a post about resolution and games I made a while back,
    http://tech-artists.org/forum/showpost.php?p=9535&postcount=3

    It's hard to be too specific here in terms of shaders and material costs. I can spit out shader percentage differences of our internal engines, but you'd really just need to verify with what engine/platform you're on.

    Some general guidelines, however, these are not always 100% certain (YMMV)
    -avoid small triangles of meshes, they render much slower,
    -keep as much geometrical data stored in a normal map over putting it in the mesh, keep mesh details for silhouette
    -learn how the platform you're working on handles draw-calls/state-changes, this HEAVILY impacts how you make your art, i cannot stress this point enough
    -be sure to ask your local graphics engineer, especially if its your own engine, as they're the one(s) handling your art data, etc.

    Last but not least, verify, verify, verify in some performance analyzer (this is more geared toward a commercial project).
  • samcole
    Options
    Offline / Send Message
    @Jon, Oh yeah a lot of performance issues would be dealt with in-house. This comes down to more of a modeling concern since that is the basis of our asset creation process.

    The wiki is a great source that I have found about draw calls, texture map sizes, what to look out for in terms of resource hogs which are in fact not the poly's, but the various textures/materials.

    Like I said I'm still in school, I'll be a senior next year so I'll still be using UDK. For me, its just trying to get a handle on the idea of creating good looking meshes, while not being inefficient on either end of the spectrum. Its something my school doesn't emphasis, so I'm trying to fill that gap in my skill set, and understand it so I can be more effective.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Skuee wrote: »
    Like I said I'm still in school, I'll be a senior next year so I'll still be using UDK. For me, its just trying to get a handle on the idea of creating good looking meshes, while not being inefficient on either end of the spectrum. Its something my school doesn't emphasis, so I'm trying to fill that gap in my skill set, and understand it so I can be more effective.

    One of the nice things about UDK is that you can see some of the meshes made by Epic for the engine. So there's lots of great examples of how things should be done for that engine.
  • samcole
    Options
    Offline / Send Message
    Sprung, I hadn't really thought of that...I'll have to do that once I get my new computer up and running in 2 weeks.
Sign In or Register to comment.