FlowField Klasse

Klasse zum Erstellen einer FlowField-Instanz für KI-Navigation

Definition

Namensraum: KWEngine3.Helper
Assembly: KWEngine3 (in KWEngine3.dll) Version: 3.0.5.0+4e60eeea000a35726a964061ff0b345d8a5a5812
C#
public class FlowField
Inheritance
Object    FlowField

Konstruktoren

FlowField(Int32, Int32, Single, Int32, FlowFieldMode, Type) Erzeugt ein FlowField für die angegebenen GameObject-Typen
FlowField(Vector3, Int32, Int32, Single, Int32, FlowFieldMode, Type) Erzeugt ein FlowField für die angegebenen GameObject-Typen
FlowField(Single, Single, Single, Int32, Int32, Single, Int32, FlowFieldMode, Type) Erzeugt ein FlowField für die angegebenen GameObject-Typen

Eigenschaften

AllowedDirections Gibt an, welche Richtungsanweisungen vom Flowfield ausgegeben werden (Standard: CardinalAndIntercardinalDirections)
AllowPartialNesting Erfragt oder setzt, ob beim Scan nach Objekten auch die Objekte zählen, die sich eine Kante mit einer Flowfield-Zelle teilen (Standard: true)
CellRadius Radius einer Zelle
Center Mittelpunkt der FlowField-Instanz
GridCellCount Anzahl der Zellen im Feld (in allen drei Dimensionen, wobei nur X- und Z-Dimension zählen)
HasTarget Gibt an, ob derzeit ein Zielpunkt im FlowField gesetzt ist
IsVisible Gibt an, ob die Instanz zu Debugging-Zwecken sichtbar gemacht werden soll
Mode Messmodus für die Erstellung der Streckenkosten (Simple oder Box)
Name Erfragt oder setzt den Namen der Instanz
TargetPosition Gibt die letztbekannte Zielposition innerhalb des Feldes an

Methoden

Contains(Vector3) Prüft, ob eine Position innerhalb des Feldes liegt
Contains(GameObject, Boolean) Prüft, ob ein Objekt ansatzweise innerhalb des Feldes liegt
ContainsXZ(Vector3) Prüft anhand der XZ-Achsen, ob eine Position innerhalb des Feldes liegt
ContainsXZ(GameObject, Boolean) Prüft anhand der XZ-Achsen, ob ein Objekt ansatzweise innerhalb des Feldes liegt
GetBestCardinalDirectionForPosition Gibt die bestmögliche Bewegungsrichtung als Himmelsrichtung gemäß der aktuellen Position zurück
GetBestDirectionForPosition Gibt die bestmögliche Bewegungsrichtung gemäß der aktuellen Position zurück
GetCellForWorldPosition Erfragt Details zu der FlowField-Zelle, die der übergebenen Weltposition entspricht
GetLinearDirectionForPosition Gibt die (normalisierte) Luftlinienrichtung von der angegebenen Position zum aktuellen Ziel zurück.
IsPositionInsideDestinationCell Gibt an, ob die übergebene Position in der Zielzelle liegt (falls festgelegt)
SetAllowedDirections Setzt die vom Flowfield zu verwendenden Himmelsrichtungen (Standard: CardinalAndIntercardinal)
SetPosition Aktualisiert den Mittelpunkt der FlowField-Instanz (erzeugt eine Verschiebung des FlowFields)
SetTarget Berechnet die Richungsanweisungen im gesamten FlowField für die neue Zielposition
UnsetTarget Löscht ein aktuell festgesetztes Ziel im FlowField
Update Führt einen Scan über alle im FlowField liegenden Objekte durch und berechnet die Wegkosten pro Knoten neu

Siehe auch