Search Unity

LOD and Terrain Performance

Discussion in 'World Building' started by LegacySystem, Sep 7, 2022.

  1. LegacySystem

    LegacySystem

    Joined:
    Jan 28, 2021
    Posts:
    52
    Hi,

    We are building an open world game for mobile. We want to give the user most visual possible. And the most challnging part (for now) is the memory. We want to use some 1k-2k trees when user is close but billboard when away. 3-4 LOD will do the job. But When a distant tree show up on screen LOD_0 of that tree still will be loaded to memory. My quesiton is does unity uses Asset streaming on LODs, if not is there way to achieve this ?

    My other question is we are experimenting with Unity terrain but couldn't find a documantion about how does unity optimize the terrains that are distant. For example when I move away from terrain I can see there is some LOD but it never culled unless it is out of clip distance of camera. Does Unity Loads all terrain at once ? Should make a system with triggers to load and unload a terrain? I am not sure how to do that without Adressables or Makining each chunk different secene. Is there a better way than these two ?

    Thank you.
     
  2. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,063
    I cannot comment on the LOD issue. I can say that terrains are killing for mobile from my experience. I personally converted a terrain I made to mesh and cut them up in blender to cull them myself
     
  3. LegacySystem

    LegacySystem

    Joined:
    Jan 28, 2021
    Posts:
    52
    Thank you for your reply. How did you managed the LODs of terrain ? Or did you just culled it? How about something like GAIA for terrain and SECTR for loading ? Have you tried any of these?
     
  4. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    1,759
    Chunk Stream terrain... SECTR is the best
     
  5. Magnilum

    Magnilum

    Joined:
    Jul 1, 2019
    Posts:
    241
    If you are using the method from converting mesh terrain into mesh and import them into blender to cut them into smaller parts, you can use the decimate component in blender to reduce the number of triangles.

    Unity's terrain has a LOD already implemented which you can observe by changing the shading mode in Unity with "Shaded Wireframe". You will see the triangles increasing or decreasing if you get closer or move away from the Terrain.
    But there is a minimun limit of number of triangles.

    If you need to reduce it, the use of meshes with blender can solve it but there is some drawbacks like the painting texture or painting heights directly on the terrain.
     
  6. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,255