Hi, Unreal gurus,
Now that I'm especially interested in animation architecture of Unreal.
I decide to implement my own AnimInstance to gain more insight.
Here are what I do to trigger my problem:
1. Follow Rama's helpful article at https://wiki.unrealengine.com/Animat...a_Tick_Updates to create a UAnimInstance and a animation blueprint.
2. Add a simple function named "setDefaultBlendSpace" as the following:
3. Connect the setDefaultBlendSpace() to BeginPlay in Animation blueprint to pass a BlendSpace1D.
Problem:
BlueprintUpdateAnimation( At least in Blueprint ) is NOT trigger anymore to update the pose.
Is USkeletalMeshComponent::PlayAnimation() a blocking call or something?
All I want to do is just set a blend space as idle pose, and pass speed parameter later.
Or do you recommend some other approach to do similar thing in C++?
Thank you.
Now that I'm especially interested in animation architecture of Unreal.
I decide to implement my own AnimInstance to gain more insight.
Here are what I do to trigger my problem:
1. Follow Rama's helpful article at https://wiki.unrealengine.com/Animat...a_Tick_Updates to create a UAnimInstance and a animation blueprint.
2. Add a simple function named "setDefaultBlendSpace" as the following:
Code:
void UAnimInst_Mannequin::setDefaultBlendSpace( UBlendSpace1D *input ) { blendspaceDefault = input; if( mesh ) { GEngine->AddOnScreenDebugMessage( -1, 10.0f, FColor::Green, "Start playing BlendSpace1D" ); mesh->PlayAnimation( blendspaceDefault, true ); // true: do LOOP } }
Problem:
BlueprintUpdateAnimation( At least in Blueprint ) is NOT trigger anymore to update the pose.
Is USkeletalMeshComponent::PlayAnimation() a blocking call or something?
All I want to do is just set a blend space as idle pose, and pass speed parameter later.
Or do you recommend some other approach to do similar thing in C++?
Thank you.
Comment