Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

marfi

Treue Seele

  • »marfi« ist der Autor dieses Themas

Beiträge: 100

Wohnort: Schwerte

  • Private Nachricht senden

1

18.07.2011, 08:32

Bewegung von Einheiten Gruppen

Hallo Leute,

ich brauche mal einen kleinen Denkanstoß. Wie würdet ihr Gruppen von EInheiten sinnvol bewegen?

Ich dachte daran es ähnlich dem swarming zu machen, aber die Bewegungen sind etwas zu hektisch.

Eventuell über eine Schablone für die Anordnung während des laufens, mit ein paar Zufallsabweichungen:



Hat jemand einen kleinen Denkanstoß für mich?

Gruß

Marfi

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

18.07.2011, 09:39

Du kannst auch eine Einheit als Haupteinheit festlegen. An dieser orientieren sich nun alle anderen Einheiten. Jeder bekommt einen Offset zu dieser Einheit und dann einfach diese Haupteinheit bewegen, wobei die anderen Einheiten versuchen immer wieder an ihre Position relativ zur Haupteinheit zu kommen. Das ganze nennt sich dann "offset pursuit" und gehört zu den steering behaviors.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

marfi

Treue Seele

  • »marfi« ist der Autor dieses Themas

Beiträge: 100

Wohnort: Schwerte

  • Private Nachricht senden

3

18.07.2011, 19:16

Vielen Dank für deine Antwort!

Die Idee ist super! Ich muss mir dann nur noch überlegen, wie ich das in Kombination mit dem Pathfinder sinnvoll umsetze. Es soll ja keine Entenfamilie werden ;)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

18.07.2011, 19:40

Den Offsetwert musst du nicht als Abstand nach hinten sehen. Genau so gut kann sich der Hauptagent auch in der Mitte der Truppe befinden und die anderen um ihn herum. Du kannst ja einfach einen Vektor als Offset nehmen. Dieser Vektor ist dann relativ zur Blickrichtung und du kannst dir eigene Formationen erstellen. Dadurch laufen sie nicht hintereinander her sondern schön als Gruppe.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

valentin

Treue Seele

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

5

18.07.2011, 21:01

Allerdings musst noch überprüfen, ob die einzelnen Einheiten auch dort laufen können, wo sie laufen. Sonst laufen die zum Schluss in ner Schlucht durch das Gestein durch ;).
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

19.07.2011, 00:55

Was beim Offset-Pursuit aber normalerweise auch beachtet werden sollte. Bzw Offset-Arrive oder welche Version man davon dann nun umsetzt. An sich entwickelt man ja nur einmal die Funktion einen bestimmten Punkt zu erreichen und alle anderen bekommen einfach für das Ziel den Offset-Wert. Da der Algorithmus zum erreichen ja dann Kollision behandeln sollte, trifft dies auf alle Agenten zu. Ist ja an sich für jeden aus der Gruppe das gleiche Verfahren, nur dass die Zielpunkte der Gruppe sich an einem Hauptagenten orientieren.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

marfi

Treue Seele

  • »marfi« ist der Autor dieses Themas

Beiträge: 100

Wohnort: Schwerte

  • Private Nachricht senden

7

19.07.2011, 20:04

@Schorsch

vielen Dank für deine Ausführungen. Ich denke ich muss wirklich für jede entity einen eigenen Pfad suchen, denn das Terrain wird in der Kollisionskontrolle nicht berücksichtigt. Ich werde das mal testen, Eventuell braucht die Abhängingkeit vom "Anführer" gar nicht so stark sein. Eventuell könnte ich bei zu großer Offsetabweichung der Pfade versuchen die Pfade anzugleichen. Das mache ich aber von Zeitaufwand abhängig.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

8

19.07.2011, 20:24

Wie läuft deine Bewegung denn ab? allein auf einem Graphen oder?
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

marfi

Treue Seele

  • »marfi« ist der Autor dieses Themas

Beiträge: 100

Wohnort: Schwerte

  • Private Nachricht senden

9

20.07.2011, 09:01

Die Bewegung läuft grundsätzlich über einen Graphen. Die Kollision mit anderen Objekten wird extra geprüft. Stehende Objekte will ich später im Graphen Berücksichtigen. (Als Versuch, Gebäude und Obstacles sowieso)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

10

20.07.2011, 11:00

Wenn du dir die Wegfindung für einzelne Einheiten "sparen" willst dann kannst du dir ja sonst mal Navigation-Meshs angucken. Ist vielleicht eine Alternative.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige