Download

Disable reduced SkelMesh anim FPS when out of frame

I have a skelmesh anim for rendering a fish in my fishing simulation.

I attach a fishing line mesh to a socket on the fish’s mouth so the line moves as the fish fights.

The trouble is, when the fish is out of sight, it’s animation reduces in FPS, leading the fishing line jerking around at a low framerate.

Does anyone know how to disable the dropped FPS to the animation?

Edit: Increasing the BoundScale (so that the bounds are in the player’s view) works, but this is heavy-handed, and I can’t control this through script. Any ideas on how to set it to ignore occlusion bounds checks?

Have you tried this in pawns?

/**If MaxDistanceFactor goes below this value (and it is non 0), start playing animations at a lower frame rate
var() float AnimationLODDistanceFactor;

/** Rate of update for skeletal meshes that are below AnimationLODDistanceFactor. For example if set to 3, animations will be updated once every three frames.
var() int AnimationLODFrameRate;

/** High (best) DistanceFactor that was desired for rendering this SkeletalMesh last frame. Represents how big this mesh was in screen space
var const float MaxDistanceFactor;

there’s also a bool UpdateSkelWhenNotRendered (or something along those lines) which might help

Thanks for suggestions. I tried all those settings and the animation still played at a reduced rate.

I ended up just dynamically swapping out the skelmesh component for one with a very large bounding box, just for the player holding the fishing rod, which has fixed the issue.

Seems like a bit of a hack though, as i would have expected some of those other settings to work.

UpdateSkelWhenNotRendered this is important if you want traces to work… if not there… well what chosker said.