Loading video...
Video Failed to Load
Nanite Assemblies test in #UE5.8 branch from github. I see improvements! they generate much faster and they look better, there's much less noise when it turns to voxels
24,829 views • 6 months ago •via X (Twitter)
24 Comments

May I ask how many original models in the assembly? Nice test btw, and thank you for sharing.

About 4 base tiles and few broken variants

Do you have any idea whether 'None' or 'Voxelize' provides better performance for the Nanite Shape Preservation setting on static meshes?

I guess it's voxelize, there's very little overdraw when voxels are used

I guess I never clued in that assemblies would apply to other things.

so so good

Voxels? Is the nanite foliage voxelization being expanded to support assemblies?

It's the same thing. Foliage is a kind of nanite assemblies

I wondered since they revealed it what stops people from using it on more than just foliage. There are a lot of types of meshes that face the same issues foliage did so idk why they only talked about voxelization in reference to foliage

idk too. voxelization is just a type of volume preservation in nanite properties. works for any mesh

I don't understand the gain on using Voxelize on such geometry, as they are not thin elements that would increase overdraw. Did you stress-test it with and without that?

Shape preservation! It's an assembly made from small tiles. If you don't do something it disappears at a distance. Same thing as leaves for trees

Even with Preserve Area checked and the Max Edge Length Factor increased?

Yes, still disappearing. We also had this problem with leaves. That's why they made voxelize I suppose, otherwise they could just keep the preserve area

Got it. Before, it would have been best to turn the Assembly into a single static mesh, but that would have increased the size.

How are you importing a nanite assembly?

Atm I don't think there is a way to directly import a nanite assembly from an external DCC (except maybe for trees generated in houdini). In this case I generate the roof assembly directly in UE with a BP that spawns the tiles and then packs them.

Probably the way to do it from an external DCC it's through a format that exports instances like usd and then in UE building the assembly with the scripts they provide.

@amit916J For a Static Mesh Assembly, you can export a USD from Blender, with instances. On USD import, you can set it to an assembly, and it will import the proper meshes without duplicates and make the assembly. But can sometimes import the meshes with odd names (like shingle.006).

@amit916J You can also use an FBX. Set up your assembly in Blender, using instancing on the objects, and instead of the regular import to content browser, you can use File > Import Into Level for your FBX. Then you can use the scripted action to make a quick static mesh assembly.

@amit916J Downside with File > Import Into Level is that the FBX needs to have the correct unit scaling as opposed to the regular import method for an FBX. It seems to read the units quite differently, so if you don't set up your file in your DCC correctly, stuff gets x100 scaled 🙃

@games_inu I also found this method as well, which is nice because it's inside Houdini, so any instancing will propagate as well

when it turns into voxels? thought this was just for trees

Has there been any improvements on creating them Via DCC? (blender ect...)

