The [bIsVisible] flag is set to [1] by the following judgment.

const bool bIsInDrawRange = DistanceSquared >= Bounds.MinDrawDistanceSq * HLODState.FOVDistanceScaleSq;

Judging from this code, I believe that HLOD cannot be layered.
When multiple HLODs are layered, both ForcedVisiblePrimitiveMap and ForcedHiddenPrimitiveMap are [true].

I would be very happy if you could tell me if this is a fix or a specification.

Steps to Reproduce

1. Place Cone, Cube, Sphere, and Cylinder in the scene.
2. Make LODActor_0 from Cone and Cube.
Make LODActor_1 from Sphere and Cylinder.
Include them in LODLevel-0.
3. Create LOD_Actor2 from LODActor_0 and LODActor_1 created in [2].
Include it in LODLevel-1.
4. Run GenerateProxyMeshes.
5. Transition to LODLevel-0 is done correctly.
However, when transitioning to LODLevel-1, LODLevel-0 will be displayed at the same time.
(To make it easier to check, the coordinates of StaticMeshComponent of LODActor are shifted.)

You can check the above situation immediately by opening TestMap.umap.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-79618 in the post.

Login to Vote

ComponentUE - Graphics Features
Affects Versions4.22.3
Target Fix4.23.1
Fix Commit8576537
Release Commit8576537
CreatedAug 30, 2019
ResolvedSep 3, 2019
UpdatedFeb 26, 2020
View Jira Issue