Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

is it possible to increase performance by partially masking/occluding skinned meshes?

Discussion in 'General Graphics' started by Nanako, Nov 28, 2014.

  1. Nanako

    Nanako

    Joined:
    Sep 24, 2014
    Posts:
    1,047
    So i'm presently making a character model, and he's fairly detailed. Currently 16k polys naked, and i'm not even finished yet.

    On top of that i plan to be adding clothes and equipment on top. which will farther increase the rendering load. I think...
    A lot of these things are going to cover up significant amounts of the underlying geometry, musculature, etc. And i'm wondering if there's any way to make that an advantage, rather than a downside.

    If i cover up a character's torso with a Tshirt, does unity still have to render his rippling abs if they aren't visible? Is there any way to make such a thing happen?

    Alternatively, the second idea i had was masking; If i use a tshirt-shaped transparent area of texture to cover up all the faces that aren't visible while wearing that, will unity still be rendering them, again?

    Basically is there any way to not-render nonessential parts of the geometry, without breaking my character mesh into pieces, which i'd prefer to not do?

    Failing that, even as a third/final option, does anyone know of some tool to combine meshes at runtime, and actually remove geometry that won't be visible? I've no idea how i'd go about coding such a thing, but if anyone else has done it i'm sure i'd be happy to pay for that.

    all this extra equipment needs to be able to be changed at runtime, so having the high detail naked character mesh is still important, i can't just fuse a tshirt into him permanantly.
     
  2. FrustratedRocka

    FrustratedRocka

    Joined:
    Feb 2, 2014
    Posts:
    7
    First time posting, and I'm new to all of this, so take this with a giant friggin' mountain of salt, but...

    If this is an interchangeable costume deal, I'd suggest taking a different approach. Break your mesh into head, torso, and legs, then build out your costume pieces as needed. Duplicate your naked meshes, place the duplicates under the clothes, then delete any faces that are covered by the clothing. Combine those into a single mesh, name it, skin it on your existing skeleton, and save as a different version of your character. Repeat as many times as necessary.
     
  3. RenOli

    RenOli

    Joined:
    Jan 23, 2013
    Posts:
    102
    Hey man.. depending on how important you character is and on your game you can even have more polygon on it.

    There are others Technics you can use.. create LODs of this character AND the pieces on it. The player only need to see the highest poly veeery very near it.

    So in the end, the player may spend 80% of the time on a 6k polygon version of it.

    Yes, unity will render everything that is not visible in your character.. it can't hide a the faces by masking.. and it is computing the transparent, so it is better to leave it as a normal shader.

    finish you char.. try to understand if all polygons are really necessary.. look by far.. remove some parts, try to add extra polygons only on important parts of it.. create lods versions... 2k - 4k - 8 k - 16k.. create lods of your objecs...

    And try to play a few games and check these.. you will see that there are some really ugly lods and you never realized.. What our eyes sees as a developer is totally different as the users eyes