Hi,
In my game, I have a camera attached to the SpringArm Component. In constructor I’m setting default TargetArmLength and rotation, but later , when I’m changing ship to a bigger one, I want to change the TargetArm length. The problem is that instead of going up, the camera goes backwards. I would appreciate any help.
if (!CameraSpringArm)
{
CameraSpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("CameraSpringArm"));
CameraSpringArm->SetupAttachment(RootComponent);
CameraSpringArm->SetUsingAbsoluteRotation(true); // Don't want arm to rotate when ship does
CameraSpringArm->TargetArmLength = 1200.f;
CameraSpringArm->SetRelativeRotation(FRotator(-80.f, 0.f, 0.f));
CameraSpringArm->bDoCollisionTest = false; // Don't want to pull camera in when it collides with level
}
void ABasePlayerShip::ChangeShipParams(UStaticMesh* StaticMesh, const float SphereRadius, const float NewGunOffset, const float NewArmLength)
{
ShipMeshComponent->SetStaticMesh(StaticMesh);
ShipActivationRange->SetSphereRadius(SphereRadius);
GunOffset.X = NewGunOffset;
CameraSpringArm->TargetArmLength = NewArmLength;
}