Announcement

Collapse
No announcement yet.

Issue with HISMC (LOD switched for all instances same time)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Issue with HISMC (LOD switched for all instances same time)

    Greetings. I've tried to implement HISMC. But it acts like ISMC. LODs are switched for all instances at once.
    Here's video: https://i.gyazo.com/7b1b0ef4f79c42d5...d96b65de2d.mp4
    For some reason can't upload a video here (same issue with it as on Answerhub, no mp4 allowed).
    It's the same on 4.21 and 4.23.

    Thank you in advance.

    Mirror question on Answerhub: https://answers.unrealengine.com/que...tances-sa.html
    Twitter | MinimalUI UE4 Editor Theme
    Dark Themes for: Forum | AnswerHub | Everything else

    #2
    It should work, but AFAIK LODs on HISMC are switched in clusters, rather than individually. I may be wrong, but it would be worth testing on some more random distribution of the instances.
    https://www.artstation.com/artist/rawalanche

    Comment


      #3
      Originally posted by Rawalanche View Post
      It should work, but AFAIK LODs on HISMC are switched in clusters, rather than individually. I may be wrong, but it would be worth testing on some more random distribution of the instances.
      Yeah, that's correct. They are likely so close to each other that all the instances are in the same cluster.
      Easy to use UMG Mini Map on the UE4 Marketplace.
      Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

      Comment


        #4
        Any way to define the size of the cluster? I prefer lods swapped at least in half of the distance.
        Twitter | MinimalUI UE4 Editor Theme
        Dark Themes for: Forum | AnswerHub | Everything else

        Comment


          #5
          People from UnrealSlackers Discord helped a lot.

          Code:
          int32 UHierarchicalInstancedStaticMeshComponent::DesiredInstancesPerLeaf()
          {
              int32 LOD0Verts = GetVertsForLOD(0);
              int32 VertsToSplit = CVarMinVertsToSplitNode.GetValueOnAnyThread();
              if (LOD0Verts)
              {
                  return FMath::Clamp(VertsToSplit / LOD0Verts, 1, 1024);
              }
              return 16;
          }
          Setting CVAR
          Code:
          foliage.MinVertsToSplitNode
          To a lower value will shrunk the cluster's size.
          Don't forget to rebuild your HISMC to update the result.
          Twitter | MinimalUI UE4 Editor Theme
          Dark Themes for: Forum | AnswerHub | Everything else

          Comment

          Working...
          X