Best Game Mesh Approach for FP Weapon Nanite Meshes?

Hello! I’m a weapons / hard surface artist doing some research into different workflows for weapon Nanite game meshes for FPS games. I’d like to better understand the implications on performance and quality of each method.

Are there any hard surface or technical artists here who could share your insights and experience?

Here are the methods I’m investigating:

  • Option A: All soft edges with face-weighted normals
  • Option B: Hard edges in alignment with all UV seams
  • Option C: Geometry-driven (all soft edges with supporting geo to hold up the face shading)

Before Nanite, my typical workflow was to add hard edges in alignment with all of the UV seams. With Nanite, I’ve been doing all soft edges with face-weighted normals. I’m considering whether or not going back to the pre-Nanite workflow with hard edges, while still keeping the geometry more mid-poly and tessellated to be Nanite-friendly, would be a good choice to make the workflow more unified and predictable for scaling up production and co-development.

What are the implications of using hard edges on FP weapons with Nanite? In your opinion and experience, which workflow is the most suitable for FP weapons in terms of performance and quality?

Hey there @cvelazq! Welcome to the community! In my experience/opinion, options B and C are the ones worth considering, C has the least amount of artifacting in Nanite even during LOD shifts while still being able to utilize the extra geometry Nanite can support.

Performance wise, it’s usually not better to use Nanite for smaller objects unless you are really getting the detail out of their full detail meshes. So for first person weapons, this could mean very high detail meshes may be worth it, but in general it’s not inherently better than faking some of the detail unless you have a means of closely inspecting them.

Team wise, the classic hard surface workflow is what everyone knows and will be easier to work with, but you won’t get any real benefits from Nanite in that case.