MaterialBillboardComponent culling only takes into account visibility of center point

It culls away as soon as the center point is not visible, regardless of the size (does not matter if it’s specified in screen space or not). Rendering->Bounds Scale or Rendering->Treat as background for occulsion has no effect.
If not possible to cull it away based on the actual sprite bounds, is it possible so it just never culls ? I’m using it for a moon and it pops in and out of existence depending on if the center point is visible or not.

FBoxSphereBounds UMaterialBillboardComponent::CalcBounds(const FTransform & LocalToWorld) const
{
const float BoundsSize = 32.0f;

well that’s probably the problem. It’d be nice if it calculated the actual bounds from BaseSize(both for world and screen space) and then scaled by BoundsScale please.

Hey rajkosto -

I have entered a bug report in with our engineers to look at this issue. (UE-4725) I will let you know when I have further information about a resolution.

Thank You

Eric Ketchum

Yes it’s annoying, for now I’m using a temporary solution from the ‘Content Examples’ → ‘Math_Hall’ level.

It’s basically a ‘Plane’ shaped static mesh with an ‘always camera facing’ material, the example is near the far end of the math hall, hope this helps.

Was this resolved? I am having the same problem (on 4.6.1).

Hey Mielke -

This is still an ongoing issue and looks to be backlogged for a bit, but it has been assigned to an engineer and as we work on it I will keep everyone here informed.

Thank You

Eric Ketchum

Hello,

Perhaps an option if you compile your engine yourself.

FBoxSphereBounds UMaterialBillboardComponent::CalcBounds(const FTransform& LocalToWorld) const
{
	const float BoundsSize = LocalToWorld.GetMaximumAxisScale();
	return FBoxSphereBounds(LocalToWorld.GetLocation(),FVector(BoundsSize,BoundsSize,BoundsSize),FMath::Sqrt(3.0f * FMath::Square(BoundsSize)));
}

So you could control the bounding box size by the actors-scale.

This would be certainly only a workaround :slight_smile:

seems like latest build from github has fix for it.

https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Runtime/Engine/Private/Components/MaterialBillboardComponent.cpp

The fis for this issue is currently slated for 4.10 release and if you would like to test the implementation early it is available in the Current Preview Release of 4.10 Preview 4 and through this Commit on Github:

https://github.com/EpicGames/UnrealEngine/commit/0a75693941f2823d8368cdd3a108f8c09a7d3855

Thank You

Eric Ketchum