I have looked around these forums but have had no luck finding out information on how to make skeletal mesh animations continue to play while not being rendered (they are off screen).
reason I need to render them off screen is because I have a skeletal mesh bone with a directional light attached which needs to continue to move while player is not looking at it.
I’m very happy to say I know exactly what you’re trying to do and here’s solution
in your skeletal mesh actor class:
void AVictoryCirclePlatform::PostInitializeComponents()
{
Super::PostInitializeComponents();
if (SkeletalMeshComponent)
{
/** This is update frequency flag even when our Owner has not been rendered recently
*
* SMU_AlwaysTickPoseAndRefreshBones, // Always Tick and Refresh BoneTransforms whether rendered or not
* SMU_AlwaysTickPose, // Always Tick, but Refresh BoneTransforms only when rendered
* SMU_OnlyTickPoseWhenRendered, // Tick only when rendered, and it will only RefreshBoneTransforms when rendered
*
*/
//UPROPERTY(EditAnywhere, AdvancedDisplay, BlueprintReadWrite, Category=SkeletalMesh)
//TEnumAsByte SkinnedMeshUpdateFlag;
SkeletalMeshComponent->SkinnedMeshUpdateFlag = SMU_AlwaysTickPoseAndRefreshBones;
}
Editor Way
you can also use advanced properties of skeletal mesh actor, click on instance in world and press F4 or make a blueprint of skeletalmeshactor
I’ve got a rigged body animated in my matinee sequence (animated in Max and imported via FBX).
“mesh component update…” is set to “always tick pose and refresh bones” but once my skelmesh gets too close to camera is blinks out never to return! It’s moving pretty quick but when i disable camera movement I can see it play all way through.
This is an old Archive post from our beta users, and may contain outdated information. If you’d like, you can open a new post in Using UE4 section and our users can address issue with current information. Feel free to link to this post for reference.