Crytek-HQ.com

KI Einheit patrouillieren lassen

KI Einheit patrouillieren lassen - Tutorial

Ich erstell hier einfach mal ein Tutorial um einen Gegner bestimmte Wegpunkte patrouillieren zu lassen (ähnlich wie ein Path nur mit mehr Möglichkeiten).


Zunächst wählt ihr euch aus der [RollupBar] unter [Entity -> Grunt] einen Gegner aus.




Platziert diesen durch "Doppelklick" oder bei gedrückter "linken Maustaste" in eure Map.




Nun erstellt ihr euch eure "TagPoints" (Wegpunkte die der Grunt ablaufen soll).

 


Zu Beginn sollten erstmal 3 Stück reichen (die Anzahl spielt aber im Grunde keine Rolle).




Selektiert nun wieder den Grunt und wählt in der [RollupBar] unten bei [FlowGraph] den Button [Create] aus.




Im nächsten Fenster könnt ihr euch für euren [FlowGraph] einen neuen Ordner und/oder Namen anlegen.




Es erscheint nun der [FlowGraph Editor].

Im grauen Feld macht ihr einen Rechtsklick und wählt [Add Selected Entity]




Gleich danach noch mal einen Rechtsklick und [Fit Graph to View] klicken (Natürlich kann man auch das Scrollrad der Maus benutzen).




Nun müssen wir zunächst einige Funktionen hinzufügen. Rechtsklick auf eine freie graue Fläche und folgendes auswählen.

[AI -> GoToSpeedStance] 3x
[AI -> AILookAt] 3x
[Entity -> EntityPos] 6x
[Logic -> Any] 1x
[Misc -> Start] 1x
[Time -> RandomDelay] 3x


(Die [Any] Funktion ist nicht unbedingt notwendig, jedoch ermöglicht sie das der grunt den Weg immer und immer wieder abläuft)

(Das [RandomDelay] ist auch nicht wirklich notwendig. Jedoch macht es das ganze realistischer, da der Grunt dann immer an einem TagPoint zwischen 3 und 5 sec. stehen bleibt bevor er weiter zum nächsten Point geht. Die zeit kann natürlich frei gewählt werden.)

([AILookAt] dient dazu, dass der Grunt sobald er an einem TagPoint angelangt ist, in die Richtung der y Achse des TagPoints schaut. Somit kann man den Grunt ganz gut steuern)


Platziert diese nun etwas übersichtlicher nach eueren wünschen.




Sind alle Sachen platziert verlinkt ihr die Funktionen wie folgt:

Selektiert im "3D Fenster" euren Grunt.

Nun im FlowGraph Fenster ein Rechtsklick auf [AIGotoSpeedStance] und wählt [Assign Selected Entity]




Das macht ihr jetzt bitte bei allen [GoToSpeedStance] und [AILookAt].

Anschließend verlinkt ihr Die "Tagpoints" wie folgt:

Selektiert im 3D Fenster euren TagPoint 1.
Nun im FlowGraph Fenster Rechtsklick auf den ersten EntityPos und wählt wieder [Assign Selected Entity]
Dasselbe mit dem zweiten EntityPos im Flowgraph

Selektiert im 3D Fenster euren TagPoint 2.
Nun im FlowGraph Fenster Rechtsklick auf den dritten EntityPos und wählt wieder [Assign Selected Entity]
Dasselbe mit dem vierten EntityPos im Flowgraph

Selektiert im 3D Fenster euren TagPoint 3.
Nun im FlowGraph Fenster Rechtsklick auf den fünften EntityPos und wählt wieder [Assign Selected Entity]
Dasselbe mit dem sechsten EntityPos im Flowgraph.


Das ganze sollte dann in etwa so aussehen:




Jetzt kommen wir zum Verbinden der einzelnen Funktionen.

Verbindet nun:

[Start - output] -> [Grunt - Enable]
[Grunt - Enabled] -> [Logic - in1]
[Logic - out] -> [RandomDelay(1) - In]
[RandomDelay(1) - Out] -> [AIGotoSpeedStance(1) - Sync]
[AIGotoSpeedStanc(1) - succeed] -> [AILookAt(1) - sync]
[EnityPos(1-1) - pos] -> [AIGotoSpeedStance(1) - pos]
[EnityPos(1-2) - fwdDir] -> [AILookAt(1) - Direction]
[AILookAt(1) - succeed] -> [RandomDelay(2) - In]

[RandomDelay(2) - Out] -> [AIGotoSpeedStance(2) - Sync]
[AIGotoSpeedStanc(2) - succeed] -> [AILookAt(2) - sync]
[EnityPos(2-1) - pos] -> [AIGotoSpeedStance(2) - pos]
[EnityPos(2-2) - fwdDir] -> [AILookAt(2) - Direction]
[AILookAt(2) - succeed] -> [RandomDelay(3) - In]

[RandomDelay(3) - Out] -> [AIGotoSpeedStance(3) - Sync]
[AIGotoSpeedStanc(3) - succeed] -> [AILookAt(3) - sync]
[EnityPos(3-1) - pos] -> [AIGotoSpeedStance(3) - pos]
[EnityPos(3-2) - fwdDir] -> [AILookAt(3) - Direction]
[AILookAt(3) - succeed] -> [Any - in2]


Am besten schaut ihr euch das Bild einfach an:



Danach könnt ihr den [FlowGraph Editor] schließen und die ganze sache mal testen per z.B. [STR+G]. Tutorial von "Pause".

Website Copyright © by 4thDimension Networking ®

Top Desktop version