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

1

13.07.2014, 21:49

Cryengine 3 selbstständig laufende AI

Hey liebe Community,
ich habe wieder mal eine Frage zur Cryengine 3. Wie immer zuerst 2h mit googlen verbracht aber nicht gefunden was ich wollte.
Ich habe eine Navigation Area erstellt, geht wunderbar. Wenn der grunt mich sieht bewegt er sich auch. Genau da liegt mein Problem: wie kann ich den Grunt dazu bringen,
sich zu bewegen bevor er mich gesehen hat. Sodass er einfach random rumläuft bis er mich sieht und dann normal verfährt und mich angreift. Ich weiss das ich auch Wegpunkte setzten kann,
die er auch zufällig ansteuert. So würde ich mir aber etwas Arbeit sparen und es wäre vielleicht etwas realistischer wenn der Gegner zufällig herumläuft und einen sucht.
Ist aber auch nicht so schlimm wenns nicht geht.

Cranberry

Treue Seele

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

3

14.07.2014, 13:20

:D Nein war nicht so schwer das zu googeln. Das hatte ich auch schon gefunden, ich meinte bloß, dass er zu jedem beliebigen Punkt hingeht, ohne dass man vorher überall Tagpoints verteilt. Wird wohl nicht gehen, trotzdem danke.

4

14.07.2014, 19:30

Mhm, das ist eigentlich nicht ohne Tagpoints vorgesehen. Dennoch geht es, sogar einfach mithilfe des flowgraph.

Ich hab mal etwas rumgebastelt:



Das Funktioniert so, auch wenn es verbesserungswürdig ist ;)
Hinweise: RandomWalkSpawn ist ein Tagpoint, der im Zentrum der NavigationArea von deinem Nav Agent des npc liegen sollte.
Die Min / Max werte der Random Nodes geben ein rechteckiges Limit an.
Wenn du das auf die Navigation Area begrenzen willst, musst du einen weiteren Tagpoint hinzufügen, diesen erst moven und danach mit Entity:CheckArea solange prüfen, bis der innerhalb der Area liegt.

Mit nem lua script wird das sicherlich einfacher funktionieren und die MBTs sind leider noch nicht ganz so ausgereift, dass sie sich dafür eignen würden.
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

Werbeanzeige