Ich arbeite gerade an einem Spiel in der Unreal Engine und möchte, dass meine Charaktere physisch auf einen Treffer reagieren, ohne jeden Treffer zu animieren. Gibt es eine Möglichkeit, Animationen auf einem Schauspieler abzuspielen und gleichzeitig eine physikalische Simulation durchzuführen?
Nach Analyse deines Ziels empfehle ich die Implementierung eines physikbasierten Systems, das deinen Charakteren beim Treffer eine Kraft verleiht. Dies kann mithilfe der AddForce-Funktion in der Unreal Engine erreicht werden.

Hier ist ein Beispielcode, der zeigt, wie man eine physikalische Simulation auf Schauspielern in der Unreal Engine implementiert:

//in deiner Charakterklasse

UFUNCTION() void OnHit(AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) { //Kraft in Richtung des Treffers anwenden FVector ForceDirection = -Hit.ImpactNormal; ForceDirection.Normalize(); MyMeshComponent->AddForce(ForceDirection * Hit.Impulse, NAME_None, true); }

Im obigen Codebeispiel wird die Funktion OnHit ausgelöst, wenn der Charakter getroffen wird. Die Funktion AddForce wird dann aufgerufen, um eine Kraft in Richtung des Treffers anzuwenden, wodurch der Charakter physisch auf den Treffer reagiert.

Mit diesem Ansatz kannst du ein realistischeres und dynamischeres Spiel erstellen, ohne jeden Treffer animieren zu müssen. Ich hoffe, dies hilft dir, dein Ziel zu erreichen!