Hello !
I don’t understand : when my pc is plugged in my enemies are slower than when it isn’t ! However, my tick function seems to be framerate independent.
Here’s my function :
void AEnnemi::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
APersoPrincipal* persoPrincipal = Cast<APersoPrincipal>(UGameplayStatics::GetPlayerPawn(GetWorld(), 0));
if (!persoPrincipal)
return;
FVector vecteurVersJoueur = persoPrincipal->GetActorLocation() - GetActorLocation();
float distance = vecteurVersJoueur.Size();
FVector vecteurVersJoueurUnitaire = vecteurVersJoueur / distance;
if (distance < portee)
{
if (!tempsDepuisDernierCoup)
{
Attaquer(persoPrincipal);
}
tempsDepuisDernierCoup += DeltaTime;
if (tempsDepuisDernierCoup > VitesseAttaque)
tempsDepuisDernierCoup = 0;
}
else
{
if (distance < distanceVision && FMath::RadiansToDegrees(acosf(FVector::DotProduct(vecteurVersJoueurUnitaire, GetActorForwardVector()))) < angleVision)
{
AddMovementInput(vecteurVersJoueurUnitaire, vitesse*DeltaTime);
FRotator rotationVersJoueur = vecteurVersJoueur.Rotation();
rotationVersJoueur.Pitch = 0;
RootComponent->SetWorldRotation(rotationVersJoueur);
}
}
}
I don’t see a step where it would be frame rate dependent, maybe in the super function ? Do I need to use Timer ?
Thanks for your help !