Home Technical Talk

Should I create the LOD objects manually or...

polycounter lvl 6
Offline / Send Message
Pinned
D4N005H polycounter lvl 6
Hello.
We know that there are objects in far distances which are low poly, those are called LOD objects and will be replaced with a high poly object (or original object) when camera goes near them.
The question is should I create them in 3DS Max or let Unity3D automatically generate them (is it even possible)?

EDIT: This question has been edited.

Replies

  • huffer
    Offline / Send Message
    huffer interpolator
    Sometimes the second LOD is used for lower-spec systems..so it has to be pretty clean, it might be better to do it by hand. And if you have a lot of hard edges and hard surface models, it might not be a good idea to generate them automatically - you need to be careful what to collapse and whatnot, or delete small elements. If your mesh is organic I think automatically generating them is good enough. Unless it's skinned and rigged..in which case, again you should be careful what edge loops you remove.
  • D4N005H
    Offline / Send Message
    D4N005H polycounter lvl 6
    huffer said:
    Sometimes the second LOD is used for lower-spec systems..so it has to be pretty clean, it might be better to do it by hand. And if you have a lot of hard edges and hard surface models, it might not be a good idea to generate them automatically - you need to be careful what to collapse and whatnot, or delete small elements. If your mesh is organic I think automatically generating them is good enough. Unless it's skinned and rigged..in which case, again you should be careful what edge loops you remove.
    Okay, So you mean it is better to make them by hand in 3DS Max for objects like buildings?
    Two questions:
    1) Really how many LOD levels are effective for performance? I saw games with 2 levels and some other games with 9 LOD levels!!
    2) Is Unity3D able to make LOD meshes automatically? once I google searched and found nothing useful.
  • huffer
    Offline / Send Message
    huffer interpolator
    I think unless you export them, they're generated automatically and you can see them switching by zooming in and out. For something like a building, yeah, it's going to be better to make them by hand..if you have modularity, hard edges, UV seams, etc. You can definitely try using the Pro-optimizer modifier to see why it might not work, or why it might in some cases.
    The number of LODS should be determined by the technical artists and programmers, taking everything else about the graphical level of the game in consideration (number of objects on screen, texture sizes, visual effects, etc).
  • kurt_hectic
    Offline / Send Message
    kurt_hectic polycounter lvl 13
    Manually, usually 1-3, in open worlds/huge games last one is just a box with baked texture. If you have a lot and complex meshes buy https://www.simplygon.com/

  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    Some things can be done in an automated way. Like blobby shaped stones/rocks, and some other simple stuff can be definitely done with automatic LOD generation, but yeah as the previous guys said, in many cases, its better to make them by hand.
  • D4N005H
    Offline / Send Message
    D4N005H polycounter lvl 6
    Okay, thanks for the replies. I think I know what I should do now. However I should find out the automatic LOD generation option (or tool) of the Unity3D when possible.
  • Jonathan85
    Offline / Send Message
    Jonathan85 polycounter lvl 9
    so... can unity generate LOD by itself? I always thought you need to do LOD generation in modeling software of your choice (3ds max, modo, maya etc.)
  • Eric Chadwick
    You need to generate the models yourself. Or by a script to generate them. Unity only has tools for switching/blending between the models; you provide the actual models.

    Also shaders typically have LODs too, since they're often the bottleneck for performance. So your lower LODs have simpler shaders, not just simpler meshes.
  • D4N005H
    Offline / Send Message
    D4N005H polycounter lvl 6
    Okay then, I guess I know enough for now. Thank you people.
  • thomasp
    Offline / Send Message
    thomasp hero character
    perhaps check out this tool for semi-manual LOD generation - assuming your meshes are reasonably high res. it can respect object boundaries very well. topology stays clean, it's actually intended for retopology after all. you'd need to project the original uv coordinates back on: http://igl.ethz.ch/projects/instant-meshes/
    also zbrush's decimation plugin might be worth a look? you can go pretty low with that and still maintain the shapes but the geometry won't be so clean anymore. i think it keeps the UVs though.

    i had more success with both these than any of the max builtin optimizers.

  • monster
    Offline / Send Message
    monster polycounter
    3ds Max has three modifiers to aid with LOD creation. ProOptmizer, MultiRes, and Optmize.

    As stated Unity cannot generate LOD meshes but it auto creates an LOD component for you.
    http://docs.unity3d.com/Manual/LevelOfDetail.html
    If you create a set of meshes with names ending in _LOD0, _LOD1, _LOD2, etc, for as many LOD levels as you like, a LOD group for the object with appropriate settings will be created for you automatically on import.
    I NEVER create LOD's manually I always use ProOptmizer. Even for characters.



    Another thing to consider is using simpler shaders on the LOD models in game. This can sometimes save more CPU / GPU time then mesh reduction. For example LOD0 has has all features, LOD1 has no normal mapping calculations, LOD2 has no specularity.
  • Jonathan85
    Offline / Send Message
    Jonathan85 polycounter lvl 9
    But LODs usually use the same UV space/UV template/texture (i dont know how to say it) as the original... You dont create specific UVs for each  LOD, right? Never?

    Also if it is true, than it must be hard to reduce the original polycount as much as possible WHILE still maintaining the original shape of the object as much as possible and simultaneously STILL mainting the original UVs? right, sometimes the UVs layout prohibits you to reduce the polycount further even if the mush shape would still allow you? Its a "balancing game"?
  • huffer
    Offline / Send Message
    huffer interpolator
    Yeah, pretty much, you need to preserve UV's, and if you have a bake with hard edges it's get a little complicated because it's harder to remove edges but keep hard edges and UV borders and general silhouette...so in some cases an automatic method will not work at all, you'll have to go in by hand and also delete small elements (which as far as I know, automatic solutions optimize but not delete, so you're left with a bunch of planes).
  • monster
    Offline / Send Message
    monster polycounter
    But LODs usually use the same UV space/UV template/texture (i dont know how to say it) as the original... You dont create specific UVs for each  LOD, right? Never?

    Also if it is true, than it must be hard to reduce the original polycount as much as possible WHILE still maintaining the original shape of the object as much as possible and simultaneously STILL mainting the original UVs? right, sometimes the UVs layout prohibits you to reduce the polycount further even if the mush shape would still allow you? Its a "balancing game"?
    I don't know if you were replying to me. ProOptmizer in 3ds Max preserves UV shells and seams as much as possible. So does MultiRes. See the texture in the screenshot I posted.

    Here's my thoughts. Use auto generated methods, do a quick inspection when it's done. Then be sure to only fix bugs that are reported back to you.  LODs, by their purpose, are hard to inspect. Don't spend more time or stress on it than needed.
  • Jonathan85
    Offline / Send Message
    Jonathan85 polycounter lvl 9

    MONSTER, thanks but i meant that in general is (at least in game industry) a general rule to have the same UVs shells as the "hero" mesh also for the LODs? Or is it more common that LODs have their own UVs shells (and thus their own textures?)




  • Eric Chadwick
    LODs in my experience usually re-use the same texture, but they have to have their own UVs. The vertices are often in different locations and the vertex order is quite different. Can't re-use the same UVs. The layout of those UVs are usually very similar though, to fit the same texture.

    I've seen some games use a new texture set for LODs, when the shader was complex. But this is usually a waste of memory, and a waste of effort. Like Monster said, only spend extra time on LODs if they're noticeably terrible.
  • AFsoft
    Offline / Send Message
    AFsoft polycounter lvl 8
    in my point of view, it is always better to do it manually, cleaner, better
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    That was a bit of a necro but here's some food for thought... 


    Given good UVs I've found if you build the highest and lowest couple of LODs manually, simplygon (or others) will do a pretty impressive job of filling in the gaps. 
    The UVs are absolutely vital to this working but it means you can have some seriously cheap LODs at the bottom end where it's most important

    Numbers wise - 7 levels was about average for modular assets on the last 3 games I worked on (PS4/XBone era ) but it would depend on the tricount of the highest LOD

Sign In or Register to comment.