Enabling Nanite, disable completely the calculations of LoD levels, witch are used in animation blueprints to disable heavy processing nodes, and for removing bone evaluation.
problem seems to come from FSkinnedSceneProxy and the property NumLODs. there are many checks in here for NumLODs > 1 but the property is never set, and its default value is 1.
A lot of code wont get executed, including MeshObject->UpdateMinDesiredLODLevel(View, GetBounds()) in FSkinnedSceneProxy::GetViewRelevance incharge of calculating the LoD level.
the steps to test this are:
- Open any skeletalmesh
- Generate any number of LoD, 4 for example.
- Enable nanite
- In the skeletalmesh previw moving the camera back and forth check that
the value marked in the image doesnt change.
5) Alternativly place the mesh in a level and hit play, use the command a.VisualizeLoDs 1.
Notice the lod level doesnt change.
locally I’ve added NumLODs = RenderData->LODRenderData.Num(); and LoDs get calculated again and brings back all animation features working with this.
