Ergebnis 1 bis 20 von 30

Thema: Brauche Hilfe: Pathfinding

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #19
    Hier bitte der derzeitige Stand des Scriptes:
    Code:
          distance_x = (node.x - to_tile_x).abs
          distance_y = (node.y - to_tile_y).abs
          approx_distance = distance_x + distance_y
          #the exact costs to reach this node
          exact_value = current_node.exact_value + node.cost
          #the approximated costs from this node to the end node
          approx_value = exact_value + approx_distance * Node::MINIMAL_SPEED_FACTOR
    In diesem Zustand funktioniert das Pathfinding in den meisten Fällen sehr gut, nur manchmal neigen die Figuren zu seltsamen Zickzackmustern in kleinem Maßstab welche die eine oder andere überflüssige Diagonalbewegung beinhalten.
    In sehr seltenen Fällen (und das ist leider auch schwer reproduzierbar) scheinen sie sogar kurzzeitig in die falsche Richtung laufen zu wollen.

    Und so sieht das Script mit den von dir angesprochenen Veränderungen aus:
    Code:
          distance_x = (node.x - to_tile_x).abs
          distance_y = (node.y - to_tile_y).abs
          approx_distance = distance_x
          approx_distance = distance_y if distance_y > distance_x
          #the exact costs to reach this node
          exact_value = current_node.exact_value + node.cost
          #the approximated costs from this node to the end node
          approx_value = exact_value + approx_distance * Node::MINIMAL_SPEED_FACTOR
    Nun scheinen sich die Figuren im Grunde nurnoch diagonal fortbewegen zu wollen sofern es möglich ist.

    Falls du es einmal selbst ausprobieren möchtest so könnte ich dir das Projekt in derzeitigem
    Zustand auch einmal zukommen lassen, nur damit du siehst welche Art von "eigenartiger" Bewegung ich meine.

    Edit:
    Ich habe nocheinmal die alte Version, also das erste der beiden Scripte in diesem Beitrag, getestet, es scheint nun soweit zu funktionieren wie es sollte.
    Ich scheine wahrscheinlich noch irgendetwas anderes bei meiner letzten Arbeit verändert zu haben an das ich mich nichtmehr so recht errinern kann. Auf jedenfall sind die angesprochenen Probleme somit scheinbar verschwunden.
    Ich werde das Script fürs erste dabei belassen und weitere Tests durchführen.

    Danke nocheinmal für deine Zeit.

    Geändert von Cornix (04.06.2011 um 19:34 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •