Material showing black on Octahedral Imposter

So I created an Octahedral Imposter for my tree canopy using a revised version of Ryan Brucks plugin: Post Page

All works well when I drag an instance of the static mesh (which has the generated imposter mesh imported as an LOD). The mesh pops in and out perfectly and matches the lighting of the scene.

HOWEVER, when the mesh is added to the world via the Foliage painting system, or as a mesh within a custom scatter Blueprint I created, the imposter mesh’s material is just rendered black.

This is obviously because the mesh is now part of an Instanced or Hierarchical Instanced Static Mesh system.

I proved this by modifying my scatter BP to simply add a Static Mesh Component instead of an ISM or HISM Component. It worked fine when it was just a Static Mesh Component.

I am using Unreal 5 so I thought it might be a shader issue as a similar thing happens when there is a setting in a material that isn’t compatible with Nanite.

To clarify, the mesh in question isn’t using Nanite.

I also checked the settings for the generated imposter material and the only flag I could see that would be relevant is the ‘Use with Instanced Static Meshes’ which was ticked by default.

I also tried using Engine Content > ArtTools > RenderToTexture > Blueprints as documented here: Render 3D Imposter Sprites | Unreal Engine Documentation

But this doesn’t seem to work with UE5. When you hit the render command to take the High Resolution Screenshot, it disables the ‘Include Buffer Visualisation Targets’ tick-box and just writes the Base Color. (So you might want to update that).

I really am stumped. Can anyone think of something I might have missed to get the imposters working within an ISM or HISM system?

Thanks in advance.

1 Like

I think I have tracked the issue down to the Pixel Depth Offset.

Lowering the value to 0 in the Imposter Material Instance at least shows the Basecolor on one of the sides, but from the rear, still black.

2 Likes