GameObjectAlignToGround(IReadOnlyListVector3, Single, Single, Type) Methode
Richtet die Instanz (z.B. ein Fahrzeug) am Boden unter den angegebenen Kontaktpunkten aus und setzt sie so auf den Boden, dass kein Kontaktpunkt im Boden steckt
Namensraum: KWEngine3.GameObjectsAssembly: KWEngine3 (in KWEngine3.dll) Version: 3.0.9.5+57af0b8dc8253ca4e9d9803fd04a0124940de651
public bool AlignToGround(
IReadOnlyList<Vector3> contactPoints,
float blendFactor = 1f,
float maxStepHeight = 0,5f,
params Type[] typelist
)
- contactPoints IReadOnlyListVector3
- Mindestens drei Kontaktpunkte (z.B. Unterkanten der Reifen) als Array oder Liste, relativ zur Position der Instanz, in Welteinheiten und entlang ihrer lokalen Achsen (x = rechts, y = oben, z = vorn). Es handelt sich nicht um Ergebnisse von Strahlentests: Den Boden unter den Kontaktpunkten misst die Methode selbst.
- blendFactor Single (Optional)
- Anteil der Drehung, der sofort ausgeführt wird (0 = keine Änderung, 1 = sofort vollständig ausrichten, z.B. 0.2f zum Glätten)
- maxStepHeight Single (Optional)
- Größter Höhenunterschied, der pro Aufruf nach oben oder unten ausgeglichen wird (Standard: 0.5f)
- typelist Type
- Klassen der Objekte, die als Boden gelten (ohne Angabe: alle Kollisionsobjekte)
Booleantrue, wenn die Instanz ausgerichtet und auf den Boden gesetzt wurde
Die Neigung entspricht der Ebene, die am besten zu den Bodenpunkten unter den Kontaktpunkten passt (Blickrichtung von oben bleibt erhalten).
Danach wird die Instanz senkrecht so verschoben, dass der tiefste Kontaktpunkt genau auf dem Boden liegt und kein anderer darin steckt (auf unebenem Boden schweben einzelne Kontaktpunkte daher leicht).
Als Boden zählen Terrain-Objekte und Kollisionsobjekte der angegebenen Klassen (ohne Angabe: alle Kollisionsobjekte). Damit Kollisionsobjekte gefunden werden, muss die Instanz selbst ein Kollisionsobjekt sein.
Liegt der Boden mehr als maxStepHeight über oder unter den Kontaktpunkten (z.B. während eines Sprungs oder vor einer Wand), wird nichts verändert.