![]() |
Delphi-Version: 5
Vektoriales Rechnen
Hey Leute,
folgendes Problem: ich habe eine KI programmiert (einfach eine Figur) die auf den menschlichen Spieler schießen soll. Auf der "Map" sind aber noch Hindernisse (shapes) die man umgehen muss. Die KI soll jetzt NUR schießen, wenn auf der Luftlinie zu dem menschlichen Spieler KEIN Hinderniss, also kein Shape liegt. Wie kann ich das abfragen? LG Edit: Die Überschrift lautet deshalb Vektorielles Rechnen, da ich vermute oder mir gar sicher bin, dass man es darüber lösen muss. |
AW: Vektoriales Rechnen
Klingt nach Wegfindung.
Kennst du diese Tutorials? ![]() ![]() |
AW: Vektoriales Rechnen
Hab mir die zwei Artikel mal durchgelesen, bzw. sie überflogen... das sieht ziemlich kompliziert aus, und meine "Map" jetzt noch in solche Quadrate einzuteilen gestaltet sich bei mir schwierig da die Hindernisse unregelmäßig und unterschiedlich groß sind...
Gibt es da keinen anderen Weg für? Z.B. dass ich mir qusi immer eine Linie von KI zu Spieler denke und überprüfe ob diese ein Shape kreuzt? gibt es da irgendwie eine Möglichkeit für? |
AW: Vektoriales Rechnen
:glaskugel:
Wie genau ist denn das Ganze implementiert? Das ist jetzt die Stelle, wo Quelltext ganz hilfreich ist. |
AW: Vektoriales Rechnen
Pathfinding ist glaube ich nicht der richtige Begriff. Der dient dazu, einen Weg (mit Kurven) von A nach B zu finden.
Um zu erkennen, ob ein Hindernis zwischen zwei Punkten A und B ist, kann man die Strecke von A nach B nehmen und prüfen, ob diese Linie eines der Hindernisse durchquert. Dies kann man damit berechnen, indem man prüft ob die Strecke AB eine der Grenzlininen eines der Hindernisse durchquert. Bspw. wenn ein Hindernis durch Punkte V-W-X-Y-Z definiert ist, prüft man ob die Strecke AB eine der Strecken VW, WX, XY, YZ, ZV schneidet. Wenn ja, würde das Projektil auf das Hindernis treffen. (Vllt. hat Shapes dafür bereits eine Funktion). Damit hast du das Problem auf das Berechnen des Schnittpunkts zweier Strecken reduziert, das sollte einfach genug sein. |
AW: Vektoriales Rechnen
Ich hab ja noch keinen Quelltext... bzw klar, mein Spiel an sich aber ja noch nichts für die Lösung des Problems. Glaube kaum dass das Spiel hierbei hilft... Diese gedachte Linie von der ich gesprochen habe war ja nur eine Idee...
|
AW: Vektoriales Rechnen
|
AW: Vektoriales Rechnen
Zitat:
|
AW: Vektoriales Rechnen
Zitat:
|
AW: Vektoriales Rechnen
hätte jetzt gesagt dass ich irgendwie einen Vektor mache indem ich einfach die beiden Koordinaten voneinander abziehe... aber diese Idee ist noch nicht ganz ausgereift... jemand eine Idee dafür?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz