STU Geschrieben 17. Mai 2021 Melden Share Geschrieben 17. Mai 2021 Hallo zusammen, ich möchte gerne dass mich der Gegner verfolgt, wenn ich mich ihm nähere. Das funktioniert auch erstmal soweit. mein Problem ist, dass "sightRange" bei mir nicht als Radius sondern als Zeit verwendet wird. Also der Gegner verfolgt mich solange wie ich hier den Wert eintrage. Bei 10.0f verfolgt er mich ca. 10sek. Das sollte doch aber nicht so sein. Kann mir jemand vielleicht sagen woran das liegen kann? CheckSphere(Vector3 position, float radius, int layerMask) playerInSightRange = Physics.CheckSphere(transform.position, sightRange, whatIsPlayer); if (playerInSightRange ) ChasePlayer(); private void ChasePlayer() { agent.SetDestination(player.position); } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 17. Mai 2021 Melden Share Geschrieben 17. Mai 2021 Wat? Da ist nirgendwo irgendetwas mit Zeit. Du setzt das Ziel und der Agent rennt da so lange hin, bis er es erreicht hat. Solange der Spieler noch bzw. sobald er wieder in der Range ist, wird das Ziel überschrieben. Wenn der Agent irgendwo stehen anders bleibt als da, wo der Spieler stand, als er zuletzt in der Range war, dann liegt das nicht an diesem Code. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
STU Geschrieben 24. Mai 2021 Autor Melden Share Geschrieben 24. Mai 2021 Hi, ich habe den Fehler leider nicht beseitigen können. Daher habe ich die Scene komplett gelöscht und nochmal von vorne begonnen. Jetzt funktioniert es. Woran es lag kann ich leider auch nicht sagen. Ich habe auch alles nach und nach gelöscht um den Fehler einzugrenzen. War aber bis zum Schluss vorhanden 😅 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.