Hey im trying to figure out why this doesn’t work. What I want to do is move the player in relation to a value input coming from an animation curve, this works on the PlayerCharacter.cpp, although, the animations have the value that I want from the curve. (this prob isn’t the best way but oh well). The Montages and movement is placed on the cpp of the child actor attached to the APlayerCharacter (ABaseWeapon). I want to get the curves and have a reference to the equipping character (var EquippedCharacter in BaseWeapon.cpp). I don’t want to use “AddActorLocalOffset()” since collision from the capsule component in a Character doesn’t get considered.
// BaseWeapon.cpp
void ABaseWeapon::Tick(const float DeltaTime) {
Super::Tick(DeltaTime);
// This doesn't work
EquippedCharacter->AddMovementInput(EquippedCharacter->GetActorForwardVector() ,EquippedCharacter->GetMesh()->GetAnimInstance()<>GetCurveValue(FName("Movement Delta (Forward)")));
}
// PlayerCharacter.cpp
void APlayerCharacter::Tick(float DeltaTime) {
Super::Tick(DeltaTime);
// This works
AddMovementInput(GetActorForwardVector(), GetMesh()->GetAnimInstance()->GetCurveValue(FName("Movement Delta (Forward)")));
}