Developer Notes

When the static mesh tree (brought in thru USD/FBX) is converted to Nanite - the tree thins, or rather visually thins - the thinner branches and/or leaves do not render in the viewport and go missing - sometimes ending mid-branch.

Description

When the static mesh tree (brought in thru USD/FBX) is converted to Nanite - the tree thins, or rather visually thins - the thinner branches and/or leaves do not render in the viewport and go missing - sometimes ending mid-branch.

In my investigations into this issue, I used a Quixel BlackAlder tree which I found on the marketplace.    I exported the tree to both FBX and USD, and then re-imported it back into the engine.   In both instances, when the tree meshes had Nanite enabled, I was able to recreate the thinning / missing parts of the tree issue that they were describing.   However, if I just converted the original Quixel UAsset without export - it had no issues.

I have setup a project file with the original Quixel tree, and example of the USD and FBX export/imports and the original files.

[Link Removed]

The project has the following levels under /Game:

  • Main - just an empty level so UE opens quickly
  • Main_Tree - the original Quixel tree
  • Main_TreeFBX - a lineup of trees using FBX importing.  The farthest tree to the right has the proper materials and has Nanite enabled - showing the issues.
  • Main_TreeUSD - a lineup of usdstage trees similar to the FBX example.  The tree on the far right - again shows the issues, albeit not as obvious as the FBX version.
  • MainTreeNanite - the original Quixel tree, when a copy with Nanite enabled to the right of it - showing that it does not show the same issues as the FBX and USD examples.

The project directory contains a FBX and USD directory containing the exported versions of the tree.

Steps to Reproduce
  • Using the example levels provided in the attached project you can:
    • Export the tree to FBX, re-import into UE ( in it's own folder ), assign the tree materials to it, and convert it to Nanite.  This will expose the missing parts issues.  ( the level Main_TreeFBX already has an example setup for you )
    • Export the tree to USD, re-import it as a USDStage, set the Nanite Triangles Threshold to 1000 on the USDStage to force the tree to be converted to Nanite.  This will expose the missing parts issues.  ( the level Main_TreeUSD already has an example setup for you ).
    • Convert the tree in place to Nanite ( the level Main_TreeNanite already has an example setup for you).

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Rendering - Nanite
Affects Versions5.1
Target Fix5.1
CreatedMay 3, 2022
UpdatedJun 23, 2022