BUG: UEFN: Importing FBX mesh with its containing LoDs causes them to be split as individual meshes, LoDs not assigned and can't be added to SM

Summary

Importing FBX mesh with its containing LoDs causes them to be split as individual static meshes, lods being not assigned and no lods can be added manually in a static mesh.

Please select what you are reporting on:

Creative

What Type of Bug are you experiencing?

Assets

Steps to Reproduce

  • open the UEFN editor and create a new level or open an existing one
  • in the Content Browser click on the ‘Import’ button
  • select your fbx with lods
    (lod setup in blender → empty plain axis (name: SM_LP) and its meshes parented, meshes named SM_LP_LOD0, SM_LP_LOD1, StaticMesh_LP_LOD2,
    Empty plain axis has custom properties → string ->LoDGroup,
    Collision mesh named OCX_SM_LP
  • set all mesh as static mesh
  • import lods enabled (bake meshes as well)
  • import static mesh enabled
  • combine static meshes ->do not combine
  • lod group in my case LevelArchitecture
  • import collision enabled (everything enabled under collision)
  • press the import button

Trying to assign/import a new LoD in the static mesh does nothing either.

  • open the static mesh ST_LP_LOD0
  • Go to LODPicker and set it to LOD 2
  • Go to LOD Settings → LOD Import and reimport a new LOD2 file.
    Observe nothing got imported. Switching between the lods while wireframe mode is on shows that only the autogenerated lod is switched on distance.

Expected Result

Only one Static Mesh got imported assigned with its materials, lods and collision

Observed Result

Four static meshes got imported sepereatly in the content Browser with autogenerated lods. (Lod0-2 and the collision mesh)

Platform(s)

PC - UEFN - Version: 6.O.O-59247843+++Fortnite+Release-42.40

Additional Notes

SM_LP_LOD0 has 700tris only.
I am very sorry if this is an user issue.

Thank you for your time and help UEFN-Team

A while back, I tried to import a static mesh with LODs as well, but I couldn’t get it to work. I don’t remember everything I tried.

In the end, I exported each LOD into its own FBX file. I imported LOD0 normally, but the other LODs were imported into LOD0 (by opening LOD0).

That’s what I thought in the end as well, but that doesn’t work either. In the lower part of the STR I tried that but it keeps the one generated lod for all.

Can you confirm that you are using LOD Import under LOD Settings as shown here?

Good morning FragileNucleusG, yes I can confirm.

Is this what you ment as in the STR or do I missunderstand you? : )

  1. open the static mesh ST_LP_LOD0
  2. Go to LODPicker and set it to LOD 2
  3. Go to LOD Settings → click LOD Import and reimport a new LOD2 file.

Good day, Rylinn!
I honestly don’t know what you mean by STR, but the steps seem right to me. I think you have to remove any automatic LODs (not overwrite them). The process worked for me when I tried it a while back. I will try it again soon, and I will let you know of the results. It could be a new bug or something. :person_shrugging:

1 Like

I confirmed that LODs work fine. The issue is the editor is locked to use Nanite which is certainly confusing.

I list the steps I followed to confirm that LODs work. I worked with the attached assets, subdivided cubes.
SM_Test.fbx (13.5 KB)
SM_Test_LOD1.fbx (11.8 KB)
SM_Test_LOD2.fbx (11.2 KB)

  1. Import SM_Test (LOD0).
  2. Open the imported asset.
  3. Scroll down to LOD Settings and remove the Low and Medium overrides of Quality Level Min LOD. They are intended to remove the higher quality LODs for those quality settings (Low and Medium). I am already working with low-poly models, so I don’t really need those overrides. They’re important for performance, but for this test, I decided to remove them.

  1. Import the custom LODs (LOD1 and LOD2), by selecting Reimport LOD Level 1/2 under LOD Import. This will automatically set LOD Group to None through a warning popup. Note that you can customize the Number of LODs to your liking in this section.

  1. Adjust the Screen Size of each LOD. This is done by picking the LOD under LOD Picker, then adjusting Screen Size under LOD # section (LOD 0, LOD 1, or LOD 2, depending on which you picked).

Since the editor is locked to Nanite, we sadly won’t be able to view any of this in the Viewport, but we can use the stats to do the adjustments. The stats show the Current Screen Size of the mesh which updates as you move the camera away from the mesh.

You basically need to pick the Screen Size at which the LOD will be shown (it’s technically a range from 0 to infinity, we’re setting the values of the transitions between LODs). The numbers I picked are:

  • LOD 0: 0.125
  • LOD 1: 0.050
  • LOD 2: 0.025

Once all Screen Sizes have been set, you can see the mesh stats (tris and verts) change as you move the camera. The Viewport still shows the Nanite mesh. The stats are for the Fallback meshes (our custom LODs).

  1. Drag the mesh into the level.
  2. In the Details tab, with the dragged mesh selected, search for Nanite and check Disallow Nanite. This forces the Fallback meshes to be used all the time (essentially disabling Nanite for this instance of the mesh).

As far as I know, it’s not a good idea to completely disable Nanite. It could degrade performance for higher-end devices that use Lumen and other fancy features. The Fallback meshes are intended for lower-end devices that still do not support Lumen. You should uncheck Disallow Nanite after the test.

  1. Move away from the mesh to verify that LODs switch as intended.

Hopefully, the screenshots show the mesh losing polygons till it becomes a simple cube.

1 Like

Good day @FragileNucleusGFragileNucleusG and big thank you for your help!

Figured out what happened. The percent triangles where set very low so my lod was so reduced I did not recognize it. And then I made the mistake importing the fbx with all lods in the lod import..

Also I got the message that the lod syntax is now LODX_MeshName so I changed those.

It works now very well, I am very sorry for my trouble and big thanks for your detailed help FragileNucleusG! :slight_smile:

1 Like