As it turns out, I couldn’t let it go. But at least I fixed it now.
The problem lies in two material functions that don’t use a safe normalize to fallback to a sane value when the tangent math reaches a degenerate value, namely the bottom of the sphere.
This is for Unreal 5.3.2 and similar, as I’ve read somewhere impostor code and its workflow was overhauled in future versions.
The first unsafe normalization happens in the function ImposterFrameTransform.
The node labeled X (should be the same on your side if using 5.3.2) is usually a standard Normalize node. Swap it for a SafeNormalize. The value that plugged into the old Normalize goes into Vector and the Constant3Vector 0,1,0 is used as the default. That will let the system fallback to the standard look up perspective when the camera is at the bottom of the sphere and the math breaks down.
If you don’t care about keeping vanilla engine material functions intact, you can simply overwrite the material function. I created a personal version of it suffixed as _Fixed. If you do that, you’ll have to replace the functions in 4 places. Three of them live in the Impostor “root level” material function and one in Sprite_PositionBased. I ended up replacing those functions with _Fixed versions of their own, but again: you can get away with simply overwriting them if you don’t care about keeping the vanilla versions.
That alone could fix your impostors, but the degenerate math also shows up in the material function used for mobile overrides: Impostor_SingleFrameVersion.
Same idea, the node labeled X is normally a standard Normalize: swap it for a SafeNormalize and feed it the 0,1,0 constant as the default. This function also had the Max node used to clamp the Z value of the Frame View Transform. The idea was to never allow Z to be 0. I replaced it with this:
I’m still using the Max node to prevent a zero value for Z, but I now let Z be negative. The idea is to replicate the fix already mentioned in this thread for the mobile version. Since this is mobile code and my game is targeting PC, I haven’t tested it. So if you experience any funny business while building a mobile impostor, try reverting this first or simply passing Z directly over.


